单片机
返回首页

MfgTool系统烧写(imx6ull)

2025-02-27 来源:cnblogs

一、烧写原理

1、开发板连接电脑以后双击“mfgtool2-yocto-mx-evk-emmc.vbs”,打开下载对话框,连接正常后点击start:

 

2、烧写的内容:

  uboot、Linux kernel、.dtb、rootfs

  进入如下目录:L4.1.15_2.0.0-ga_mfg-tools/mfgtools-with-rootfs/mfgtools/Profiles/Linux/OS Firmware

  

 

 

   重要文件:files、firmware、ucl2.xml  

MfgTool 其实是先通过 USB OTG 先将 uboot、kernel 和.dtb(设备树)这是三个文件下载到开发板的 DDR 中,注意不需要下载 rootfs。就相当于直接在开发板的 DDR上启动 Linux 系统,等 Linux 系统启动以后再向 EMMC 中烧写完整的系统,包括 uboot、linuxkernel、.dtb(设备树)和 rootfs,因此 MfgTool 工作过程主要分两个阶段:

①、将 firmware 目录中的 uboot、linux kernel 和.dtb(设备树),然后通过 USB OTG 将这个文件下载到开发板的 DDR 中,目的就是在 DDR 中启动 Linux 系统,为后面的烧写做准备。

②、经过第①步的操作,此时 Linux 系统已经运行起来了,系统运行起来以后就可以很方便的完成对 EMMC 的格式化、分区等操作。EMMC 分区建立好以后就可以从 files 中读取要烧写的 uboot、linux kernel、.dtb(设备树)和 rootfs 这 4 个文件,然后将其烧写到 EMMC 中,这个就是 MfgTool 的大概工作流程。

  a、firmware文件夹

  

 

 

 如果要烧写我们的系统,就需要用我们编译出来的 zImage、u-boot.imx 和 imx6ull-alientek-emmc.dtb 这三个文件替换掉,同时文件名字改为表中的名字。

  b、file文件夹 

  将上表 中的这三个文件下载到开发板的 DDR 上以后烧写的第一阶段就完成了,第二阶段就是从 files 目录中读取整个系统文件,并将其烧写到 EMMC 中。

  file文件夹中需要4个文件

    

  如果要烧写我们自己编译出来的系统,就需要用我们编译出来的 zImage、u-boot.imx 和imx6ull-alientek-emmc.dtb 和 rootfs 这四个文件替换掉表 中这四个文件。

   c、ucl2.xml文件

  files 和 firmware 目录下有众多的 uboot 和设备树,那么烧写的时候究竟选择哪一个呢?这个工作就是由 ucl2.xml 文件来完成的。

二、烧写NXP官方系统

烧写步骤:

①、连接好 USB,拨码开关拨到 USB 下载模式。

②、弹出 TF 卡,然后按下开发板复位按键。

③、打开 SecureCRT。

④、双击“mfgtool2-yocto-mx-evk-emmc.vbs”,打开下载软件,如果出现“符合 HID 标准的供应商定义设备”等字样就说明下载软件已经准备就绪。点击“Start”按钮开发烧写 NXP 官方系统,烧写过程如下图:

 

 

等待烧写完成,因为 NXP 官方的根文件系统比较大,因此烧写的时候耗时会久一点。烧写完成以后 MfgTool 软件如下图:

 

 

 点击Stop停止烧写,点击Exit退出。拔出 USB 线,将开发板上的拨码开关拨到 EMMC 启动模式,然后重启开发板,此时就会从 EMMC 启动。

三、烧写自制的系统

1、准备要烧写的原材料:

  ①、自己移植编译出来的 uboot 可执行文件:u-boot.imx。  

  ②、自己移植编译出来的 zImage 镜像文件和开发板对应的.dtb(设备树),对于 I.MX6U-ALPHA 开发板来说就是 imx6ull-alientek-emmc.dtb。  

  ③、自己构建的根文件系统 rootfs,这里我们需要对 rootfs 进行打包,进入到 Ubuntu 中的rootfs 目录中,然后使用 tar 命令对其进行打包,命令如下:

