1NXP i.MX 8ULP 2================== 3 4i.MX 8ULP is part of the ULP family with emphasis on extreme low-power techniques 5using the 28 nm fully depleted silicon on insulator process. Like i.MX 7ULP, 6i.MX 8ULP continues to be based on asymmetric architecture. 7 8The i.MX 8ULP family of processors features NXP’s advanced implementation of the 9dual Arm Cortex-A35 cores alongside an Arm Cortex-M33. This combined architecture 10enables the device to run a rich operating system (such as Linux) on the Cortex-A35 11core and an RTOS (such as FreeRTOS) on the Cortex-M33 core. It also includes a Cadence 12Tensilica Fusion DSP for low-power audio and a HiFi4 DSP for advanced audio and machine 13learning applications. 14 15The design enables clean separation between two processing domains, where each has 16separate power, clocking and peripheral islands, but the bus fabric of each domain 17is tightly integrated for efficient communication. The part is streamlined to minimize 18pin count, enabling small packages and simple system integration. This microprocessor 19is intended for applications where efficiency and simple system integration is important. 20`i.MX8ULP Applications Processors`_. 21 22Boot Sequence 23------------- 24 25BootROM --> SPL --> BL31 --> BL33(u-boot) --> Linux kernel 26 27How to build 28------------ 29 30Build Procedure 31~~~~~~~~~~~~~~~ 32 33- Prepare AARCH64 toolchain. 34 35- Get the ELE FW image from NXP linux SDK package 36 37- Build SPL and u-boot firstly, and get binary images: u-boot-spl.bin, 38 u-boot.bin and dtb 39 40- Build TF-A 41 42 Build bl31: 43 44 .. code:: shell 45 46 CROSS_COMPILE=aarch64-linux-gnu- make PLAT=<Target_SoC> bl31 47 48 Target_SoC should be "imx8ulp" for i.MX8ULP SoC. 49 50Deploy TF-A Images 51~~~~~~~~~~~~~~~~~~ 52 53TF-A binary(bl31.bin), u-boot-spl.bin u-boot.bin, ELE FW image are combined 54together to generate a binary file called flash.bin, the imx-mkimage tool is 55used to generate flash.bin, and flash.bin needs to be flashed into SD card 56with certain offset for BOOT ROM. 57 58Reference Documentation 59~~~~~~~~~~~~~~~~~~~~~~~ 60 61Details on how to prepare, generate & deploy the boot image be found in following documents: 62 63- i.MX Linux User's Guide 64 `link <https://www.nxp.com/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applications-processors:IMXLINUX>`__ 65- i.MX Linux Reference Manual 66 `link <https://www.nxp.com/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applications-processors:IMXLINUX>`__ 67 68.. _i.MX8ULP Applications Processors: https://www.nxp.com/products/processors-and-microcontrollers/arm-processors/i-mx-applications-processors/i-mx-8-applications-processors/i-mx-8ulp-applications-processor-family:i.MX8ULP 69 70