MfgTool系统烧写(imx6ull)

发布者:HarmonyJoy最新更新时间: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(改为自己的配置文件)

 

关键字:系统烧写 引用地址:MfgTool系统烧写(imx6ull)

上一篇:应用程序二进制接口(ABI) --- AAPCS(函数调用/中断上下文保护)
下一篇:uboot(基于IMX6ull)

推荐阅读最新更新时间:2026-03-25 10:53

RK3588开发板Android系统烧写实践与关键步骤
搞3588开发板的兄弟们,是不是经常在系统烧写这一步卡住?明明按照教程操作,却总是遇到各种玄学问题。今天就来一篇硬核避坑指南,总结系统(、、Debian、Buildroot、OpenWrt)烧写时的关键注意事项,同时迅为提供详情3588开发板烧写手册。 一、通用准备: 一、通用准备:这些坑踩一次就够了 1.工具链选择不当 ·坑点:随意下载RKDevTool,版本不匹配导致烧写失败 ·避坑:务必使用K包内自带的工具 2.连接玄学问题 ·现象:设备时连时断,Loer模式无法识别 ·解决方案: ·使用原生USB口(避免经过扩展坞) ·使用开发板厂商(如迅为)标配的USB数据线及转接头 ·在设备管理器中确认驱动安装正确,必要时手动
[嵌入式]
RK3588开发板Android<font color='red'>系统</font><font color='red'>烧写</font>实践与关键步骤
[JZ2440] 使用 tftp 烧写 kernel 和文件系统
一、使用 tftp 工具下载文件到 mini2440 SDRAM 指定地址中   1. 配置好 Windows 主机的 ip,这里我的 Windows 主机的 ip 配置为 192.168.1.5。   2. 搭建 Windows 主机 tftp 服务器。   Windows 主机行运行 tftp 服务器软件,服务器 ip 默认就是 Windows 主机 ip,无需设置。同时将要通过通过 tftp 下载到开发板的文件拷贝到 tftpd32.exe 服务器软件同级目录下。这里我拷贝了内核文件 uImage 和文件系统 fs_qtopia.yaffs2 到 tftp 目录下。   3. 配置好开发板的 ip 以及配置好
[单片机]
[JZ2440] 使用 tftp <font color='red'>烧写</font> kernel 和文件<font color='red'>系统</font>
mini2440采用minitools工具烧写系统或裸机程序方法
(1)、先使用Jlink软件烧写Superboot2440.bin文件到NOR FLASH中,此时S2开关拨在NOR位置。 a、 加载工程:File - Open project - 选择s3c2440a_embedclub.jflash(类似的也行) b、加载文件:File - Open data File - 选择Superboot2440.bin - 地址为0 c、连接和下载:Target - Connect - (连接成功后) - Auto - (完成下载)- Disconnect (2)、拔掉Jlink线,然后接上USB,如果是第一次使用会提示安装USB驱动(如果没反应,就重启一下开发板),第二次之
[单片机]
mini2440采用minitools工具<font color='red'>烧写</font><font color='red'>系统</font>或裸机程序方法
Linux内核启动流程-迅为IMX6ULL开发板(一)
在前面的章节介绍了uboot和Linux内核的一些相关内容。在来看Linux内核的大致启动流程,Linux内核的启动流程要比uboot复杂的多,涉及到的内容也更多,因此在本章节大致简单的了解一下Linux内核的启动流程。有兴趣的用户可以参考其他书籍或资料进行深入了解。 嵌入式linux内核的启动全过程主要分为三个阶段。第一阶段为内核自解压过程,第二阶段主要工作是设置ARM处理器工作模式、使能MMU、设置一级页表等,而第三阶段则主要为C代码,包括内核初始化的全部工作。下面分别进行简单介绍。 基于迅为-IMX6ULL开发板 30.1 Linux内核启动(一):Linux内核自解压过程 Linux内核有两种映像格式:一种是非压缩
[单片机]
IMX6ULL开发板 初识ARM汇编
我们在学习 Linux 嵌入式开发的时候,了解 ARM 汇编是很有必要的,虽然我们使用汇编编写代码的情况很少,但是有些情况下我们需要简单编写一些汇编程序来协助我们调试板子(因为我们的 i.MX6 UL 终结者开发板使用的 cpu 是 ARM Cortex-A7 架构的,cpu 刚上电必须要运行汇编代码,来初始化 cpu 的一些内部功能,然后设置好 C 语言的环境,才能运行 C 语言),比如一块板子焊接回来,我们烧写镜像没有问题,但是烧写完,串口没有打印信息,不能正常启动,这时我们应该不能确定是软件问题还是硬件问题,我们可以在汇编里面通过点灯(点亮板子上的 led)的方式来确定下 cpu 有没有运行,此时我们就要用到汇编,因为 C
[单片机]
<font color='red'>IMX6ULL</font>开发板 初识ARM汇编
使用迅为IMX6ULL开发板第一个汇编实验(一)
通过第五章我们对 ARM 汇编语法有了初步的认识,在本章我们开始使用会念编写我们的第一个汇编实验,在开发版的额众多外设里面,原理最简单,最适合初学者入门的就是 gpio 的驱动,在我们的开发板上板载了一个 led 发光二极管,他的实现原理就是通过 gpio 来控制 led 的亮灭(控制 gpio 输出高低电平)。 9 91 .1 i.MX6ULL GPIO 分析 分析i.MX6 ULL 终结者开发板使用的 cpu 是 I.MX6ULL,该 cpu 的参考手册我们放到了光盘目录的“i.MX6UL 终结者光盘资料�3_开发板硬件资料�2_芯片资料1、I.MX6ULL 芯片资料.zip ”压缩包里面,如下图所示: 1.jpg
[单片机]
使用迅为<font color='red'>IMX6ULL</font>开发板第一个汇编实验(一)
IMX6ULL开发板Linux设备树实验
在上一节迅为IMX6ULL开发板已经对DTS的语法做了比较详细的介绍,在本节中根据前面讲解的语法,从头到尾编写一个小型的设备树文件。我们会以一个虚拟的设备作为参考,提前假设一些外部设备和功能。当然这个虚拟的设备没有任何的意思,只是为了复习掌握前面学习的设备树语法。在实际产品的开发过程中,我们不需要从头编写一个dts设备树文件,一般都是使用soc厂商提供的dts文件,我们只需要根据自己的实际情况修改添加自己的内容即可。 下面这个假设的设备,制造商为“Acme”,并命名为“Coyote's Revenge”,具体功能如下: l 一个32位ARM CPU l 处理器本地总线连接到内存映射的串行口、spi 总线控制器、i2c
[单片机]
迅为IMX6ULL开发板NFS服务器的使用
(1)我们将开发板开发板烧写 yocto 文件系统,有线网口通过网线连接到路由器,系统起来后首先使用“ifconfig”查看开发板 ip。如下图所示: (2)在 Ubuntu 上输入“ifconfig”,查看一下 NFS 服务器(Ubuntu)的 ip 地址,如下图所示: (3)通过查询 ip 地址,查看到开发板和服务器在同一网段,如果不在同一网段,则需要修改开发板的网络设置,重新设置 ip 地址并重启开发板使之生效。 (4)开发板上使用 ping 命令测试网络,如下图所示,开发板和 ubuntu 服务器之间的网络是连通的。 (5)挂载 nfs 服务器共享的目录,命令如下: mount -t nfs -o nolock,nf
[单片机]
迅为<font color='red'>IMX6ULL</font>开发板NFS服务器的使用
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved