eMMC
組み込みシステム内で生の書き込みを行おうとしています。デバイス ノードはで、たとえばの特定のアドレスに/dev/mmcblk1p1
バイナリをコピーしようとしています。example.bin
eMMC
0x1000
どうすればこれを解決できるか、誰かが私を助けてくれませんか。Linux を実行している ARM プラットフォームを使用しています。どんな助けも本当に役に立ちます。前もって感謝します。
これは、ddコマンド ライン プログラムで実行できます。オフセット 0x1000 にコピーexample.bin
するには、次のようにします。/dev/mmcblk1
dd if=example.bin of=/dev/mmcblk1 seek=8
out ファイルのオフセット ( /dev/mmcblk1
) は seek オプションで指定され、この例では 8 です。これは、dd がデフォルトで 512 バイトのブロックで機能するためです。詳細については、を参照man dd
してください。
これは、out ファイルのオープン ファイル記述子で lseek() 関数を使用して、C でプログラム的に行うこともできます。
質問では/dev/mmcblk1p1
ファイルが言及されていますが、これは MMC デバイス (p1) の最初のパーティションのデバイス ノードであることに注意してください。ファイルは、実際の MMC デバイスの/dev/mmcblk1
正しいノードです。