imx8ulp.rst 2.6 KB

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