我正在尝试对嵌入式系统中的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/

10-11 23:03
查看更多