NAND update with customized trusted image

Revision as of 18:48, 30 November 2021 by Registered User (Nathalie Sangouard moved page STM32MP157x-EV1 NAND trusted image generated Device Tree to How to manage OpenSTLinux projects in STM32CubeIDE/NAND update with customized trusted image without leaving a redirect: LRA/NSA : sub-articles)
Renaming.png This page is a candidate for renaming (move).
The requested new name is: How to manage OpenSTLinux projects in STM32CubeIDE/NAND update with customized trusted image .
The supplied reason is: sub article .
-- Ludovic/Nathalie.
Wiki maintainers: remember to update the pages that link this page before renaming (moving) it.

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]

First NAND is intialized with Starter Package image thanks to STM32CubeProgrammer.
The trusted image is built inside STM32CubeIDE with Device Tree configured thanks to embedded STM32CubeMX. Next step is to update MP15 target; this meaning your MP15 target 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]

Here are the TF-A BL2, U-boot version and the used extlinux.conf file used in Starter Package.

NAND initial setting: TF-A BL2 version
NAND initial setting: U-boot version & extlinux.conf
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/nand0_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
NAND Linux® deployment message
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 MP15 target storage. This storage list depends on the board and on boot storage used. 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 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 U-Boot version & Linux® Device Tree

BackToNavigationTree button.png