我正尝试在我的嵌入式系统中对eMMC进行原始写入。设备节点是/dev/mmcblk1p1,我正在尝试将一个二进制example.bin复制到eMMC中的特定地址,比如0x1000。
有人能帮我一下吗?我该怎么做呢?我使用的是运行Linux的ARM平台。任何帮助都会被证明是非常有用的。提前谢谢。
发布于 2012-12-29 17:47:23
这可以使用dd命令行程序来完成。将偏移量为0x1000的example.bin复制到/dev/mmcblk1的操作如下:
dd if=example.bin of=/dev/mmcblk1 seek=8输出文件(/dev/mmcblk1)的偏移量是用seek选项指定的,在本例中为8,因为缺省情况下dd是以512字节的块工作的。有关详细信息,请参阅man dd。
这也可以在C中通过在out文件的打开文件描述符上使用lseek()函数来以编程方式完成。
注意,在问题中提到了MMC文件,但这是/dev/mmcblk1p1设备(p1)上第一个分区的设备节点。/dev/mmcblk1文件是实际存储管理中心设备的正确节点。
发布于 2012-12-26 14:56:30
您需要首先将设备节点挂载到Linux文件系统。
# mount -t msdos /dev/mmcblk1p1 /mnt/
# cp /mnt/libnsl.so /lib/libnsl.so.1
# /mnt/lrzlrz是一个使用ZMODEM协议传输文件的应用程序。使用TeraTerm打开
File -> Transfer -> ZMODEM -> example.bin,然后单击OK。
https://stackoverflow.com/questions/14036527
复制相似问题