2024-11-22 04:24 AM - edited 2024-11-25 03:15 AM
I am trying to get SBSFU (1_image) running on the STM32H755. I'm working from um2262 and this post https://community.st.com/t5/stm32-mcus-security/sbsfu-porting-to-a-custom-board/m-p/200240/highlight/true#M2917
My setup is a NUCLEO-H755zi, STM32CubeToolchain and I'm starting from the NUCLEO-H753 example.
For now I am just trying to get the M7 running and will aim to add the M4 later. (M4 boot is disabled in the option bytes). Looking back at my diff all that has changes I've made from the example are:
- defines removed STM32H753xx and added STM32H755xx and CORE_CM7.
- replace system_stm32h7xx.c with system_stm32h7xx_dualcore_bootcm7_cm4gated.c
- app_sfu.h I've uncommented SFU_VERBOSE_DEBUG_MODE and SECBOOT_DISABLE_SECURITY_IPS
Having flashed the SBSFU.elf via CubeProgrammer and gone through the steps in 8.3 of um2262, there is no obvious UART connection or sign of life from the firmware.
I'm sure I'm missing something basic here. Any thoughts much appreciated.
Edit 1
The first thing I'd missed was section 3.3 of AN5056 which covers exactly the port I'm trying to make.
As a result I've added in the change from LDO to SMPS and added the check of BCM4.
Edit 2
Issue is now resolved. Writing the flash was failing. I had to reset my option bytes according to :
https://community.st.com/t5/stm32-mcus-security/enabling-pcrop-with-rdp-level-0-causes-board-to-crash/m-p/199334/highlight/true#M2883
I'm not sure if there is an error in the description of PROT_AREA_END[1-2] in cube programmer. It says "Deactivation of PCROP can be done by enbaling DMEP1 bit and changing RDP from level 1 to level 0 while putting end address greater than start address". From my experience end address needs to be less than start address.
Solved! Go to Solution.
2024-11-25 08:32 AM
Issue is now resolved. Writing the flash was failing. I had to reset my option bytes according to :
https://community.st.com/t5/stm32-mcus-security/enabling-pcrop-with-rdp-level-0-causes-board-to-crash/m-p/199334/highlight/true#M2883
I'm not sure if there is an error in the description of PROT_AREA_END[1-2] in cube programmer. It says "Deactivation of PCROP can be done by enbaling DMEP1 bit and changing RDP from level 1 to level 0 while putting end address greater than start address". From my experience end address needs to be less than start address.
2024-11-25 08:29 AM
Hello @tstokes ,
I'm glad you got it working just I have two requests:
Regards
2024-11-25 08:32 AM
Issue is now resolved. Writing the flash was failing. I had to reset my option bytes according to :
https://community.st.com/t5/stm32-mcus-security/enabling-pcrop-with-rdp-level-0-causes-board-to-crash/m-p/199334/highlight/true#M2883
I'm not sure if there is an error in the description of PROT_AREA_END[1-2] in cube programmer. It says "Deactivation of PCROP can be done by enbaling DMEP1 bit and changing RDP from level 1 to level 0 while putting end address greater than start address". From my experience end address needs to be less than start address.
2024-11-25 08:34 AM
Hello @tstokes ,
can you check the version of cubeProgrammer that you are currently using?
Regards
2024-11-25 08:37 AM