Jacky Bai | 9ac703b | 2023-06-09 14:36:56 +0800 | [diff] [blame] | 1 | NXP i.MX 9 Series |
| 2 | ================== |
| 3 | |
| 4 | Building on the market-proven i.MX 6 and i.MX 8 series, i.MX 9 series applications |
| 5 | processors bring together higher performance applications cores, an independent |
| 6 | MCU-like real-time domain, Energy Flex architecture, state-of-the-art security |
| 7 | with EdgeLock® secure enclave and dedicated multi-sensory data processing engines |
| 8 | (graphics, image, display, audio and voice). The i.MX 9 series, part of the EdgeVerse™ |
| 9 | edge computing platform, integrates hardware neural processing units across many |
| 10 | members of the series for acceleration of machine learning applications at the edge |
| 11 | `i.MX9 Applications Processors`_. |
| 12 | |
| 13 | Boot Sequence |
| 14 | ------------- |
| 15 | |
| 16 | BootROM --> SPL --> BL31 --> BL33(u-boot) --> Linux kernel |
| 17 | |
| 18 | How to build |
| 19 | ------------ |
| 20 | |
| 21 | Build Procedure |
| 22 | ~~~~~~~~~~~~~~~ |
| 23 | |
| 24 | - Prepare AARCH64 toolchain. |
| 25 | |
| 26 | - Get the ELE FW image from NXP linux SDK package |
| 27 | |
| 28 | - Build SPL and u-boot firstly, and get binary images: u-boot-spl.bin, |
| 29 | u-boot.bin and dtb |
| 30 | |
| 31 | - Build TF-A |
| 32 | |
| 33 | Build bl31: |
| 34 | |
| 35 | .. code:: shell |
| 36 | |
| 37 | CROSS_COMPILE=aarch64-linux-gnu- make PLAT=<Target_SoC> bl31 |
| 38 | |
| 39 | Target_SoC should be "imx93" for i.MX93 SoC. |
| 40 | |
| 41 | Deploy TF-A Images |
| 42 | ~~~~~~~~~~~~~~~~~~ |
| 43 | |
| 44 | TF-A binary(bl31.bin), u-boot-spl.bin u-boot.bin, ELE FW image are combined |
| 45 | together to generate a binary file called flash.bin, the imx-mkimage tool is |
| 46 | used to generate flash.bin, and flash.bin needs to be flashed into SD card |
| 47 | with certain offset for BOOT ROM. |
| 48 | |
| 49 | Reference Documentation |
| 50 | ~~~~~~~~~~~~~~~~~~~~~~~ |
| 51 | |
| 52 | Details on how to prepare, generate & deploy the boot image be found in following documents: |
| 53 | |
| 54 | - i.MX Linux User's Guide |
| 55 | `link <https://www.nxp.com/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applications-processors:IMXLINUX>`__ |
| 56 | - i.MX Linux Reference Manual |
| 57 | `link <https://www.nxp.com/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applications-processors:IMXLINUX>`__ |
| 58 | |
| 59 | .. _i.MX9 Applications Processors: https://www.nxp.com/products/processors-and-microcontrollers/arm-processors/i-mx-applications-processors/i-mx-9-processors:IMX9-PROCESSORS |
| 60 | |