在对同一件事情的处理方式上,效率和优雅总是互损的。—— R.W
mfgtools的介绍
mfgtools是NXP
提供的可以给imx系列烧写程序的工具。我们可以到NXP
的官网去下载一个mfgtools的工具,我下载的版本是L4.9.88_2.0.0_mfg-tool
。
mfgtools的烧写原理
在下载的模式下,通过imx6q出厂就带有的固化在芯片里面的程序,往内存里面下载uboot和支持UTP的内核,然后让已经下载好的内存里的系统程序运行起来,同时也可以在串口里面看到系统启动输出的log。
然后,通过UTP协议把需要的文件和固件传到内存,把需要的烧写的image通过dd写入相应的分区,rootfs则直接解压到格式化好的分区上即可。
切换到eMMC启动模式,即可将烧写好的系统启动起来。
mfgtools烧写过程
UICfg.ini
文件,这个文件是用来指定可以同时烧写几块板子,取值范围是1~4,开发的时候当然都是选择1了。
[UICfg]
PortMgrDlg=1
cfg.ini
文件里面的profiles/chip
的内容和mfgtools\Profiles
下面的下载目标的文件夹保持一致;platform/board
现在已经没有用了;LIST/name
指向你想要在ucl2.xml
里面执行的操作列表。
[profiles]
chip = Linux
[platform]
board = Itop
[LIST]
name = Linux-Itop-eMMC
ucl2.xml
文件里面包含了很多操作列表,我们也可以定义自己的操作列表。操作列表分两个阶段。第一个阶段是BootStrap
阶段,第二阶段是Updater
阶段。
可以分别来看一下,第一个阶段的操作列表如下
<CMD state="BootStrap" type="boot" body="BootStrap" file="firmware/u-boot.imx" ifdev="MX6Q">Loading U-boot.</CMD>
<CMD state="BootStrap" type="load" file="firmware/zImage_mfgtool" address="0x12000000" loadSection="OTH