cd rootfs/tar -vcjf rootfs.tar.bz2 *

2、文件重命名

  

 3、文件替换

  zImage、u-boot-imx6ull14x14evk_emmc.imx 和 zImage-imx6ull-14x14-evk-emmc.dtb 这三个文件拷贝到 mfgtools-with-rootfs/mfgtools/Profiles/Linux/OS Firmware/firmware 目录中,替换掉原来的文件。

 4 个文件都拷贝到 mfgtools-with-rootfs/mfgtools/Profiles/Linux/OS Firmware/files目录中,这两个操作完成以后我们就可以进行烧写了。

4、系统烧写

  双击“mfgtool2-yocto-mx-evk-emmc.vbs”,打开烧写软件,点击“Start”按钮开始烧写,点击Exit退出。拔出 USB 线,将开发板上的拨码开关拨到 EMMC 启动模式,然后重启开发板,此时就会从 EMMC 启动。

四、改造自己的烧写工具

firmware文件夹保留:fsl-image-mfgtool-initramfs-imx_mfgtools.cpio.gz.u-boot,fsl-image-mfgtool-initramfs-imx6qdlsolo.cpio.gz.u-boot,initramfs.cpio.gz.uboot文件,其它删除

files文件夹保留:fsl-image-mfgtool-initramfs-imx6qdlsolo.cpio.gz.u-boot文件,其它删除

1、改造MfgTool 

  ①、针对不同的核心版,确定系统文件相关名字。
  ②、新建我们自己的.vbs 文件。
  ③、修改 ucl2.xml 文件。

2、确定系统文件名字

  确定系统文件名字是为了兼容NAND和EMMC两个版本,以版本名做结尾命名。

  命名格式:原文件名-公司名/型号名-版本名

 3、新建.vbs和修改ucl2.xml文件

 ①、直接复制 mfgtool2-yocto-mx-evk-emmc.vbs 文件即可,将新复制的文件重命名为 mfgtool2-alientek-alpha-emmc.vbs,文件内容不要做任何修改,.vbs 文件我们就新建好了。

 ②、修改ucl2.xml文件

  在修改 ucl2.xml 文件之前,先保存一份原始的 ucl2.xml。将 ucl2.xml 文件改为如下所示内容:


 

   

   

   

 




    Loading U-boot

            ifdev='MX6SL MX6SX MX7D MX6UL MX6ULL'>Loading Kernel.

            ifdev='MX6SL MX6SX MX7D MX6UL MX6ULL'>Loading Initramfs.

            ifdev='MX6ULL'>Loading device tree.

    Jumping to OS image.

    

    Sending partition shell

   

Partitioning...

    Partitioning...

    clear u-bootarg

    access boot partition 1

    Sending u-boot.bin

    write U-Boot to sd card

    re-enable read-only access

    enable boot partion 1 to boot


    Waiting for the partition ready

    Formatting rootfs partition

   

   

    Sending kernel zImage

    write kernel image to sd card

    Sending Device Tree file

    write device tree to sd card

    Unmounting vfat partition

    Formatting rootfs partition

   

   

            ifdev='MX6UL MX7D MX6ULL'>Sending and writting rootfs

    Finishing rootfs write

    Unmounting rootfs partition

    Done




4、烧写系统

  按照烧写NXP官方系统工具步骤烧写

注意:

  避免启动时出错,修改uboot配置文件:uboot源码中include/configs/mx6ull_alientek_emmc.h(改为自己的配置文件)

 

进入单片机查看更多内容>>
相关视频
  • 【TI MSPM0 应用实战】智能小车+工业角度编码器+血氧仪+烟雾探测器!硬核参考设计详解!

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

  • 直播回放: Microchip Timberwolf™ 音频处理器在线研讨会

  • 基于灵动MM32W0系列MCU的指夹血氧仪控制及OTA升级应用方案分享

精选电路图
  • 1瓦线性调频增强器

  • 家用电器遥控器

  • 12V 转 28V DC-DC 变换器(基于 LM2585)

  • 红外开关

  • DS1669数字电位器

  • HA1377 桥式放大器 BCL 电容 17W(汽车音频)

    相关电子头条文章