环境

宿主机平台:Ubuntu 16.04.6

目标机:iMX6ULL开发板

MFGTool 2.7

参考:https://www.cnblogs.com/helloworldtoyou/p/6053195.html

MFGTool2 的使用


fsl i.MX6开发板开发过程中系统常用烧写方式:SD卡、TFTP、USB;

其中SD卡首先需要SD卡;TFTP升级太慢,因此最常用的开发过程中更新内核采用的时MFGTool来进行系统升级;

MFGTool v2使用方式与v1差别较大,采用了vbscript来启动;

工具中一些文件的介绍

vbscript


双击对应的vbscript可以启动mfgtool工具,一般vbs文件的命名应突出板子规格(芯片、系统、存储等)

vbs文件可以指定修改 cfg.ini 文件中设置的一些参数

Set wshShell = CreateObject("WScript.shell")
wshShell.run "mfgtool2.exe -c ""Wh Linux Update"" -l ""NAND Flash"" -s ""board=sabresd""  -s ""folder=sabresd"" -s ""soc=6q"" -s ""mmc=3"" -s ""data_type="""
Set wshShell = Nothing参数的含义:
-c: 芯片配置文件夹名称 Wh Linux Update
-l: list名称,对应ucl2.xml文件中的LIST标签的name,后面会说明。
-s: 变量名称, cfg.ini以及ucl2.xml中会用到。

UICfg.ini


用来配置每次同时可以烧写开发板的个数

[UICfg]
PortMgrDlg=1

cfg.ini


用来配置芯片类型和板子信息以及烧写内容存储方式

指定了ucl2.xml(/profiles/Linux/OS Firmware)文件中的LIST项名称

上面的vbs脚本中的参数会覆盖cfg.ini文件中的参数

[profiles]
chip = Linux

profiles下面的子目录:芯片类型目录,后面如果有新的芯片类型可自定义如 MX6ULL Linux Update

这样MFGTool就会在.\Profiles\Linux\OS Firmware中寻找相应的配置文件ucl2.xml

#可以解释位具体板子型号
[platform]
board = SabreSD   

[LIST]
name = SDCard

ucl2.xml有多个LIST项,每一项对应于一个开发板相关烧写配置,此处指明哪一项LIST有效;
LIST中指明了执行的下载/烧写动作,要操作(下载/烧写/或命令)的文件,shell命令等内容。

cfg.ini一定要根据你的板子和要烧写到哪里来设置,设置的信息和你使用的板子要匹配。

LIST中主要是加载需要烧写的文件,文件的名称通过 vscript 脚本传递参数选择,然后执行烧写。

ucl2.xml


根据 vbs和cfg.ini文件中的参数指定的LIST名称,选择正确的操作进行进行烧录。

这个目录里面有很多文件,烧录的时候要用到的uboot,内核,文件系统到RAM中,运行

  • 首先烧录Profiles/Linux/OS Firmware/firmware文件夹的镜像到RAM中运行系统。

  • 系统运行之后烧录Profiles/Linux/OS Firmware/files/android/sabresd/中的镜像到emmc中

files目录下为烧写的目标镜像文件

firmware是烧写系统的镜像文件,当更新系统的分区大小或烧写方式时才需要更新firmware中的文件。

