私は私が担当している組み込みLinuxデバイス用のアップデートユーティリティを作成しています。
更新がステージングパーティションに適用され、次にブートローダがステージングパーティションに切り替えて、プライマリパーティションを新しいステージングパーティションに変更するデフォルトのパラレル設定を作成しています。
ただし、組み込みデバイスはCFカードを使用しますが、CFカードが時々データを順番に書き込まないことがあることが知られています。したがって、ファイルシステムを読み取り/書き込みでマウントすると破損する可能性があります。したがって、新しいパーティションを指すようにブートローダパーティションRWをマウントすることはできません。
シングルバイトを書くのが安全なディスク位置はありますか?ここで、バイトは最初のパーティションの場合は0を表し、2番目のパーティションの場合は1を表します。 CFカードでもシングルバイトの書き込みを台無しにすることはできません。これは原子的に起こるはずです。
通常のDOS MBR形式のディスクを使用しています。
答え1
データを保持する3番目の小さなパーティションを作成します。ファイルシステムが実際に利用できない場合は、ディスク上の他の場所によって遅かれ早かれ問題が発生する可能性があります。
場合によっては、ディスクの最後のいくつかのクラスターをFATエントリからアドレス指定できないことがあります。これはオプションですが、デバイスの正確なサイズによって大きく異なります。
組み込みCPU/デバイスにEEPROMはありますか?これはシングルバイトに理想的な場所です。