同批次同硬件,系统的板子,能不能把其中flash的系统程序读出来,烧到其他板子的flash?,
指的其他板子是指同一型号的同一批次的板子,不存在处理器结构差异问题,都是MIPS核;我们生产的时候,烧的是bin文件系统,里面应该是包括uboot,参数,kernel,rootfs等等,想问的是能不能把这个系统(二进制镜像系统)读出来,这样的话如果某个板子上的程序调试OK,其他板子不OK,就可以先把系统读出来,再烧到其他板子上去了。
不知道你使用的是EMMC还是nandflash,其实无论是什么,都是支持直接拷贝的!再生产中都是做好镜像,然后将镜像批量拷贝到各个flash,然后才贴片的。
至于你的这种情况,我觉得有两种解决方法,前提是存在相应flash的编程器或者所烧录器。
1.将片子取下来,洗干净!然后放在编程器上将内容读取成一个二进制镜像文件,然后你子啊通过编程器就爱那个这个镜像物理烧录到另外的片子就好了。
2.如果你能够再你的平台上能够读取flash的所有地址的话,你可以写一个小程序将所有难道的地址的数据都读取出来,存放为一个二进制文件!这就是你的完整的数据了。可以烧录到别的片子里面。
要看你那个flash指的是片上的还是额外的。
片上的话,有些单片机有这种保护功能的就没法读,需要先解密。没有这个功能的话可以用你那个开发软件去读取。比如STM32那些就是用ST-LINKUtility。TI的都可以用CCS
片外flash的话,那就找个烧录器,可以将里面内容读出来
這篇的方法即可囉
//www.icxbk.com/ask/detail?tid=2676
1. dd方法
2. GUI的方法
不過多半用dd就可了,例如
sudo dd if=/dev/sda of=/media/<user-name>/<xxx>/flash.img count= <size> bs=1M
以上供參考