Raspberry Pi PicoでFatFs Moduleを使用してSDカードにアクセスできるようにします。
参考にさせてもらったページはこちらです。ありがとうございます。 https://qiita.com/Yukiya_Ishioka/items/6b5b6cb246f1d1e94461
- FatFsのダウンロード
http://elm-chan.org/fsw/ff/00index_e.html
ここから以下2つをダウンロードします。
FatFs R0.15a
FatFs sample projects for various platforms - 「mmc_pico_spi.c」の作成
「sample projects for various platforms」を解凍して、「\ffsample\stm32\mmc_stm32f1_spi.c」を編集します。
パッチを当てるプログラムを作成しました。(Copilotで生成)
「fatfs_patch.zip」をダウンロード、解凍して、そこに「\ffsample\stm32\mmc_stm32f1_spi.c」をコピーして、「pico_marge.py」を実行すると、「mmc_pico_spi.c」が生成されます。 - プロブラムのソースフォルダに「sd_lib」フォルダを作成します。「ff15a.zip」を解凍し、「\ff15a\source」以下のファイルを「sd_lib」へコピーします。先ほど作成した「mmc_pico_spi.c」も「sd_lib」へコピーします。
- プロブラムのソースフォルダにある「CMakeLists.txt」に以下追加します。「pico_sdlogger」の部分は適宜変更してください。
add_executable(pico_sdlogger
pico_sdlogger.c
./sd_lib/ff.c
./sd_lib/ffsystem.c
./sd_lib/ffunicode.c
./sd_lib/mmc_pico_spi.c
)
- FatFsのオプション
f_gets(), f_putc(), f_puts(),f_printf()を使う場合は「ffconf.h」を変更。
また、RTCもないので、そこも変更します。
ffconf.h
#define FF_USE_STRFUNC 1
#define FF_FS_NORTC 1
