[V850]FatFsを動かす
以下すん様のHPを参考に、またChaN様のFatFsサンプルPRJを有難く頂き動作した。
http://ekousaku.web.fc2.com/FatFs.html
手順
・ChaN様HPより、V850サンプルPRJを入手(ffsample.zip)
→ ffsample\v850es\v850test.png(下図)
を参照し回路を組む。半田が面倒なので、ブレッドボードで組んだ。

<回路メモ>
- すん様指摘の通り、L1(インダクタ22uH)、C1(キャパシタ10uF)は接続。
※ インダクタは秋月の電源用インダクタ(4個入り100円、物は水色)購入。
- PCからUSB経由で電源供給。V850以外のSDカード、ブレッドボードへは、
GND = V850 CON2/40ピンから供給
VCC = V850 CON3/1ピンから3.3V供給
- 47kOhm抵抗が無くて最初は10k x 4個=40kOhmでやってたが、動作せず。
(手順が違ってただけ?)47kに変えたら、以下の通り動作した。
・ChaN様サンプルPRJ内のソースそのままをPM+でビルド。(一部ファイルパスが違う事は先日書いた)
・先日の記事の通り、FPL.exeで焼き込み。(焼き込みモード=ジャンパをショート)
・USBケーブル外す > ジャンパ設定ショート止める > USBケーブルつなぐ
※ COMポート(My PCではCOM3)がデバイスマネージャに表示されない場合は、
以下を実行すると認識された。
Interface 2007/5月のCD-ROM \tool\portconfig850\portconfig850.exe
・TeraTerm起動。設定は以下。
ポート = COM3
ボーレート = 115200
データ = 8bit
パリティ = none
ストップ = 1bit
フロー制御 = なし
・TeraTerm上でEnterを押すとプロンプト「>」が返る。
・ここからはすん様HPの手順通り、真似ただけ。文章もそのまま。
> di 0 // SDカードアクセス前の必須の初期化コマンド
--> rc=0 が返った。
> fi 0 // SDカードアクセス前の必須の初期化コマンド
--> rc=0 FR_OK が返った。
> ds 0 // ディスクステータス表示
--> 何やら出てきた。
> dd 0 0 // セクターを覗く。2つめの0がセクター番号。
> fl // ディレクトリ、ファイル一覧を見る。
> fk temp // ディレクトリを作ってみる。tempという名前。
> fl // ディレクトリが出来たか確認。
--> 確かにtempというディレクトリが出来た。でも日付はデタラメ。
> fo 10 a // ファイルを作ってみる。ファイル名はa。ファイルモードは
FA_WRITE|FA_CREATE_ALWAYS。意味は「書き込みモード。
同名ファイルある場合は、サイズ0にしてから開く」。
--> flで確認すると、ファイルが作成されてた。
> fw 25 12 // ファイルに何か書いてみる。25バイト分、値12を書く。
> fc // そして、ファイルを閉じる。閉じるとフラッシュされSDカードに
書き込まれるらしい。
> fo 1 a // 書いたファイルを今度は読んでみるため、ファイルをオープン。
ファイルモードはFA_READ|FA_OPEN_EXISTING。意味は、
「読み込みモード。既存のファイルを開きます」。
以下すん様HP真似して実験途中。
------------------------------------
ファイルポインタを0に戻しておきます。(fo直後は不要、fd2回目は必須)、ファイルポインタとはファイルのどこをアクセスするか、ファイル先頭から何バイト目かをあらわします。fd、fw、frなどをおこなうとアクセスしたバイト数分だけ値が加算されます。それで、もう一度頭からアクセスする場合は0に戻す必要があるわけです。なおディスクのFATとは関係ありません。
>fe 0
ファイルポインタを0に戻しておきます。(fo直後は不要、fd2回目は必須)、ファイルポインタとはファイルのどこをアクセスするか、ファイル先頭から何バイト目かをあらわします。fd、fw、frなどをおこなうとアクセスしたバイト数分だけ値が加算されます。それで、もう一度頭からアクセスする場合は0に戻す必要があるわけです。なおディスクのFATとは関係ありません。
>fe 0
現在のファイルポインタから内容をダンプします。25バイト表示させます。
>fd 25
バッファに読み込んでから表示させることもできます。ファイルポインタを0に戻し、バッファを0でクリアして、バッファに25バイト読み込みます。
>fe 0
>bf 0
>fr 25
バッファをダンプします。0はバッファアドレスで、バッファのどこからみるかです。
>bd 0
最後にファイルを閉じます。
>fc
http://ekousaku.web.fc2.com/FatFs.html
手順
・ChaN様HPより、V850サンプルPRJを入手(ffsample.zip)
→ ffsample\v850es\v850test.png(下図)
を参照し回路を組む。半田が面倒なので、ブレッドボードで組んだ。

