This article gives details about updating the bootloader objects of NAND memory, located onto STM32MP157x-EV1 (e.g.), using STM32CubeIDE.
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]
Here are the TF-A BL2, U-boot version and the used extlinux.conf file used in Starter Package.
3. Update[edit source]
After compiling the device tree using STM32CubeMX, STM32MP15 target bootfs partition must be updated the with new .dtb under /boot and /boot/nand0_extlinux/stm32mp157c-ev1_extlinux.conf must be adjusted. It can be done using to Cortex-A Linux® Deployment shortcut configuration available from Linux® project Run As... .
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/ .
4. Final configuration[edit source]
After the update, TF-A BL2 and U-Boot versions are modified and Linux® uses the generated device tree.