質問: ベアメタルまたは軽量のOSフラッシュファイルシステムを実装するためのベストプラクティスは? 書き換え可能なデータストレージに利用可能なフラッシュデバイスを探していますが、その上にあるファイルシステム(FATなど)用のある種の変換レイヤー、またはそれらのために設計された特定のタイプのファイルシステム(JFFS2など)が必要です。 。 例: * サイプレスS25FL032P * マイクロチップSST25VF080B これは非常に一般的なことのようですが、ページ単位の書き込み専用フラッシュ、ウェアレベリング、および不良ブロックの監視に関するフラッシュの問題に対処するための多くのリソース(特にstm32プラットフォーム)は見ていません。 JFFS2のようなシステムがその大部分を処理するように思えますが、実際にはLinuxエコシステムの外側ではあまり使われていないようです。より細いOS環境でこれに対処するためのより一般的な方法のいくつかは何ですか? 非常に望ましい機能の1つは耐障害性です。たとえば、特定の操作中に電源が切断されると、FATが破損する可能性があります。良い解決策は、ジャーナルに記録されるか、それに似たようなものであるべきです。 (注:「自分で書く」は非常に明白で望ましくない答えです)
回答: 私は自分のプロジェクトでそれを使ったことは一度もありませんが、 fat FS libをご覧ください。 。