NAND update with customized trusted image

Revision as of 22:48, 30 November 2021 by Registered User

This article gives details about updating the bootloader objects of NAND memory, located onto STM32MP157x-EV1 (e.g.), using STM32CubeIDE.

BackToNavigationTree button.png

1. Overview[edit source]

  • NAND is first initialized with Starter Package image thanks to STM32CubeProgrammer.
  • The trusted image is built inside STM32CubeIDE with device tree configured using embedded STM32CubeMX.
  • Next step is to update STM32MP15 board; this means the STM32MP15 board is up and running with network access: target status is green.
  • The way to check this customization is to compare version appearing in boot message.

2. Initial configuration[edit source]



  • NAND initial setting: TF-A BL2 version
NAND initial setting: TF-A BL2 version
  • NAND initial setting: U-boot version & extlinux.conf
NAND initial setting: U-boot version & extlinux.conf


  • NAND initial setting: extlinux.conf content
NAND initial setting: extlinux.conf content

3. Update[edit source]


First, after compiling device tree from STM32CubeMX we need to update MP15 target bootfs with new .dtb under /boot and adjust /boot/mmc0_extlinux/stm32mp157c-ev1_extlinux.conf. This is done thanks to Cortex-A Linux® Deployment shortcut configuration available from Linux® project Run As... .



  • Linux® deployment configuration
Linux® deployment configuration
  • NAND Linux® deployment message
NAND Linux® deployment message
  • NAND Linux® device tree update
NAND Linux® device tree update

Then, select Cortex-A project and right click to get Cortex-A Bootloader Deployment shortcut.


Connection is automatically set and you need to scan STM32MP15 target storage. This storage list depends on the board and on the used boot storage . Then, select

  • the storage to update, NAND #0 here;
  • TF-A BL2 & FIP image to update from FIP_artifacts/ .
  • NAND Bootloader deployment configuration
NAND Bootloader deployment configuration
  • NAND Bootloader deployment message
NAND Bootloader deployment message

4. Final configuration[edit source]

After the update, TF-A BL2 and U-Boot versions are modified and Linux® uses the generated device tree.

  • NAND updated TF-A BL2 version
NAND updated TF-A BL2 version
  • NAND updated U-Boot version & Linux® device tree
NAND updated U-Boot version & Linux® device tree

BackToNavigationTree button.png

No categories assignedEdit