cancel
Showing results for 
Search instead for 
Did you mean: 

How to make TFA redundant and how to make ROM code select different partitions of FSBL?

ZUl A.1
Associate II

In stm32mp157, I need two partitions for FSBL, and it is working correctly, but I want to make TFA redundant meaning I should be able to update the second partition of FSBL and then shift it on the second partition on restart.

I have made roofs redundant, but then I used environment variables inside U-BOOT to switch partitions. TFA (BL2) runs instantly after the ROM code, and I cannot change that.

Is there any solution that I can do here? What is the purpose of having two FSBL partitions if it is not for redundant TFA?

13 REPLIES 13

https://wiki.st.com/stm32mpu/wiki/STM32CubeProgrammer_flashlayout

Also, you have suggested that there should be two partitions for TFA, FSBL1 and FSBL2.

I have corrupted the FSBL1 with random numbers but it does not go to FSBL2.

Hi @ZUl A.1​ ,

What kind of flash memory are you using?

Olivier

Olivier GALLIEN
In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

I am using eMMC. I am then using DD to corrupt the memory with some random number or zeros but when I restart, it just does not go the FSBL2 (partition 2).

Hi @ZUl A.1​ ,

My apology, for eMMC there's no mechanism of fallback in case of corruption..

There's only one "active" boot partition seen by the ROMCODE as per describe in

https://wiki.st.com/stm32mpu/wiki/STM32_MPU_ROM_code_overview#Boot_from_e-E2-80-A2MMC-E2-84-A2

you can change it by SW :

https://wiki.st.com/stm32mpu/wiki/How_to_manually_update_bootloaders#Select_boot_partition

Olivier

Olivier GALLIEN
In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.