Skip to the content.

1. Introduction

imx8mm_evk:

i.MX 8M Mini EVK board, 4核 Cortex-A53,1核 Cortex-M4F,1核 GPU。

2. Quick Start

3. Get and Build the ARM Trusted firmware

Note: builddir 是 U-Boot 构建目录(树内构建的源目录) 从以下位置获取 ATF:https://github.com/nxp-imx/imx-atf 分支: imx_5.4.47_2.2.0

$ make PLAT=imx8mm bl31
$ cp build/imx8mm/release/bl31.bin $(builddir)

4. Get the ddr firmware

$ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.9.bin
$ chmod +x firmware-imx-8.9.bin
$ ./firmware-imx-8.9
$ cp firmware-imx-8.9/firmware/ddr/synopsys/lpddr4*.bin $(builddir)

5. Build U-Boot for sd card

$ export CROSS_COMPILE=aarch64-poky-linux-
$ make imx8mm_evk_defconfig
$ make

将flash.bin烧录到MicroSD卡偏移33KB:

$sudo dd if=flash.bin of=/dev/sd[x] bs=1024 seek=33 conv=notrunc

6. Boot

将启动开关设置为 SD 启动。

7. Build U-Boot for qspi flash card

$ export CROSS_COMPILE=aarch64-poky-linux-
$ make imx8mm_evk_fspi_defconfig
$ make

目前,不直接支持写入 QSPI Flash。 从 SD 卡或通过网络将 flash.bin 复制到 ${loadaddr},然后复制到 qspi flash。

从 SD 卡到内存:

$mmc dev 1
$mmc read ${loadaddr} 0x00 <size_of_flash.bin/512>
$ sf probe
$ sf erase 0 <size_of_flash.bin_in_hex>
$ sf write $loadaddr 0x00 <size_of_flash.bin_in_hex>

8. Boot from QSPI Flash

将启动开关设置为 QSPI 闪存。

imx8mm_revC evk 的引脚配置从 qspi 闪存启动 SW1101: 0110xxxxxx SW1102: 00100x0010。