For i.MX 8M EVK, to build imx-boot image by using imx-mkimage, perform the following steps: 1. Copy and rename mkimage from u-boot/tools/mkimage to imx-mkimage/iMX8M/mkimage_uboot. 2. Copy u-boot-spl.bin from u-boot/spl/u-boot-spl.bin to imx-mkimage/iMX8M/. 3. Copy u-boot-nodtb.bin from u-boot/u-boot-nodtb.bin to imx-mkimage/iMX8M/. 4. Copy imx8mq-evk.dtb (for i.MX 8M Quad EVK), imx8mm-evk.dtb (for i.MX 8M Mini LPDDR4 EVK), imx8mm-ddr4-evk.dtb (for i.MX 8M Mini DDR4 EVK), or imx8mp-evk.dtb (for i.MX 8M Plus LPDDR4 EVK) from u-boot/arch/arm/dts/ to imx-mkimage/iMX8M/. 5. Copy bl31.bin from Arm Trusted Firmware (imx-atf) to imx-mkimage/iMX8M/. 6. Copy firmware/hdmi/cadence/signed_hdmi_imx8m.bin from the firmware-imx package to imx-mkimage/iMX8M/. 7. For i.MX 8M Quad and i.MX 8M Mini LPDDR4 EVK, copy lpddr4_pmu_train_1d_dmem.bin, lpddr4_pmu_train_1d_imem.bin, lpddr4_pmu_train_2d_dmem.bin, and lpddr4_pmu_train_2d_imem.bin from firmware/ddr/synopsys of the firmware-imx package to imx-mkimage/ iMX8M/. For i.MX 8M Mini DDR4 EVK, copy ddr4_imem_1d.bin, ddr4_dmem_1d.bin, ddr4_imem_2d.bin, and ddr4_dmem_2d.bin from firmware/ddr/synopsys of the firmware-imx package to imx-mkimage/iMX8M. For i.MX 8M Plus LPDDR4 EVK, copy lpddr4_pmu_train_1d_dmem_201904.bin, lpddr4_pmu_train_1d_imem_201904.bin, lpddr4_pmu_train_2d_dmem_201904.bin, and lpddr4_pmu_train_2d_imem_201904.bin from firmware/ddr/synopsys of the firmware-imx package to imx-mkimage/iMX8M/. 8. For i.MX 8M Quad EVK, run make SOC=iMX8M flash_evk to generate flash.bin (imx-boot image) with HDMI FW included. For i.MX 8M Mini LPDDR4 EVK, run make SOC=iMX8MM flash_evk to generate flash.bin (imx-boot image). For i.MX 8M Mini DDR4 EVK, run make SOC=iMX8MM flash_ddr4_evk to generate flash.bin (imx-boot image). For i.MX 8M Plus LPDDR4 EVK, run make SOC=iMX8MP flash_evk to generate flash.bin (imx-boot-image). To boot with eMMC fasboot on i.MX 8M Quad EVK and i.MX 8M Mini LPDDR4 EVK, use flash_evk_emmc_fastboot target.
./nxp/imx8plus/cortex-m7/SDK_2_13_0_EVK-MMP/boards/evkmimx8mp/demo_apps/hello_world/armgcc$ ./build_all.sh CMake Error at /home/falinux/바탕화면/nxp/imx8plus/cortex-m7/SDK_2_13_0_EVK-MIMX8MP/tools/cmake_toolchain_files/armgcc.cmake:16 (MESSAGE): ***Please set ARMGCC_DIR in envionment variables*** Call Stack (most recent call first): /usr/share/cmake-3.10/Modules/CMakeDetermineSystem.cmake:91 (include) CMakeLists.txt:10 (ENABLE_LANGUAGE)
아래와 같이 추가해주면 일단 빌드가 문제없이 된다.
$ export ARMGCC_DIR=/usr
imx8 SD 카드의 boot 파티션에 release/hello_world.bin 을 복사해서 넣고
아래의 문장을 uboot 에서 따라하면
If the hello_world.bin is made from the debug/release target, which means the binary file will run at TCM, use the following commands to boot: • fatload mmc 1:1 0x48000000 hello_world.bin;cp.b 0x48000000 0x7e0000 20000; • bootaux 0x7e0000
출처 : Getting Started with MCUXpresso SDK for EVK-MIMX8MP
아래와 같이 /dev/ttyUSB3 포트를 통해서 hello world. 가 출력된다.
다만.. 이녀석은 TCM 에서 빌드되어 실행되기로 상정(?)된 파일이기 때문에 리눅스의 sysfs를 통해서 실행하려면
어떤 바이너리를 통해 실행해야 하려나?
b. If the hello_world.bin is made from the ddr_debug/ddr_release target, which means the binary file runs at DRAM, use the following commands: • fatload mmc 1:1 0x80000000 hello_world.bin • dcache flush • bootaux 0x80000000
c. If the hello_world.bin is made from the flash_debug/flash_release target, which means the binary file runs at QSPI/XIP, use the following commands: • sf probe • sf read 0x80000000 0 4 • fatload mmc 1:1 0x80000000 flash.bin • dcache flush • sf erase 0 0x100000 • sf write 0x48000000 0 0x100000 • bootaux 0x8000000
Note: If the Linux OS kernel runs together with M7, make sure the correct dtb file is used. This dtb file reserves resources used by M7 and avoids the Linux kernel from configuring them. Use the following command in U-Boot before running the kernel: setenv fdtfile ‘imx8mp-evk-rpmsg.dtb’
NatureDSP Library is an extensive library, containing the most commonly used signal processing functions: FFT, FIR, vector, matrix, and common mathematics. API and programing guide is in hifi4_library/doc/NatureDSP_Signal_Library_ Reference_HiFi4.pdf, and performance data is in hifi4_library/doc/ NatureDSP_Signal_Library_Performance_HiFi4.pdf.
NatureDSP Library package is license restricted on the i.MX platform. License authorization is required from the NXP marketing for the users to access the source code.