<UCL><!-- 首先判断不同芯片的vid和pid来确定芯片型号 --><CFG><STATE name="BootStrap" dev="MX6SL" vid="15A2" pid="0063"/><STATE name="BootStrap" dev="MX6D" vid="15A2" pid="0061"/><STATE name="BootStrap" dev="MX6Q" vid="15A2" pid="0054"/><STATE name="BootStrap" dev="MX6SX" vid="15A2" pid="0071"/><STATE name="BootStrap" dev="MX6UL" vid="15A2" pid="007D"/><STATE name="BootStrap" dev="MX7D" vid="15A2" pid="0076"/><STATE name="BootStrap" dev="MX6ULL" vid="15A2" pid="0080"/><STATE name="Updater"   dev="MSC" vid="066F" pid="37FF"/></CFG><LIST name="NAND Flash" desc="Choose NAND as media"><!-- 将两个%号之间的参数使用vbs脚本和cfg.ini文件中的值进行替换 --> <CMD state="BootStrap" type="boot" body="BootStrap" file ="firmware/u-boot-imx6ul%6uluboot%-ddr%ddrsize%_%nand%.imx" ifdev="MX6UL">Loading U-boot</CMD><CMD state="BootStrap" type="boot" body="BootStrap" file ="firmware/u-boot-imx6ul%lite%%6uluboot%-ddr%ddrsize%_%nand%.imx" ifdev="MX6ULL">Loading U-boot</CMD><!-- 下载firmware下的镜像到CPU的RAM中直接运行,当系统跑起来之后再烧录镜像到EMMC中。不同的CPU型号下载的地址不同 --><CMD state="BootStrap" type="load" file="firmware/zImage" address="0x12000000"loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6Q MX6D">Loading Kernel.</CMD><CMD state="BootStrap" type="load" file="firmware/zImage" address="0x80800000"loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6SL MX6SX MX7D MX6UL MX6ULL">Loading Kernel.</CMD><CMD state="BootStrap" type="load" file="firmware/%initramfs%" address="0x12C00000"loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6Q MX6D">Loading Initramfs.</CMD><CMD state="BootStrap" type="load" file="firmware/%initramfs%" address="0x83800000"loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6SL MX6SX MX7D MX6UL MX6ULL">Loading Initramfs.</CMD><CMD state="BootStrap" type="load" file="firmware/zImage-imx6ul-%6uldtb%-%nanddtb%.dtb" address="0x83000000"loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6UL">Loading device tree.</CMD><CMD state="BootStrap" type="load" file="firmware/zImage-imx6ul%lite%-%6uldtb%-%nanddtb%.dtb" address="0x83000000"loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6ULL">Loading device tree.</CMD><CMD state="BootStrap" type="jump" > Jumping to OS image. </CMD><!--RAM中系统运行后,将files文件夹下的镜像烧录 -->    <!--burn the uboot to NAND: -->    <CMD state="Updater" type="push" body="$ mount -t debugfs debugfs /sys/kernel/debug">Mounting debugfs</CMD><CMD state="Updater" type="push" body="$ flash_erase /dev/mtd%part_uboot% 0 0">Erasing Boot partition</CMD><CMD state="Updater" type="push" body="send" file="files/u-boot-imx6ul%6uluboot%-ddr%ddrsize%_%nand%.imx" ifdev="MX6UL">Sending u-boot.bin</CMD><CMD state="Updater" type="push" body="send" file="files/u-boot-imx6ul%lite%%6uluboot%-ddr%ddrsize%_%nand%.imx" ifdev="MX6ULL">Sending u-boot.bin</CMD><CMD state="Updater" type="push" body="$ kobs-ng init -x -v --chip_0_device_path=/dev/mtd%part_uboot% $FILE">Flashing Bootloader</CMD><!--burn the kernel to NAND: --><CMD state="Updater" type="push" body="$ flash_erase /dev/mtd%part_kernel% 0 0">Erasing Kernel partition</CMD><CMD state="Updater" type="push" body="send" file="files/zImage-imx6ul" ifdev="MX6UL">Sending kernel zImage</CMD><CMD state="Updater" type="push" body="send" file="files/zImage-imx6ul%lite%" ifdev="MX6ULL">Sending kernel zImage</CMD><CMD state="Updater" type="push" body="$ nandwrite -p /dev/mtd%part_kernel% -p $FILE">Flashing Kernel</CMD><CMD state="Updater" type="push" body="$ flash_erase /dev/mtd%part_dtb% 0 0">Erasing dtb partition</CMD><CMD state="Updater" type="push" body="send" file="files/zImage-imx6ul-%6uldtb%-%nanddtb%.dtb" ifdev="MX6UL">Sending Device Tree file</CMD><CMD state="Updater" type="push" body="send" file="files/zImage-imx6ul%lite%-%6uldtb%-%nanddtb%.dtb" ifdev="MX6ULL">Sending Device Tree file</CMD><CMD state="Updater" type="push" body="$ nandwrite -p /dev/mtd%part_dtb% -p $FILE">Flashing dtb</CMD><!--burn the rootfs to NAND: --><CMD state="Updater" type="push" body="$ flash_erase /dev/mtd%part_rootfs% 0 0">Erasing rootfs partition</CMD><CMD state="Updater" type="push" body="$ ubiformat /dev/mtd%part_rootfs%"/><CMD state="Updater" type="push" body="$ ubiattach /dev/ubi_ctrl -m %part_rootfs%">Attaching UBI partition</CMD><CMD state="Updater" type="push" body="$ ubimkvol /dev/ubi0 -Nrootfs -m"/><CMD state="Updater" type="push" body="$ mkdir -p /mnt/mtd%part_rootfs%"/><CMD state="Updater" type="push" body="$ mount -t ubifs ubi0:rootfs /mnt/mtd%part_rootfs%"/><CMD state="Updater" type="push" body="pipe tar -jxv -C /mnt/mtd%part_rootfs%" file="files/%rootfs_name%-mys6ul14x14.rootfs.tar.bz2" ifdev="MX6UL">Sending and writting rootfs</CMD><CMD state="Updater" type="push" body="pipe tar -jxv -C /mnt/mtd%part_rootfs%" file="files/%rootfs_name%-mys6ul%lite%14x14.rootfs.tar.bz2" ifdev="MX6ULL">Sending and writting rootfs</CMD><CMD state="Updater" type="push" body="frf">Finishing rootfs write</CMD><CMD state="Updater" type="push" body="$ umount /mnt/mtd%part_rootfs%">Unmounting rootfs partition</CMD><CMD state="Updater" type="push" body="$ echo Update Complete!">Done</CMD></LIST>
</UCL>

