2026-05-06 8:22 AM - last edited on 2026-05-14 2:56 AM by Gyessine
this thread is split from this thread
hello
Last question, I just saw the example but it's not for the STM32H755ZI-Q series, are the examples still compatible with this STM32H755 series? Thanks
Solved! Go to Solution.
2026-05-14 5:39 AM
hello @Domy_ST
After setting PCROP for your desired memory area and ensuring both DMEP bits are cleared, the software in that area will continue to execute for the user during and after RDP regression. Only instruction fetches are allowed; all other access types are blocked, maintaining the security of your proprietary code.
the workflow to configure PCROP region:
PCROP Activation Rules
I would sugget to you to take a look at these references:
B.R
2026-05-06 8:39 AM - edited 2026-05-06 8:49 AM
Hello @Domy_ST ,
You need to port the project to match the device hardware requirements. Compatibility also depends on the security features supported by the device.
Unfortunately, in SBSFU there is no template project that supports dual-core capability on the H7 out of the box.
I suggest you start with the NUCLEO-H753ZI project and adapt it from there.
If you will be working with SBSFU Legacy, I suggest you take a look at these resources:
This is for further reading, to get you familiar with stm32 security features:
Thank you
2026-05-12 2:27 AM
Hello @Domy_ST,
Actually, there is an ST project that supports SBSFU on the NUCLEO-H755 with a demo application. However, it is somewhat old, and the last update was on 22-Dec-2021. You may need to port the changes yourself.
You can find it in the x-cube-aws version2.2.1: link
sorry for the confusion.
Best regards,
2026-05-12 4:36 AM
Hello @Onizuka09,
Thanks for the helpful support. I've recently been working on integrating SBSFU into my project and testing whether it works as I wanted, protecting flash memory from reading/writing without mass erasing.
I'll also check out this link as suggested.
Thanks
2026-05-13 6:11 AM
Hello @Onizuka09,
I tried to upload the project I downloaded from the link to STM32CubeIDE 2.0.0, but it gave me a compilation error. Did you try uploading the project and compiling it without errors?
Thanks
2026-05-13 7:07 AM
2026-05-13 7:24 AM
hello @Onizuka09,
the error reported is as follows:
make -j20 all
rm -f NUCLEO-H755ZI_aws_tests_CM7.elf
arm-none-eabi-gcc -o "NUCLEO-H755ZI_aws_tests_CM7.elf" @"objects.list" -mcpu=cortex-m7 -T"../stm32h755xx_flash_CM7.ld" --specs=nosys.specs -Wl,-Map="NUCLEO-H755ZI_aws_tests_CM7.map" -Wl,--gc-sections -static -Xlinker -L ../../../../BootLoader_OSC/Linker_Common/STM32CubeIDE --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -Wl,--end-group
C:/ST/STM32CubeIDE_2.0.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.13.3.rel1.win32_1.0.100.202509120712/tools/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld.exe: warning: NUCLEO-H755ZI_aws_tests_CM7.elf has a LOAD segment with RWX permissions
Finished building target: NUCLEO-H755ZI_aws_tests_CM7.elf
arm-none-eabi-size NUCLEO-H755ZI_aws_tests_CM7.elf
arm-none-eabi-objdump -h -S NUCLEO-H755ZI_aws_tests_CM7.elf > "NUCLEO-H755ZI_aws_tests_CM7.list"
text data bss dec hex filename
334368 896 378608 713872 ae490 NUCLEO-H755ZI_aws_tests_CM7.elf
arm-none-eabi-objcopy -O ihex NUCLEO-H755ZI_aws_tests_CM7.elf "NUCLEO-H755ZI_aws_tests_CM7.hex"
arm-none-eabi-objcopy -O binary NUCLEO-H755ZI_aws_tests_CM7.elf "NUCLEO-H755ZI_aws_tests_CM7.bin"
Finished building: default.size.stdout
Finished building: NUCLEO-H755ZI_aws_tests_CM7.hex
Finished building: NUCLEO-H755ZI_aws_tests_CM7.bin
Finished building: NUCLEO-H755ZI_aws_tests_CM7.list
sh ../../../../BootLoader_OSC/2_Images_SECoreBin/STM32CubeIDE/postbuild.sh .. ./NUCLEO-H755ZI_aws_tests_CM7.elf ./NUCLEO-H755ZI_aws_tests_CM7.bin 1 1
../../../../BootLoader_OSC/2_Images_SECoreBin/STM32CubeIDE/postbuild.sh: cd: line 39: can't cd to C:/Users/domen/Desktop/bootloader: No such file or directory
../../../../BootLoader_OSC/2_Images_SECoreBin/STM32CubeIDE/postbuild.sh: cd: line 43: can't cd to ../../../../../../../Middlewares/ST/STM32_Secure_Engine/Utilities/KeysAndImages: No such file or directory
../../../../BootLoader_OSC/2_Images_SECoreBin/STM32CubeIDE/postbuild.sh: cd: line 45: can't cd to C:/Users/domen/Desktop/bootloader: No such file or directory
prepareimage with python script
(null): can't open file 'C:/Users/domen/Desktop/bootloader': [Errno 2] No such file or directory
python C:/Users/domen/Desktop/bootloader STM32/x-cube-aws/STM32CubeExpansion_Cloud_AWS_V2.2.1/Projects/NUCLEO-H755ZI/Applications/BootLoader_OSC/prepareimage.py enc -k ../../../../BootLoader_OSC/2_Images_SECoreBin/STM32CubeIDE/../Binary/OEM_KEY_COMPANY1_key_AES_CBC.bin -i ../../../../BootLoader_OSC/2_Images_SECoreBin/STM32CubeIDE/../Binary/iv.bin ./NUCLEO-H755ZI_aws_tests_CM7.bin ../PostBuild/NUCLEO-H755ZI_aws_tests_CM7.sfu : failed
make[1]: *** [makefile:152: post-build] Error 1
make: *** [makefile:111: all] Error 2
"make -j20 all" terminated with exit code 2. Build might be incomplete.
It looks like something related to "LOAD segment with RWX permissions" failed.
2026-05-13 7:36 AM
hello @Domy_ST ,
This is actually an error due to an empty space in the directory name.
C:/Users/domen/Desktop/bootloader STM32/x-cube-aws/STM32CubeExpansion_Cloud_AWS_V2.2.1
As a result, the script interprets the path as separate directories instead of a single directory name.
Please remove the space:
bootloader STM32
then try again.
B.R
2026-05-13 8:10 AM
hello @Onizuka09,
You're right. I reloaded the project with the path without the spaces, but it still gives a compilation error like this:
make -j20 all
rm -f NUCLEO-H755ZI_aws_tests_CM7.elf
arm-none-eabi-gcc -o "NUCLEO-H755ZI_aws_tests_CM7.elf" @"objects.list" -mcpu=cortex-m7 -T"../stm32h755xx_flash_CM7.ld" --specs=nosys.specs -Wl,-Map="NUCLEO-H755ZI_aws_tests_CM7.map" -Wl,--gc-sections -static -Xlinker -L ../../../../BootLoader_OSC/Linker_Common/STM32CubeIDE --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -Wl,--end-group
C:/ST/STM32CubeIDE_2.0.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.13.3.rel1.win32_1.0.100.202509120712/tools/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld.exe: warning: NUCLEO-H755ZI_aws_tests_CM7.elf has a LOAD segment with RWX permissions
C:/ST/STM32CubeIDE_2.0.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.13.3.rel1.win32_1.0.100.202509120712/tools/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld.exe: ./Application/STM32CubeIDE/startup_stm32h755xx_CM7.o: in function `Reset_Handler':
C:/Users/domen/Desktop/bootloader_STM32/x-cube-aws/STM32CubeExpansion_Cloud_AWS_V2.2.1/Projects/NUCLEO-H755ZI/Applications/Cloud/aws_tests/STM32CubeIDE/Application/STM32CubeIDE/startup_stm32h755xx_CM7.s:65:(.text.Reset_Handler+0x4): undefined reference to `SystemInit'
C:/ST/STM32CubeIDE_2.0.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.13.3.rel1.win32_1.0.100.202509120712/tools/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld.exe: C:/Users/domen/Desktop/bootloader_STM32/x-cube-aws/STM32CubeExpansion_Cloud_AWS_V2.2.1/Projects/NUCLEO-H755ZI/Applications/Cloud/aws_tests/STM32CubeIDE/Application/STM32CubeIDE/startup_stm32h755xx_CM7.s:98:(.text.Reset_Handler+0x32): undefined reference to `main'
collect2.exe: error: ld returned 1 exit status
make[1]: *** [makefile:69: NUCLEO-H755ZI_aws_tests_CM7.elf] Error 1
make: *** [makefile:62: all] Error 2
"make -j20 all" terminated with exit code 2. Build might be incomplete.
It seems it doesn't see any functions for CM4, what could be the cause?
2026-05-13 8:52 AM
Hello @Domy_ST ,
the error you see is because the linker cannot find the implementation of this function
SystemInit
make sure this file present in the project structure
Cloud\aws_tests\Common\Src\system_stm32h7xx_dualcore_boot_cm4_cm7.c
and in the compilation process make sure that file is compiled.
B.R