1

eMMC組み込みシステム内で生の書き込みを行おうとしています。デバイス ノードはで、たとえばの特定のアドレスに/dev/mmcblk1p1バイナリをコピーしようとしています。example.bineMMC0x1000

どうすればこれを解決できるか、誰かが私を助けてくれませんか。Linux を実行している ARM プラットフォームを使用しています。どんな助けも本当に役に立ちます。前もって感謝します。

4

2 に答える 2

6

これは、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正しいノードです。

于 2012-12-29T09:47:22.923 に答える