バックナンバーはこちら。
https://www.simulationroom999.com/blog/In-vehicle-external-storage-backnumber/
はじめに
FatFsの取得の話。
登場人物
博識フクロウのフクさん
![指差しフクロウ](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん
![技術者太郎](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
FatFsの取得
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
まずはともあれ、FatFsをDownloadしてこよう。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
ここから落としてくれば良いのかな?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/考え中フクロウ.png)
あー、なんか日本語ページの方は大分前から更新されてないっぽいんだよねー。
というわけで英語ページから落としてくることになる。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
該当ページの一番下に、
- Download: FatFs R0.14a
- Download: FatFs sample projects for various platforms
ってのがあると思うが、
「Download: FatFs R0.14a」
の方はFatFs単体で
「Download: FatFs sample projects for various platforms」
の方は様々な環境(マイコン等)で動作さえることを前提としたサンプルが含まれている。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
どっちを落とせばよいの?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
「Download: FatFs sample projects for various platforms」
の方だね。
この中にWindows上で動作させるサンプルもあるんで、
それをベースに使うことになる。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
あ、最初からWindows上で動作するのがあるって言ってたね。
それのことか。
![Download: FatFs sample projects for various platforms、Download: FatFs R0.14a、The FatFs module is a free software opened for education, research and development. You can use, modify and/or redistribute it for any purpose without any restriction under your responsibility. For further information, refer to the application note.](https://www.simulationroom999.com/blog/wp-content/uploads/2021/03/02_Download_FatFs_sample_projects_for_various_platforms-1024x261.png)
FatFs sample projects for various platformsの中身
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
とりあえず、落として、zip解凍したよ。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
中身はこうなってるはずだ。
![avr、fm3、generic、h8、lpc23xx、lpc176x、pic24、rx62n、rx220、sh2、stm32、v850es、win32、00readme.txt、monitor.log](https://www.simulationroom999.com/blog/wp-content/uploads/2021/03/03_ffsample.png)
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
このavrとかfm3とかstm32フォルダが並んでいるのは?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
各マイコン別のサンプルだね。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者03アップ.png)
ほー。
本当にいろんなのに対応してるのかー。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
SDカードへアクセス手段はSPIで実施するものがほとんどだが、
LPC23xxはマイコン内蔵のSDホストコントローラを使用したサンプルになってる。
SPIモードではなく、SDモードの通信のサンプルを見たい場合は
LPC23xxの実装を参照すると良いだろう。
STマイクロのSTM32CubeMX、STM32CubeIDEなんかのSDKドライバこれを参考にしてるんじゃないかな。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者02アップ.png)
となると、
今回はwin32ってのが目的のサンプルになるのかな?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/まるフクロウ.png)
その通り。
FatFs sample projects for various platforms Win32の中身
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者02アップ.png)
win32フォルダの中はこんなんだね。
![diskio.c、diskio.h、ff.c、ff.h、ffconf.h、ffdev.sln、ffdev.suo、ffdev.vcproj、ffsystem.c、ffunicode.c、main.c](https://www.simulationroom999.com/blog/wp-content/uploads/2021/03/04_ffsample_win32.png)
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」20アップ.png)
Visual Studioのソリューションファイルがあるから、そのまま使えるのかな?
いや、Visual Studioもいろいろversionがあるから、手元のVisual Studio 2017 expressで動く保証はないのか?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
サンプルのソリューションはVisual Studio 2008のモノのようだね。
事前に確認したが、Visual Studio 2017 expressにupgradeしても動作しそうな感じだった。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
ならとりあえずは安心かな。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
次回はとりあえず、動かしてみるってところかな。
まとめ
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
まとめだよ。
- FatFsをDownloadしてきた。
- 日本語サイトではなく、英語サイトから。
- FatFs sample projects for various platformsの方を落とす。
- FatFs sampleの中身確認。
- 様々なマイコン向けのサンプルあり。(avr,stm32,lpc23xx)
- win32がWindows向けのサンプル。
- 様々なマイコン向けのサンプルあり。(avr,stm32,lpc23xx)
バックナンバーはこちら。
コメント