在项目量产时,BSP 镜像文件必须烧写到 eMMC,此时无法像 SD 卡,在HOST 端烧写,因此,必须使用UUU 工具,运行一个 DDR 环境的系统,识别并烧写 eMMC。以下介绍了如何使用 UUU 将镜像文件烧写到IMX8QM MEK 开发板的 eMMC 。
一、 获取交叉工具链
1.1 通过 Yocto 创建 SDK,并安装:
$ DISTRO=fsl-imx-wayland MACHINE=imx8qmmek source fsl-setup-release.sh -b imx8qmmek_toolchain $ bitbake core-image-minimal -c populate_sdk $ ./imx8qmmek_toolchain/tmp/deploy/sdk/fsl-ima-wayland-glibc-x86_63-core-image-minimal-aarch64-toolchain-4.14-sumo.sh |
ps:将工具安装到自己自己熟悉目录下
二、 获取 u-boot
2.1 下载 u-boot 源代码:
$ git clone https://source.codeaurora.org/external/imx/uboot-imx $ git checkout rel_imx_4.14.98_2.0.0_ga |
2.2 配置 u-boot ,修改文件 ./configs/imx8qm_mek_defconfig:
2.3 开始编译:
$ source ../toolchain/environment-setup-aarch64-pocky-linux $ echo $CC $ make imx8qm_mek_defconfig $ make |
2.4 在该目录下生成文件 u-boot.bin
三、 获取 SCFW
3.1 下载 L4.14.98_2.0.0_scfwkit_1.2.tar.gz
3.2 执行如下命令:
$ cd package $ ./imx-scfw-porting-kit-1.2.bin --auto-accept |
3.3 从网上下载 gcc-arm-none-eabi-6-2017-q2-update-linua.tar.bz2 并解压:
3.4 根据 MX8QM_B0_LPDDR4_RPA_1.6GHz_v17_ICON.excel 文件中,配置“Register Configuration”正确以后,复制“DCD CFG file”表中的配置到文件:
~/imx-standalone/imx-scfw-porting-kit-1.2/packages/imx-scfw-porting-kit-1.2/src/scfw_export_mx8qm_b0/platform/board/mx8qm_mek/dcd/imx8qm_dcd_1.6GHz.cfg
3.5 执行如下命令:
$ export TOOLS=/home/xxx/imx-standalone/imx-scfw-porting-kit-1.2 $ make qm R=B0 D=0 M=0 |
3.6 会生成文件:
~/imx-standalone/imx-scfw-porting-kit-1.2/packages/imx-scfw-porting-kit-1.2/src/scfw_export_mx8qm_b0/build_mx8qm_b0/scfw_tcm.bin
四、获取 ATF
4.1 下载 ATF 源代码:
$ git clone https://source.codeaurora.org/external/imx/imx-atf $ git checkout rel_imx_4.14.98_2.0.0_ga |
4.2 执行如下代码:
$ source ../toolchain/environment-setup-aarch64-pocky-linux $ echo $CC $ make clean PLAT=imx8qm $ LDFLAGS=”” make PLAT=imx8qm |
4.3 会生成文件:imx-atf/imxqm/release/bl31.bin
五、 获取 SECO(firmware container image)
5.1 下载源代码并执行命令:
$ wget https://www.nxp.com/lgfiles/NMG/MAD/TOCTO/firmware-imx-8.1.bin $ chmod +x firmware-imx8-8.1.bin $ ./ firmware-imx8-8.1.bin --auto-accept |
5.2 会生成文件:firmware-imx8-8.1.bin/firmware/sero/mx8qm-ahab-container.img
六、 生成 BootLoader
6.1 下载 imx-mkimage 代码:
$ git clone https://source.codeaurora.org/external/imx/imx-mkimage $ git checkout –b master rel_imx_4.14.98_2.0.0_ga |
6.2 将上述第二、三、四、五节生成的文件拷贝到目录 imx-mkimage/iMX8QM/ 下,执行命令:
$ make SOC=iMX8QM flash |
6.3 会在该目录下生成 flash.bin ,即为我们需要的 BootLoader。
七、 开始烧录
7.1 在官网上下载 L4.14.98_2.0.0_ga_images_MX8QMMEK:
https://www.nxp.com/design/i.mx-developer-resources/i.mx-software-and-development-tools:IMX-SW
在网页下载 uuu-1.3.102 工具:
https://github.com/NXPmicro/mfgtools/releases
7.2 将生成的文件 flash.bin 和 uuu.exe 拷贝到 L4.14.98_2.0.0_ga_images_MX8QMMEK 目录下
7.3 打开 DOS:
> e: > cd demo > cd L4.14.98_2.0.0_ga_images_MX8QMMEK >.\uuu-1.3.102.exe -b emmc_all _flash.bin fsl-image-validation-imx8qmmek.sdcard |
烧录成功提示如下:
参考资料:
1.UUU.pdf
2.i.MX_Yocto_Project_User's_Guide.pdf
评论