車載外部ストレージ 【FatFs】車載外部ストレージ その91【メモリ上シミュレーション③】 FatFsでファイルアクセス前の準備の部分を実施。物理ドライブへのアクセス初期化。FATにフォーマット。論理ドライブマウント。volume status参照。FATことFile Allocation Tableはクラスタの繋がりを表現している。これによりファイルサイズの伸縮を実現している。 2021.04.23 車載外部ストレージ
車載外部ストレージ 【FatFs】車載外部ストレージ その90【メモリ上シミュレーション②】 FatFsと対話するためのコマンド群がある。「?」でhelpが確認できる。パラメータ指定に物理ドライブと論理ドライブの指定があるので注意。ファイルアクセスの前にフォーマットやマウントなどの処理が必要。上記が済めば、一般的なファイルアクセスAPIが使用できる。 2021.04.22 車載外部ストレージ
車載外部ストレージ 【FatFs】車載外部ストレージ その89【メモリ上シミュレーション①】 FatFsのビルド環境準備。Visual Studio 2017 expresを使用。プロジェクトに設定されているWindows SDKが入っていない場合があるので構成プロパティで設定変更が必要。FatFs起動。WindowsXP以前だとPCのHDDに直接アクセスできたらしい。 2021.04.21 車載外部ストレージ
車載外部ストレージ 【FileSystem】車載外部ストレージ その88【FatFs②】 FatFsをDownloadしてきた。日本語サイトではなく、英語サイトから。FatFs sample projects for various platformsの方を落とす。FatFs sampleの中身確認。様々なマイコン向けのサンプルあり。(stm32,lpc23xx)win32がWindows向けのサンプル。 2021.04.20 車載外部ストレージ
車載外部ストレージ 【FileSystem】車載外部ストレージ その87【FatFs①】 FAT解説ページの紹介。FatFsの作者であるChaNさんの解説ページ。今後の方針。FatFsをPC上で動作させる。現状でもメモリ空間にFATを構築することはできるサンプルが存在。SDカードのディスクイメージを吸い上げて、それに対して読み書きとかできたらいいな。(希望) 2021.04.19 車載外部ストレージ
車載外部ストレージ 【FileSystem】車載外部ストレージ その86【SD応答向上仕様㉟】 CMD43(Q_MANAGEMENT)について説明。CommandQueueに登録されてるTaskを全部かTask ID別に停止でいる。Sequential CQ mode時にTask ID単位の停止は禁止されている。停止した際の挙動は未規定の未保証。SDカード関連の話はこれで完了。 2021.04.18 車載外部ストレージ
車載外部ストレージ 【FileSystem】車載外部ストレージ その85【SD応答向上仕様㉞】 CMD38(ERASE)のDiscardについて説明。DiscardはSSD由来の用語。Discard指定したBlockがどのような状態になるかは仕様上の規定はない。Discardしておくと、ストレージ側(SD/SSD)で効果的なウェアレベリングを実施してくれる可能性が上がり、結果として寿命が延びやすくなる。 2021.04.17 車載外部ストレージ
車載外部ストレージ 【FileSystem】車載外部ストレージ その84【SD応答向上仕様㉝】 CMD38(ERASE)のFULEについて説明。完全フォーマットとかで使われる仕様。CMD38(ERASE)のFULEのサポート有無はSD_STATUSで確認できる。通常のERASEと違い、全領域ERASEであっても1秒以内に完了する仕様となっている。間違って使わないように消去範囲を明示する必要はある。 2021.04.16 車載外部ストレージ
車載外部ストレージ 【FileSystem】車載外部ストレージ その83【SD応答向上仕様㉜】 CMD38(ERASE)について説明。CMD38のリクエストパラメータは32bit長Erase Function。Eraseが通常の消去、Discardは管理破棄、FULEは全領域Erase。busy待ちはAU_SIZE、ERASE_SIZE、ERASE_TIMEOUT、ERASE_OFFSETから算出する。 2021.04.15 車載外部ストレージ
車載外部ストレージ 【FileSystem】車載外部ストレージ その82【SD応答向上仕様㉛】 CMD32(ERASE_WR_BLK_START)、CMD33(ERASE_WR_BLK_END)について説明。 リクエストパラメータ、レスポンスフォーマットは一緒。32bit長アドレス。 R1フォーマット。 SDUC時はCMD22(ADDRESS_EXTENSION)で5bitの拡張アドレスを指定する。 2021.04.14 車載外部ストレージ