文件中下载文件使用的变量有

lite      芯片型号 ull lite=l

6uluboot    开发板 14x14-evk

ddrsize              ddr内存大小 ddrsize=256

nand       存储类型 nand

6uldtb                开发板 14x14-evk

nanddtb            存储类型 gpmi-weim

part_uboot

part_kernel

part_dtb

part_rootfs

ddrsize

rootfs_name

工具自定义使用


在profiles中新建 Wh Linux Update 文件夹,拷贝模板linux文件夹里面的内容

OS Firmware 保留内容如下

清空files文件夹,替换自己使用的烧写文件

通过编译内核源码我们可以得到 zImage 和 设备树文件 mys-imx6ull-14x14-evk-gpmi-weim.dtb

平常测试不可能每次都需要烧写全部内容,因此修改 ucl2.xml 增加支持烧写 uboot、kernel、rootfs单独烧写

<UCL><!-- 首先判断不同芯片的vid和pid来确定芯片型号 --><CFG><STATE name="BootStrap" dev="MX6SL" vid="15A2" pid="0063"/><STATE name="BootStrap" dev="MX6D" vid="15A2" pid="0061"/><STATE name="BootStrap" dev="MX6Q" vid="15A2" pid="0054"/><STATE name="BootStrap" dev="MX6SX" vid="15A2" pid="0071"/><STATE name="BootStrap" dev="MX6UL" vid="15A2" pid="007D"/><STATE name="BootStrap" dev="MX7D" vid="15A2" pid="0076"/><STATE name="BootStrap" dev="MX6ULL" vid="15A2" pid="0080"/><STATE name="Updater"   dev="MSC" vid="066F" pid="37FF"/></CFG><LIST name="NAND-all" desc="Choose NAND as media"><!-- 将两个%号之间的参数使用vbs脚本和cfg.ini文件中的值进行替换 --> <CMD state="BootStrap" type="boot" body="BootStrap" file ="firmware/u-boot-imx6ul%6uluboot%-ddr%ddrsize%_%nand%.imx" ifdev="MX6UL">Loading U-boot</CMD><CMD state="BootStrap" type="boot" body="BootStrap" file ="firmware/u-boot-imx6ul%lite%%6uluboot%-ddr%ddrsize%_%nand%.imx" ifdev="MX6ULL">Loading U-boot</CMD><!-- 下载firmware下的镜像到CPU的RAM中直接运行,当系统跑起来之后再烧录镜像到EMMC中。不同的CPU型号下载的地址不同 --><CMD state="BootStrap" type="load" file="firmware/zImage" address="0x12000000"loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6Q MX6D">Loading Kernel.</CMD><CMD state="BootStrap" type="load" file="firmware/zImage" address="0x80800000"loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6SL MX6SX MX7D MX6UL MX6ULL">Loading Kernel.</CMD><CMD state="BootStrap" type="load" file="firmware/%initramfs%" address="0x12C00000"loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6Q MX6D">Loading Initramfs.</CMD><CMD state="BootStrap" type="load" file="firmware/%initramfs%" address="0x83800000"loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6SL MX6SX MX7D MX6UL MX6ULL">Loading Initramfs.</CMD><CMD state="BootStrap" type="load" file="firmware/zImage-imx6ul-%6uldtb%-%nanddtb%.dtb" address="0x83000000"loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6UL">Loading device tree.</CMD><CMD state="BootStrap" type="load" file="firmware/zImage-imx6ul%lite%-%6uldtb%-%nanddtb%.dtb" address="0x83000000"loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6ULL">Loading device tree.</CMD><CMD state="BootStrap" type="jump" > Jumping to OS image. </CMD><!--RAM中系统运行后,将files文件夹下的镜像烧录 -->    <!--burn the uboot to NAND: -->    <CMD state="Updater" type="push" body="$ mount -t debugfs debugfs /sys/kernel/debug">Mounting debugfs</CMD><CMD state="Updater" type="push" body="$ flash_erase /dev/mtd%part_uboot% 0 0">Erasing Boot partition</CMD><CMD state="Updater" type="push" body="send" file="files/u-boot-imx6ul%lite%%6uluboot%-ddr%ddrsize%_%nand%.imx" ifdev="MX6ULL">Sending u-boot.bin</CMD><CMD state="Updater" type="push" body="$ kobs-ng init -x -v --chip_0_device_path=/dev/mtd%part_uboot% $FILE">Flashing Bootloader</CMD><!--burn the kernel to NAND: --><CMD state="Updater" type="push" body="$ flash_erase /dev/mtd%part_kernel% 0 0">Erasing Kernel partition</CMD><CMD state="Updater" type="push" body="send" file="files/zImage" ifdev="MX6ULL">Sending kernel zImage</CMD><CMD state="Updater" type="push" body="$ nandwrite -p /dev/mtd%part_kernel% -p $FILE">Flashing Kernel</CMD><CMD state="Updater" type="push" body="$ flash_erase /dev/mtd%part_dtb% 0 0">Erasing dtb partition</CMD><CMD state="Updater" type="push" body="send" file="files/mys-imx6ul%lite%-%6uldtb%-%nanddtb%.dtb" ifdev="MX6ULL">Sending Device Tree file</CMD><CMD state="Updater" type="push" body="$ nandwrite -p /dev/mtd%part_dtb% -p $FILE">Flashing dtb</CMD><!--burn the rootfs to NAND: --><CMD state="Updater" type="push" body="$ flash_erase /dev/mtd%part_rootfs% 0 0">Erasing rootfs partition</CMD><CMD state="Updater" type="push" body="$ ubiformat /dev/mtd%part_rootfs%"/><CMD state="Updater" type="push" body="$ ubiattach /dev/ubi_ctrl -m %part_rootfs%">Attaching UBI partition</CMD><CMD state="Updater" type="push" body="$ ubimkvol /dev/ubi0 -Nrootfs -m"/><CMD state="Updater" type="push" body="$ mkdir -p /mnt/mtd%part_rootfs%"/><CMD state="Updater" type="push" body="$ mount -t ubifs ubi0:rootfs /mnt/mtd%part_rootfs%"/><CMD state="Updater" type="push" body="pipe tar -jxv -C /mnt/mtd%part_rootfs%" file="files/%rootfs_name%-mys6ul%lite%14x14.rootfs.tar.bz2" ifdev="MX6ULL">Sending and writting rootfs</CMD><CMD state="Updater" type="push" body="frf">Finishing rootfs write</CMD><CMD state="Updater" type="push" body="$ umount /mnt/mtd%part_rootfs%">Unmounting rootfs partition</CMD><CMD state="Updater" type="push" body="$ echo Update Complete!">Done</CMD></LIST><LIST name="NAND-uboot" desc="Choose NAND as media"><!-- 将两个%号之间的参数使用vbs脚本和cfg.ini文件中的值进行替换 --> <CMD state="BootStrap" type="boot" body="BootStrap" file ="firmware/u-boot-imx6ul%lite%%6uluboot%-ddr%ddrsize%_%nand%.imx" ifdev="MX6ULL">Loading U-boot</CMD><!-- 下载firmware下的镜像到CPU的RAM中直接运行,当系统跑起来之后再烧录镜像到EMMC中。不同的CPU型号下载的地址不同 --><CMD state="BootStrap" type="load" file="firmware/zImage" address="0x12000000"loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6Q MX6D">Loading Kernel.</CMD><CMD state="BootStrap" type="load" file="firmware/zImage" address="0x80800000"loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6SL MX6SX MX7D MX6UL MX6ULL">Loading Kernel.</CMD><CMD state="BootStrap" type="load" file="firmware/%initramfs%" address="0x12C00000"loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6Q MX6D">Loading Initramfs.</CMD><CMD state="BootStrap" type="load" file="firmware/%initramfs%" address="0x83800000"loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6SL MX6SX MX7D MX6UL MX6ULL">Loading Initramfs.</CMD><CMD state="BootStrap" type="load" file="firmware/zImage-imx6ul-%6uldtb%-%nanddtb%.dtb" address="0x83000000"loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6UL">Loading device tree.</CMD><CMD state="BootStrap" type="load" file="firmware/zImage-imx6ul%lite%-%6uldtb%-%nanddtb%.dtb" address="0x83000000"loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6ULL">Loading device tree.</CMD><CMD state="BootStrap" type="jump" > Jumping to OS image. </CMD><!--RAM中系统运行后,将files文件夹下的镜像烧录 -->    <!--burn the uboot to NAND: -->    <CMD state="Updater" type="push" body="$ mount -t debugfs debugfs /sys/kernel/debug">Mounting debugfs</CMD><CMD state="Updater" type="push" body="$ flash_erase /dev/mtd%part_uboot% 0 0">Erasing Boot partition</CMD><CMD state="Updater" type="push" body="send" file="files/u-boot-imx6ul%lite%%6uluboot%-ddr%ddrsize%_%nand%.imx" ifdev="MX6ULL">Sending u-boot.bin</CMD><CMD state="Updater" type="push" body="$ kobs-ng init -x -v --chip_0_device_path=/dev/mtd%part_uboot% $FILE">Flashing Bootloader</CMD><CMD state="Updater" type="push" body="$ echo Update Complete!">Done</CMD></LIST><LIST name="NAND-kernel" desc="Choose NAND as media"><!-- 将两个%号之间的参数使用vbs脚本和cfg.ini文件中的值进行替换 --> <CMD state="BootStrap" type="boot" body="BootStrap" file ="firmware/u-boot-imx6ul%6uluboot%-ddr%ddrsize%_%nand%.imx" ifdev="MX6UL">Loading U-boot</CMD><CMD state="BootStrap" type="boot" body="BootStrap" file ="firmware/u-boot-imx6ul%lite%%6uluboot%-ddr%ddrsize%_%nand%.imx" ifdev="MX6ULL">Loading U-boot</CMD><!-- 下载firmware下的镜像到CPU的RAM中直接运行,当系统跑起来之后再烧录镜像到EMMC中。不同的CPU型号下载的地址不同 --><CMD state="BootStrap" type="load" file="firmware/zImage" address="0x12000000"loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6Q MX6D">Loading Kernel.</CMD><CMD state="BootStrap" type="load" file="firmware/zImage" address="0x80800000"loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6SL MX6SX MX7D MX6UL MX6ULL">Loading Kernel.</CMD><CMD state="BootStrap" type="load" file="firmware/%initramfs%" address="0x12C00000"loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6Q MX6D">Loading Initramfs.</CMD><CMD state="BootStrap" type="load" file="firmware/%initramfs%" address="0x83800000"loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6SL MX6SX MX7D MX6UL MX6ULL">Loading Initramfs.</CMD><CMD state="BootStrap" type="load" file="firmware/zImage-imx6ul-%6uldtb%-%nanddtb%.dtb" address="0x83000000"loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6UL">Loading device tree.</CMD><CMD state="BootStrap" type="load" file="firmware/zImage-imx6ul%lite%-%6uldtb%-%nanddtb%.dtb" address="0x83000000"loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6ULL">Loading device tree.</CMD><CMD state="BootStrap" type="jump" > Jumping to OS image. </CMD><!--RAM中系统运行后,将files文件夹下的镜像烧录 -->    <!--burn the kernel to NAND: --><CMD state="Updater" type="push" body="$ flash_erase /dev/mtd%part_kernel% 0 0">Erasing Kernel partition</CMD><CMD state="Updater" type="push" body="send" file="files/zImage" ifdev="MX6UL">Sending kernel zImage</CMD><CMD state="Updater" type="push" body="send" file="files/zImage" ifdev="MX6ULL">Sending kernel zImage</CMD><CMD state="Updater" type="push" body="$ nandwrite -p /dev/mtd%part_kernel% -p $FILE">Flashing Kernel</CMD><CMD state="Updater" type="push" body="$ flash_erase /dev/mtd%part_dtb% 0 0">Erasing dtb partition</CMD><CMD state="Updater" type="push" body="send" file="files/mys-imx6ul%lite%-%6uldtb%-%nanddtb%.dtb" ifdev="MX6ULL">Sending Device Tree file</CMD><CMD state="Updater" type="push" body="$ nandwrite -p /dev/mtd%part_dtb% -p $FILE">Flashing dtb</CMD><CMD state="Updater" type="push" body="$ echo Update Complete!">Done</CMD></LIST><LIST name="NAND-rootfs" desc="Choose NAND as media"><!-- 将两个%号之间的参数使用vbs脚本和cfg.ini文件中的值进行替换 --> <CMD state="BootStrap" type="boot" body="BootStrap" file ="firmware/u-boot-imx6ul%6uluboot%-ddr%ddrsize%_%nand%.imx" ifdev="MX6UL">Loading U-boot</CMD><CMD state="BootStrap" type="boot" body="BootStrap" file ="firmware/u-boot-imx6ul%lite%%6uluboot%-ddr%ddrsize%_%nand%.imx" ifdev="MX6ULL">Loading U-boot</CMD><!-- 下载firmware下的镜像到CPU的RAM中直接运行,当系统跑起来之后再烧录镜像到EMMC中。不同的CPU型号下载的地址不同 --><CMD state="BootStrap" type="load" file="firmware/zImage" address="0x12000000"loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6Q MX6D">Loading Kernel.</CMD><CMD state="BootStrap" type="load" file="firmware/zImage" address="0x80800000"loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6SL MX6SX MX7D MX6UL MX6ULL">Loading Kernel.</CMD><CMD state="BootStrap" type="load" file="firmware/%initramfs%" address="0x12C00000"loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6Q MX6D">Loading Initramfs.</CMD><CMD state="BootStrap" type="load" file="firmware/%initramfs%" address="0x83800000"loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6SL MX6SX MX7D MX6UL MX6ULL">Loading Initramfs.</CMD><CMD state="BootStrap" type="load" file="firmware/zImage-imx6ul-%6uldtb%-%nanddtb%.dtb" address="0x83000000"loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6UL">Loading device tree.</CMD><CMD state="BootStrap" type="load" file="firmware/zImage-imx6ul%lite%-%6uldtb%-%nanddtb%.dtb" address="0x83000000"loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6ULL">Loading device tree.</CMD><CMD state="BootStrap" type="jump" > Jumping to OS image. </CMD><!--RAM中系统运行后,将files文件夹下的镜像烧录 -->    <!--burn the rootfs to NAND: --><CMD state="Updater" type="push" body="$ flash_erase /dev/mtd%part_rootfs% 0 0">Erasing rootfs partition</CMD><CMD state="Updater" type="push" body="$ ubiformat /dev/mtd%part_rootfs%"/><CMD state="Updater" type="push" body="$ ubiattach /dev/ubi_ctrl -m %part_rootfs%">Attaching UBI partition</CMD><CMD state="Updater" type="push" body="$ ubimkvol /dev/ubi0 -Nrootfs -m"/><CMD state="Updater" type="push" body="$ mkdir -p /mnt/mtd%part_rootfs%"/><CMD state="Updater" type="push" body="$ mount -t ubifs ubi0:rootfs /mnt/mtd%part_rootfs%"/><CMD state="Updater" type="push" body="pipe tar -jxv -C /mnt/mtd%part_rootfs%" file="files/%rootfs_name%-mys6ul%lite%14x14.rootfs.tar.bz2" ifdev="MX6ULL">Sending and writting rootfs</CMD><CMD state="Updater" type="push" body="frf">Finishing rootfs write</CMD><CMD state="Updater" type="push" body="$ umount /mnt/mtd%part_rootfs%">Unmounting rootfs partition</CMD><CMD state="Updater" type="push" body="$ echo Update Complete!">Done</CMD></LIST></UCL>