<回路メモ>
- すん様指摘の通り、L1(インダクタ22uH)、C1(キャパシタ10uF)は接続。
※ インダクタは秋月の電源用インダクタ(4個入り100円、物は水色)購入。
- PCからUSB経由で電源供給。V850以外のSDカード、ブレッドボードへは、
GND = V850 CON2/40ピンから供給
VCC = V850 CON3/1ピンから3.3V供給
- 47kOhm抵抗が無くて最初は10k x 4個=40kOhmでやってたが、動作せず。
(手順が違ってただけ?)47kに変えたら、以下の通り動作した。
・ChaN様サンプルPRJ内のソースそのままをPM+でビルド。(一部ファイルパスが違う事は先日書いた)
・先日の記事の通り、FPL.exeで焼き込み。(焼き込みモード=ジャンパをショート)
・USBケーブル外す > ジャンパ設定ショート止める > USBケーブルつなぐ
※ COMポート(My PCではCOM3)がデバイスマネージャに表示されない場合は、
以下を実行すると認識された。
Interface 2007/5月のCD-ROM \tool\portconfig850\portconfig850.exe
・TeraTerm起動。設定は以下。
ポート = COM3
ボーレート = 115200
データ = 8bit
パリティ = none
ストップ = 1bit
フロー制御 = なし
・TeraTerm上でEnterを押すとプロンプト「>」が返る。
・ここからはすん様HPの手順通り、真似ただけ。文章もそのまま。
> di 0 // SDカードアクセス前の必須の初期化コマンド
--> rc=0 が返った。
> fi 0 // SDカードアクセス前の必須の初期化コマンド
--> rc=0 FR_OK が返った。
> ds 0 // ディスクステータス表示
--> 何やら出てきた。
> dd 0 0 // セクターを覗く。2つめの0がセクター番号。
> fl // ディレクトリ、ファイル一覧を見る。
> fk temp // ディレクトリを作ってみる。tempという名前。
> fl // ディレクトリが出来たか確認。
--> 確かにtempというディレクトリが出来た。でも日付はデタラメ。
> fo 10 a // ファイルを作ってみる。ファイル名はa。ファイルモードは
FA_WRITE|FA_CREATE_ALWAYS。意味は「書き込みモード。
同名ファイルある場合は、サイズ0にしてから開く」。
--> flで確認すると、ファイルが作成されてた。
> fw 25 12 // ファイルに何か書いてみる。25バイト分、値12を書く。
> fc // そして、ファイルを閉じる。閉じるとフラッシュされSDカードに
書き込まれるらしい。
> fo 1 a // 書いたファイルを今度は読んでみるため、ファイルをオープン。
ファイルモードはFA_READ|FA_OPEN_EXISTING。意味は、
「読み込みモード。既存のファイルを開きます」。
以下すん様HP真似して実験途中。
------------------------------------
ファイルポインタを0に戻しておきます。(fo直後は不要、fd2回目は必須)、ファイルポインタとはファイルのどこをアクセスするか、ファイル先頭から何バイト目かをあらわします。fd、fw、frなどをおこなうとアクセスしたバイト数分だけ値が加算されます。それで、もう一度頭からアクセスする場合は0に戻す必要があるわけです。なおディスクのFATとは関係ありません。
>fe 0
ファイルポインタを0に戻しておきます。(fo直後は不要、fd2回目は必須)、ファイルポインタとはファイルのどこをアクセスするか、ファイル先頭から何バイト目かをあらわします。fd、fw、frなどをおこなうとアクセスしたバイト数分だけ値が加算されます。それで、もう一度頭からアクセスする場合は0に戻す必要があるわけです。なおディスクのFATとは関係ありません。
>fe 0
現在のファイルポインタから内容をダンプします。25バイト表示させます。
>fd 25
バッファに読み込んでから表示させることもできます。ファイルポインタを0に戻し、バッファを0でクリアして、バッファに25バイト読み込みます。
>fe 0
>bf 0
>fr 25
バッファをダンプします。0はバッファアドレスで、バッファのどこからみるかです。
>bd 0
最後にファイルを閉じます。
>fc
スポンサーサイト
[V850]Interface付属基板セットアップ
NEEKでFatFsを組み込み、SDカードからデータを読みたい。
SOPC Builderでのシステム構築の正常動作確認出来てないのに、理解出来てないFatFsをいじっても
何がなにやら良く分からなくなるので、FatFs動作確認のために、先人の情報を参考にV850を利用。
・Interface 2007/05 page98 「開発ツールのインストールと使い方」の章を見てインストール完了。
> 焼きこむために以下手順を実施。
PCから抜く → J1, J3ショート(書き込みモード) → PCへUSB再接続
> FPL.exe起動前にWinXP使用のためC:\WINDOWSへFPL.iniをコピーしておく。
> また、FPLデバイス設定では、Speed = 38400が最高なので、COM3の設定を38400に変更しておく。
> FPL.exe起動 > Device > Setup > PRM File Readクリック > 70F3716_CSI0.prm選択
> Speed = 38400設定 > Port = COM3(デバイスマネージャのポートで割り当てられた番号) > OK
> File > Load > ビルドで生成したhex選択 > Device > Autoprocedure(EPV)
> これで、マイコン消去、書き込み、Verifyまで自動実行。
> 完了後、PCから外し、J1, J3ショートを外し、再度PCへ接続すれば動作し始める。
(今回はサンプルプログラムなので、基板上のLEDチカチカが確認出来た)
・ChaN氏HPで公開されているFatFsサンプルV850プロジェクトを入手。
> prjファイルをそのままPM+で開くと「以下が無い」とツッコミ来るので、
prjをテキストエディタで開いて、自分の環境のパスに変更。無事読めて、Buildも成功。
Include7=..\..\..\Program Files\NEC Electronics Tools\CA850\E3.11a\inc850\string.h
Include8=..\..\..\Program Files\NEC Electronics Tools\CA850\E3.11a\inc850\stddef.h
Include10=..\..\..\Program Files\NEC Electronics Tools\CA850\E3.11a\inc850\stdarg.h
SOPC Builderでのシステム構築の正常動作確認出来てないのに、理解出来てないFatFsをいじっても
何がなにやら良く分からなくなるので、FatFs動作確認のために、先人の情報を参考にV850を利用。
・Interface 2007/05 page98 「開発ツールのインストールと使い方」の章を見てインストール完了。
> 焼きこむために以下手順を実施。
PCから抜く → J1, J3ショート(書き込みモード) → PCへUSB再接続
> FPL.exe起動前にWinXP使用のためC:\WINDOWSへFPL.iniをコピーしておく。
> また、FPLデバイス設定では、Speed = 38400が最高なので、COM3の設定を38400に変更しておく。
> FPL.exe起動 > Device > Setup > PRM File Readクリック > 70F3716_CSI0.prm選択
> Speed = 38400設定 > Port = COM3(デバイスマネージャのポートで割り当てられた番号) > OK
> File > Load > ビルドで生成したhex選択 > Device > Autoprocedure(EPV)
> これで、マイコン消去、書き込み、Verifyまで自動実行。
> 完了後、PCから外し、J1, J3ショートを外し、再度PCへ接続すれば動作し始める。
(今回はサンプルプログラムなので、基板上のLEDチカチカが確認出来た)
・ChaN氏HPで公開されているFatFsサンプルV850プロジェクトを入手。
> prjファイルをそのままPM+で開くと「以下が無い」とツッコミ来るので、
prjをテキストエディタで開いて、自分の環境のパスに変更。無事読めて、Buildも成功。
Include7=..\..\..\Program Files\NEC Electronics Tools\CA850\E3.11a\inc850\string.h
Include8=..\..\..\Program Files\NEC Electronics Tools\CA850\E3.11a\inc850\stddef.h
Include10=..\..\..\Program Files\NEC Electronics Tools\CA850\E3.11a\inc850\stdarg.h