【振り返り,まとめ】車載外部ストレージ その133【FatFs,SDカード】

【振り返り,まとめ】車載外部ストレージ その133【FatFs,SDカード】 車載外部ストレージ

バックナンバーはこちら。
https://www.simulationroom999.com/blog/In-vehicle-external-storage-backnumber/

はじめに

SDカード、FatFsとやってきたシリーズの振り返りとまとめ。
とりあえず最終回。

NAND-FlashRom、SDカード(SPIモード、SDモード)、FAT FileSysteのシミュレーションなどをやってきた。

登場人物

博識フクロウのフクさん

指差しフクロウ

イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1

エンジニア歴8年の太郎くん

技術者太郎

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1

振り返り

フクさん
フクさん

というわけで、やりたいことはあらかたやり切ったってところだ。

太郎くん
太郎くん

うーん、今回含めて133回かー。
長かったなー。

フクさん
フクさん

このシリーズでやったことは大体以下だったね。

  • 不揮発性メモリ
  • SD初期化(SPIモード)
  • SD初期化(SDモード)
  • SD読み書き(SPIモード)
  • SD読み書き(SDモード)
  • SD応答向上仕様
  • FatFs メモリ上シミュレーション
  • FatFs ファイル上シミュレーション
  • SDカードディスクイメージ
  • SDカード直接制御
太郎くん
太郎くん

不揮発性メモリに始まり、
SDカード関連の物理層の話や大量のコマンドの話。
さらに性能を最大限に引き出すための手法。
それが終わったかと思ったら、まだ全然目的に到達してないくて、
FatFsのシミュレーション。
シミュレーションもメモリ上だけでなくファイル上でやって、
そのファイルをバイナリエディタで直接参照してFAT32仕様を追っかけて・・・。
最後はSDカードを直接読み書きしたり、パーティションきっちゃったり。

フクさん
フクさん

SDカードとFileSystemでシリーズを分けた方が良かったかもねー。
それぞれが結構なボリュームあったし。

感想とか

フクさん
フクさん

感想としてはどう?

太郎くん
太郎くん

まぁいままでも何回か言ってたことだけど、
当たり前のことの裏側には結構大変な仕組みがあるんだなーって思ったねー。

太郎くん
太郎くん

あと、SDカード仕様自体はNAND-FlashRomを抽象化してくれるんだけど、
性能を最大限に引き出そうと思うとやっぱりNAND-FlashRomの性質を考慮しないといけないってもの意外だったな。

フクさん
フクさん

まぁNAND-FlashRomへのアクセス速度と汎用性はトレードオフなところあるからねー。

太郎くん
太郎くん

FatFsのシミュレーションは新鮮だったかな。
ファイル操作とかはよくやるけど、FileSystemを意識してのファイル操作なんて考えたこともなかったから、
これこそ裏方の凄さってを感じた。

フクさん
フクさん

FileSystemは「利用者から如何に見えないように動作するか」がポイントだから
普通は意識しないだろう。
今回は、それを意識しないと動作しないんで意識せざるを得ない状況になったってところだね。

太郎くん
太郎くん

最後にやったFatFsでSDカード直接制御。
あんまり意味ないってことだったけど、
WindowsからFATでフォーマットする際に自由に選べなったじゃん?
実際はFAT12/16/32とexFATがあって、
あと、それぞれAllocation Unitとかもあるけど、そこらへんが選べないんだよね。
FatFsだと自由に選べるから、Windowsに頼らないフォーマットをしたいってことであればかなり有効なのかなって思った。

フクさん
フクさん

なるほど!
言われてみるとそうだね。
WindowsではなくLinuxからフォーマットって手もあるけど、
Windowsから簡単に目的のフォーマットをする場合などは今回の手法がかなり使えるかもしれないね。

太郎くん
太郎くん

元々はプロトタイプECUで大容量の記憶デバイスが必要ってことで始まったけど、
なんとかなりそうな気はしてきたよー。
まぁ応答性とかはトレードオフなところはあるから、適時調整は入りそうだけど。

フクさん
フクさん

記憶デバイスのWindowsとの相互運用性を考えるとFAT仕様は便利だからねー。
安定的に動作し始めたらデバッグ用途にも使えると思うよー。

太郎くん
太郎くん

確かに!
よし!
いろいろ試してみるよー。

フクさん
フクさん

頑張れー。

まとめ

フクさん
フクさん

まとめだよ。

  • 今回が本シリーズの最終回。
  • SDカード、FileSystemのそれぞれだけでも結構なボリュームだった。
  • SDカード直接制御のフォーマットはWindows上からのフォーマットの自由さを得るのに有効な場合がある。
  • FileSystemはWindows等の他のシステムとの相互運用性確保に便利。

バックナンバーはこちら。

コメント

タイトルとURLをコピーしました