在工具根目录 增加自己板子的vbs文件  mfgtool2-linux-mys-6ulx-nand.vbs

Set wshShell = CreateObject("WScript.shell")
wshShell.run "mfgtool2.exe -c ""Wh Linux Update"" -l ""NAND-kernel"" -s ""lite=l"" -s ""6uluboot=14x14evk"" -s ""nand=nand"" -s ""6uldtb=14x14-evk"" -s ""nanddtb=gpmi-weim"" -s ""part_uboot=0"" -s ""part_kernel=1"" -s ""part_dtb=2"" -s ""part_rootfs=3"" -s ""ddrsize=256""  -s ""rootfs_name=core-image-base"""
Set wshShell = Nothing

测试烧录内核和启动成功。

转载于:https://www.cnblogs.com/silencehuan/p/11010148.html

MFGTool2 的使用相关推荐

  1. 【迅为iMX6Q】开发板 烧写工具 MfgTool2.exe 打不开问题的解决

    现象 最近整理电脑,重新搭建了 [迅为iMX6Q]开发板的开发环境,从网盘重新下载的烧写烧写工具:android_m6.0.1_2.0.0_ga_tool_20190725,直接双击MfgTool2. ...

  2. I.MX6 Manufacturing Tool V2 (MFGTool2) Emmc mksdcard-android.sh hacking

    #!/bin/bash# 参考文章: # 1. Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数 # http://c.biancheng.net/cpp/vi ...

  3. IMX6ULL使用NXP官方mfgtool2下载方法及错误解决

    1 加入镜像文件 将自编译的镜像名称改为如下 u-boot-imx6ull14x14evk_nand.imx zImage zImage-imx6ull-14x14-evk-gpmi-weim.dtb ...

  4. 【linux】NXP MFGTools工具配置文件详解

    mfgtools\cfg.ini [profiles] chip = Linux #对应mfgtools\Profiles\Linux\OS Firmware\中"Linux" # ...

  5. 飞思卡尔烧写工具mfgtools的使用

    注意:当时遇到烧录之后各种重启问题,还有system.img 文件同步不过去的原因,都是因为没有加flash刷新 <CMD state="Updater" type=&quo ...

  6. RT-Flash imxrt 系列rt1052 rt1060量产神器宣传

    转载: 恩智浦半导体2017年10月正式发布了业内首款跨界处理器-i.MX RT系列,超强的性能.超高的性价比使得i.MX RT系列火遍大江南北,一度成为基于MCU的产品主控首选,尤其是那些对于性能有 ...

  7. 系统烧写方法(MfgTool烧写工具)

    目录 MfgTool 工具简介 MfgTool 工作原理简介 USB接线 系统烧写原理 烧写NXP 官方系统 烧写自制的系统 系统烧写 网络开机自启动设置 改造我们自己的烧写工具 改造MfgTool ...

  8. linux串口对调,Linux串口调试详解

    测试平台 宿主机平台:Ubuntu 16.04.6 目标机:iMX6ULL 目标机内核:Linux 4.1.15 目标机添加串口设备 一般嵌入式主板的默认镜像可能只配置了调试串口,并用于 consol ...

  9. oracle数据设置为ull,IMX6ULL启动和烧写

    IMX6ULL启动和烧写 [复制链接] 产品MY-IMX6-CB140P-6Y2D-256M-4G,如下图:(6Y2D是IMX6ULL,256M是内存,4G是EMMC) (, 下载次数: 0) 上传 ...

