i.MX8QM UUU 烧写 eMMC

关键字 :i.MX8 BSPNXP

     在项目量产时,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

https://www.nxp.com/support/developer-resources/embedded-software/linux-software-and-development-tools/embedded-linux-for-i.mx-applications-processors:IMXLINUX?&tab=Design_Tools_Tab

 

    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 并解压:

https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads

 

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

 

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论