我正在尝试对嵌入式系统中的eMMC
进行原始写入。设备节点是/dev/mmcblk1p1
,我正在尝试将二进制文件example.bin
复制到eMMC
中的特定地址,例如0x1000
。
有人能帮我怎么做吗?我使用的是运行Linux的ARM平台。任何帮助都是有用的。提前谢谢。
最佳答案
这可以通过dd命令行程序完成。在偏移量0x1000处将example.bin
复制到/dev/mmcblk1
如下:
dd if=example.bin of=/dev/mmcblk1 seek=8
输出文件(
/dev/mmcblk1
)的偏移量由seek选项指定,在本例中为8,因为dd默认以512字节的块工作。有关更多信息,请参见man dd
。这也可以在C语言中通过使用输出文件的打开文件描述符上的lseek()函数以编程方式完成。
注意,在这个问题中提到了
/dev/mmcblk1p1
文件,但这是mmc设备(p1)上第一个分区的设备节点。/dev/mmcblk1
文件是实际mmc设备的正确节点。关于linux - Linux中的eMMC RAW访问,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14036527/