最新文章

  1. 怎么用php制作会员注册表单,帝国CMS前台会员登陆表单的制作教程
  2. 实现断网收银_便利店收银系统,可以实现简单又好用!
  3. Leaflet绘制热力图【转】
  4. Android菜单详解——理解android中的Menu
  5. Python中try...except...else的用法
  6. 南邮宽字节(sql_gbk)注入
  7. TCP/IP / IP 头
  8. 范数的深刻解读(转自知乎)
  9. H.263 H.263+ Payload Type
  10. vue复选框CheckBox清空选中的值
  11. 嵌入式系统功能需求分析_机械管理系统如何物料需求分析
  12. PAT_1038_统计相同成绩的学生(20)
  13. [转载] Python Numpy基础总结
  14. 【数据预测】基于matlab LSTM神经网络空调能耗数据预测【含Matlab源码 051期】
  15. Syong :静态代理模式
  16. DPDK 无锁ring, 详解
  17. 四六级分数竟是这样算出来的!交白卷都不会得零分 (转)
  18. Windows10系统电脑怎么查看自己电脑虚拟化技术是否开启?
  19. (软考中级--信息安全工程师)四、网络安全体系与网络安全模型
  20. 3D标签云效果的实现

热门文章

  1. 茄子python_python笔记一
  2. Unity2D敌人/怪物AI控制 第一期
  3. 16 个超级实用的 Java 工具类
  4. 聊城双软认证的流程及要求
  5. android设置高度比例,Android控件设置宽高比的方法
  6. 上海边检部门全力护航浦东机场货运渠道
  7. Linux内核启动流程(vmlinux)
  8. Mysql慢查询日志,查询截取分析
  9. SpringBoot整合任务系统(quartz和SpringTask)
  10. java装箱拆箱_Java中的自动装箱与拆箱