RX64MでSD(TF)カードにアクセスする

RX64MにはSDホストインタフェースが搭載されています。
以前は、ライセンスの関係で一般には使用出来なかった様ですが、最近FITモジュールが公開されていますので、さっそく使用してみたいと思います。

使用したバージョンは以下の通りで、それぞれのFITモジュールを設定していきます。
r_sdc_sdmem_rx 3.00
r_sdhi_rx 2.06
WP端子を使用しない場合はチェックを外します。
アクティブの変更は出来ないようなので、使用する場合は注意します。

r_tfat_driver_rx 1.08
r_tfat_rx 4.00
[設定項目なし]

ソフトウエアについては、システムタイマを使っているので、以下のファイルをインクルードします。

 

SDカード制御用のソースは、下記の様に作成しました。

初期化処理として、sd_card_init();を一度実行します。
その後はメインループにて、sd_card_task();を常時実行します。
カードの挿入を検出すると、SD_CARD_READY が1となり、アクセスが可能です。

ファイル操作自体は、ChaNさんのFatfsを使用しているので、そちらを参照します。
アプリケーションノートのサンプルをそのまま使用する場合は、こんな感じになります。

あとは、const uint8_t filebuffer[] = {・・・} に書き込むダミーデータを用意し、
エラー表示用のstatic void R_error (uint8_t err_code, FRESULT *rst){} 関数を用意します。

標準のファイルシステムがfatfsになったので、使いやすくなりました。