第7章 烧写整个系统或更新部分系统
详细的手把手教学视频请看
https://www.bilibili.com/video/BV1zV411U7H9?p=7
百问网开发了一款烧写软件:100ask_imx6ull_flashing_tool,它 的界面如图 7.1:

使用这软件,只需要一条USB线连接电脑和开发板USB OTG口,只需要点击一个按钮就可以实现某项烧写功能。
100ask_imx6ull_flashing_tool是一个GUI前端,它调用NXP官方的烧写工具uuu:Universal Update Utility(又名mfgtools 3.0)。
市面上的imx6ull开发板多是使用mfgtools 2.0来烧写,效率不高,脚本复杂;uuu有所改进,但是烧写效率还是不高。
我们做了很多改进,烧写更方便、效率更高。使用mfgtools烧写500M的映象文件到EMMC,耗时5分钟;而使用100ask_imx6ull_flashing_tool只需要1分钟。
本章会首先介绍100ask_imx6ull_flashing_tool的使用,后面也会介绍常规的烧写方法。
7.1 怎么更新整个系统或某些部件
如果你要重新烧写板子的整个系统,请参考:
如果你要单独更新u-boot、内核、设备树,请参考:
其他章节可以忽略,有必要时再看。
7.2 100ASK_IMX6ULL启动开关
100ask_imx6ull Pro版、mini emmc版,都支持USB、EMMC、SD/TF卡三种启动方式。板子背后都画有一个表格,表示这3种方式如何设置。表格如下:
表 7‑1 启动方式说明
| BOOT CFG | ||||
|---|---|---|---|---|
| BOOT | SW1(LCD_DATA5) | SW2(LCD_DATA11) | SW3(BOOT_MODE0) | SW4(BOOT_MODE1) |
| EMMC | OFF | OFF | ON | OFF |
| SD | ON | ON | ON | OFF |
| USB | X | X | OFF | ON |
这3种启动方式的设置示意图如图 7.2:

其中的USB启动模式主要用来烧写系统。
注意:设置为USB启动时,不能先插上SD/TF卡。要在USB启动模式下烧写SD/TF卡时,需要先上电再插卡,先上电再插卡,先上电再插卡,。
注意:使用后EMMC、SD/TF卡启动方式之前,需要先在EMMC或SD/TF卡上烧写系统。
7.3 在Windows使用USB烧写工具
NXP公司给IMX6ULL提供了烧写工具:mfgtools,它的使用界面如图 7.3:

操作很简单,一键烧写整个映象文件。但是,缺点也很多:
- 不能单独烧写bootloader、内核、设备树或者说,可以实现这些功能,但是需要你去修改xml配置文件,对初学者不 友善,对老手也显得麻烦。
- 烧写速度慢,烧写500M的系统,耗时5分钟(我们的工具可以在1分钟内烧完)。
基于上述缺点,我们开发了新的烧写工具100ask imx6ull flashing tool,并且完全开源。它有如下特点:
- 可以烧写整个系统,也可以分开烧写bootloader、内核、设备树
- 可以上传用户文件到开发板系统中任意目录里
- 烧写速度是原厂工具的5倍
- 支持所有厂家的开发板烧写,注意:不只是支持100ASK_IMX6ULL,还支持其他厂家的IMX6ULL开发板。
在“网盘的配套的资料/02_开发工具/100ask_imx6ull_pro开发板系统烧写工具_支持ADB”目录下双击运行“100ask_imx6ull_flashing_tool.exe”。它有“基础版”、“专业版”两个页面,如图 7.4所示

“基础版”是专为100ASK_IMX6ULL设计的,点击一下即可完成某项烧写。
“专业版”功能更强大,特别是它可以上传文件到某个分区、某个目录。有些厂家的开发板,zImage和设备树是在第1个分区里的,而100ASK_IMX6ULL的zImage和设备树是在第2个分区里,所以这些厂家的开发板就无法使用基础版来烧写,需要使用专业版,指定分区、指定分区格式、指定路径,然后再上传文件。
注意:开发板必须设置为USB模式,如果要用SD/TF卡,必须先上电再插卡;不能先插卡再上电,不能先插卡再上电,不能先插卡再上电!