LoginSignup
4
2

More than 5 years have passed since last update.

Toppers/ASP for Renasas RXにfatfs用のSD Card RSPIドライバ(rspi_mmc)を追加しました。

Last updated at Posted at 2016-07-17

更新内容

今回の更新によりSDカードを対象にしてファイルの読み書きができるようになりました。
rspi_mmcドライバはChaNさんが開発したFatFs(ファイルシステム)と合わせて使用してください。
ドライバはFatFsのサンプルソフトを元にコマンド転送管理をポーリングから割り込みへ、データ転送をCPUによる逐次転送からDTCによる転送に修正しています。
 また今回の更新に合わせてデバイスドライバのレイヤを追加しました。これについては後日に解説します。

とりあえず使う

とりあえずGR-SAKURAで使用できるようにします。初期状態ではFatFSとドライバは無効化されています。以下の手順で有効化してください。

FatFsを有効にする

FatFsのソースをMakefileのコンパイル対象に追加します。FatFsのMakefileはasp/middleware/Makefile.middlewareにあるので以下のように修正してください。

修正前

asp/middleware/Makefile.middleware
 MIDDLEDIR = $(SRCDIR)/middleware

 #include $(MIDDLEDIR)/fatfs_ff11a/src/Makefile.fatfs

修正後(有効化)
include文のコメントアウト(#)を削除してください。

asp/middleware/Makefile.middleware
 MIDDLEDIR = $(SRCDIR)/middleware

 include $(MIDDLEDIR)/fatfs_ff11a/src/Makefile.fatfs

ドライバーを有効にする

ドライバのソースをコンパイル対象にする

ドライバのソースをコンパイル対象に追加します。asp/driver/rx_gcc/Makefile.driverを以下の手順で有効化してください。

修正前

asp/driver/rx_gcc/Makefile.driver
 DRIVER_COBJS =

 #include $(DRIVERDIR)/Makefile.RSPI
 #include $(DRIVERDIR)/Makefile.mmc_rspi
 #include $(DRIVERDIR)/Makefile.mmc_gpio
 #include $(DRIVERDIR)/Makefile.DTCa

修正後(有効化)
include文のコメントアウト(#)を削除してください。

asp/driver/rx_gcc/Makefile.driver
 DRIVER_COBJS =

 include $(DRIVERDIR)/Makefile.RSPI
 include $(DRIVERDIR)/Makefile.mmc_rspi
 include $(DRIVERDIR)/Makefile.mmc_gpio
 include $(DRIVERDIR)/Makefile.DTCa

ドライバとハードウェアを関連づける

ドライバのターゲット依存部はasp/target/sakura_gcc/target_device以下にあります。asp/target/sakura_gcc/target_device/use_device.hを以下のように修正してください。

修正前

asp/target/sakura_gcc/target_device/use_device.h
  #ifndef TARGET_USE_DEVICE_H
  #define TARGET_USE_DEVICE_H

  //#define USE_RSPI_0
  //#define USE_MMC_RSPI_0
  //#define USE_MMC_GPIO_0
  //#define USE_DTCA_0

  #endif

修正後(有効化)
define文のコメントアウト(//)を削除してください。

asp/target/sakura_gcc/target_device/use_device.h
  #ifndef TARGET_USE_DEVICE_H
  #define TARGET_USE_DEVICE_H

  #define USE_RSPI_0
  #define USE_MMC_RSPI_0
  #define USE_MMC_GPIO_0
  #define USE_DTCA_0

  #endif

ユーザ定義パラメータの定義

 FatFsの物理デバイス番号とデバイスドライバを関連づけます。アプリケーションのどこかで以下の配列を定義してください。
FatFs用のサンプルでは定義済みです。

const dnode_id pdrv_to_dev[1] = {
  DEV_MMC_RSPI0 //drive 1 is mmc_rspi
};

サンプルを動かしてみる

FatFsのサンプルはsample/middleware/fatfsにあります。サンプルのディレクトリで以下のコマンドを実行すればコンパイルができます。
GR-SAKURAのSDカードスロットにカードを挿入して実行してください。

(aspのディレクトリ)/configure -T sakura_gcc -A fatfs_sample
make depend
make
4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2