バックナンバーはこちら。
https://www.simulationroom999.com/blog/In-vehicle-external-storage-backnumber/
はじめに
太郎くんがSDカード制御やファイルシステムについて社内実績調査。
登場人物
博識フクロウのフクさん
![指差しフクロウ](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
SDカード制御とファイルシステムについて社内実績調査結果
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
とりあえず、SDカードとか使ってそうな部署に言っていろいろ聞いてきたよ。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/はてなフクロウ.png)
ほう?
で、どうだった?
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者02アップ.png)
なんか、ファイルシステムはミドルウェアベンダーから購入したものを使ってるみたい。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
まぁ大体そうだねー。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
SDカードドライバは自前で作ったらしいから、これは今回使いまわしてもOKだって言ってた。
インターフェースもSPIだから、結構そのまま使えそう。
シリアル・ペリフェラル・インタフェース(Serial Peripheral Interface, SPI)は、コンピュータ内部で使われるデバイス同士を接続するバスである。パラレルバスに比べて接続端子数が少なくて済むシリアルバスの一種で、比較的低速なデータ転送を行うデバイスに利用される。
Wikipediaより
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
んで、SDカードドライバ作ったりファイルシステムを組み込む際の参考書籍も借りてきた。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
あー、TECH-Iのやつだねー。
大体これで概要を知ること多いねー。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
となると、問題はファイルシステムってことになるね。
![太郎くん](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/「技術者a」13アップ.png)
購入が安パイってことは、
別の手段があるってこと?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
うん。
オープンソースの組み込みFatファイルシステムを使うってパターンがある。
![太郎くん](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/技術者01アップ.png)
まぁファイルシステム購入は並行で進めて、
そのオープンソースのパターンを教えてもらおうかな。
選択肢は多い方が良さそうだし。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
まー、大体このパターンで始まるよねー。
オープンソースな組み込みFatファイルシステム
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
で、そのオープンソースな組み込みFatファイルシステムは何になるの?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
割とそのままの名前なんだけど、
FatFs。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者02アップ.png)
たしかにそのまんまだ。
というか、この借りてきた書籍に乗ってるやつ?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
そうそう。それそれ。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
ChaNさんという方が作ったもので以下で公開されてる。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/考え中フクロウ.png)
なんだけど、日本語サイトは2012年くらいで更新が止まってるんだよねー。
最新版、最新情報が欲しい場合は英語サイトを見た方が良いね。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
じゃー、次回からそのFatFsを説明してもらったり調べたりって流れかなー。
まとめ
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
まとめだよ。
- 組み込みFatファイルシステムはミドルウェアベンダーから購入することが多い。
- オープンソース組み込みFatファイルシステムも存在する。
- FatFs。
- 日本語サイトもあるが、最新情報が欲しい場合は英語サイトの方を見た方が良い。
バックナンバーはこちら。
コメント