本文是为了介绍使用“UUU”工具烧录 SDcard 的方法,主机环境是 Ubuntu16.04 ,硬件环境是 i.MX6ULEVK 。
一、 UUU 工具介绍
UUU 全称“Universal Update Utility”,是 MFGTools 工具的升级版。
随着时间的推移,对于实用程序可移植到 Linux 和 Windows 的需求也在增加。 UUU 工具也顺应趋势,在 Linux 和 Windows 两种操作系统上具有相同的使用方法,也就意味着同一脚本可以在两种操作系统工作。
i.MX6 系列 BSP 在版本 4.9.88 后基本只支持 UUU 工具进行烧录,因此学会使用这个工具是非常有必要的。
2. 使用环境
Windows:Windows 10,64 位,早期版本(低于 1.2.0 需要安装 vs2017 重分发包);
Linux:Ubuntu 16.14 或以上,64 位。
3. 基本使用方法
① 烧录 bootloader 命令:
$ uuu bootloader |
该命令即可将使用者的 bootloader 烧录至开发板的 RAM 中,并且可以正常启动该 bootloader 。结合参数可烧录至指定存储设备,如下:
$ uuu -b emmc bootloader //烧录至 emmc 中 $ uuu -b sd bootloader //烧录至 SDcard 中 |
② 借用参数烧录命令:
$ uuu -b sd_all bootloader rootfs.sdcard |
该命令中 rootfs.sdcard 是包含内核、设备树以及根文件系统的打包好的文件,由 Yocto 项目编译生成。更多使用方法可以使用“uuu --help”查询。
③ 借用脚本烧录命令:
$ uuu example_kernel.uuu |
该命令中 example_kernel.uuu 是一个命令脚本,UUU 根据该脚本的设定将 bootloader 、 kernel 、设备树及根文件系统烧录至存储设备。
脚本内容根据存储设备的特点编写,烧录时只需再配合拨码开关即可,便无需其他参数指定存储设备。
对于 i.MX6 系列,NXP 官网的 demo 文档包含参考烧录脚本,使用者可以直接使用,或者根据 UUU 烧录协议及原理自行编写。
二、 Linux 下具体操作
$ git clone https://github,com/NXPmicro/mfgtools/git $ cd mfgtools $ cmake . $ make $ chmod 777 uuu |
2. 将编译好的文件更改名称如下,拷贝至与 uuu 同一文件夹下:
文件系统: _rootfs.sdcard
u-boot: u-boot.imx
这一步的文件名是根据 UUU 工具参数或者所执行的脚本设定所决定的。
3. 硬件设置如下:
① 将开发板 i.MX6ULEVK 拨码开关拨至 serial download 模式:
② 连接用于烧录的 micro USB 接口和电源线:
ps:此处用的 micro USB 非数据串口,并且要注意拨码开关要调整到 serial download 模式,二者都要设置到位,否则会烧录失败。
4. 执行烧录命令:
$ chmod a+x uuu $ sudo ./uuu -b sd_all u-boot.imx _rootfs.sdcard
最后烧录成功: Success 1,Failure 0 |
5. 启动开发板时,将拨码开关重新调整至启动模式: SW602 “D1 - OFF , D2 - ON” , 使用串口 USB 口连接至电脑,使用 minicom 查看启动 log :
三、 Windows 具体操作
1. 下载 UUU 工具,进入网址: https://github.com/NXPmicro/mfgtools/releases 选择一个版本并下载,此处我们下载 uuu-1.2.91 ,我们使用的 UUU 工具为 uuu.exe 。2. 将 uuu.exe 和需要烧录的文件更名并放在同一文件夹下:
文件系统: _rootfs.sdcard
u-boot: u-boot.imx
3. 将硬件设置如第二节第 3 点所示,进入 DOS ,此处我们在 E 盘下操作:
> e: > cd demo > samples > .\uuu -b sd_all u-boot.imx _rootfs.sdcard
最后成功: Success 1,Failure 0 |
4. 启动开发板步骤同第二节。
参考资料:
评论