ぼくの技術日誌

日誌って銘打っていますが、更新頻度が…

STM32F4でFatFS(SPI)を使うSDカードアクセス

はじめに

SDカードにログ保存がしたくなって、FatFSを使ってみることにした。
丁度FatFSが使えそうな基板として、手元にあったSTM32F401REでやってみた。


この記事の実行環境は下記のとおりです。

SystemWorkbenck for STM32 1.15.0
STM32Cube_FW_F4_V1.16.0

  • ターゲットボード:STM32F401RE Nucleo

コード編集

Blog記事STM32/STM32L053C8T6でSDカードにアクセスする – Talk Like Singingを参考に、新規作成したプロジェクトにFatFSのソースコードを編集する。
CSピンのみ変更したが、それ以外は記事ほぼそのままにできた。

GitHub - yosuke-kirihata/stm32f401re_fatfs

動作確認

以下のように配線した。

TODO:STM32とSDカードの配線を写真にする。

オシロで波形をみたところ、SCLKは10MHzで動いている。
分周の設定を変えると、SCLKも変わる。

TODO:オシロの波形写真を上げる

本当は、クロックのコンフィグも正しく把握しておくべきだが。。

実は、動かなくてオシロでリセット時の波形(CS HighでSCLK 80発)とCMD0の波形を見て、
CMD0のResp1に0x01が返らないのに悩んだが、MISOとMOSIの配線が逆だった。。

さいごに

STM32F401REでFatFSが使えるようになった。SDカードの初期化シーケンスも確認できたので、
勉強になったと思う。