cancel
Showing results for 
Search instead for 
Did you mean: 

SBSFU Implementation in Nucleo STM32H743ZI Board.

pragnesh
Associate III

   1. I need to implement SBSFU (Secure Boot and Secure Firmware Update) in my Nucleo STM32H743ZI Board, but the SBSFU package is available for STM32H753ZI, STM32H7B3I-DK, STM32H750B-DK board. So Which Package is best for the Nucleo STM32H743ZI board? what changes need for implementing that package in my Nucleo STM32H743ZI board. Please suggest the changes so, I can run SBSFU in the Nucleo STM32H743ZI board.

I have STM32CubeExpansion_SBSFU_v2.6.0. 

6 REPLIES 6
Fred
ST Employee

Hello,

to simplify, STM32H743ZI is basically STM32H753ZI without the crypto accelerators.

So, if you start from STM32H753ZI, the porting should be smooth.

Thanks & regards,

Fred

Jocelyn RICARD
ST Employee

Hello @pragnesh​ ,

to complete answer from @Fred​ , STM32H743 is also missing the secure memory management.

So you will not be able to activate this protection.

Other protections remain available of course.

Best regards

Jocelyn

pragnesh
Associate III

I am starting implementing SBSFU (Secure Boot and Secure Firmware Update) in my Nucleo STM32H743ZI Board. I have STM32CubeExpansion_SBSFU_v2.6.0. I am taking Reference for Nucleo STM32H753ZI MCU with 2_Images example.

  1. My Nucleo STM32H743ZI board has a 25 Mhz External crystal, so I change the clock config in the SBSFU file STM32H753ZI-Nucleo_2_Images_SBSFU and STM32H753ZI-Nucleo_2_Images_UserApp as shown below images. Is it correct ? or not then please suggest the correct Clock Config as per 25 Mhz Crystal. 0693W00000LyHHDQA3.png0693W00000LyHG0QAN.png
  2. What is the Option bytes configuration for Nucleo STM32H743ZI? I selected Option bytes as shown below image. Is it correct? If not then please suggest the correct Option bytes configuration for Nucleo STM32H743ZI MCU.0693W00000LyHebQAF.png0693W00000LyHevQAF.png0693W00000LyHa6QAF.png0693W00000LyHfAQAV.png
  3. I build all three project as per suggested  1). STM32H753ZI-Nucleo_2_Images_SECoreBin, 2). STM32H753ZI-Nucleo_2_Images_SBSFU, 3). STM32H753ZI-Nucleo_2_Images_UserApp.  

=> After Debug STM32H753ZI-Nucleo_2_Images_UserApp in the STM32H743ZI board, for the very first time Green LED blinks and code run in FW_APP_Run(); infinity loop but it does not show Log properly in Tera term I will attach Images for reference. Once I will Push Reset button or unplug and plug ST-Link (USB) then it goes in location 0xfffffffe as shown below.

Thread #1 [main] 1 [core: 0] (Suspended : Signal : SIGTRAP:Trace/breakpoint trap)

0xfffffffe

<signal handler called>() at 0xfffffff9

0693W00000LyI8vQAF.png@Jocelyn RICARD​ 

1. For the clock configuration, I recommend using CubeMX.

You can create a basic CubeMX project just to generate the clock as per your clock tree configuration.

Then you generate the oce and copy/paste only the clock configuration function form the generated CubeMX project to X-CUBE-SBSFU projects.

If you are not familiar with STM32CubeMX then you can follow this quick tutorial:

STM32StepByStep:Step2 Blink LED - stm32mcu

2. For the option bytes, you can refer to section 8.1 in this UM:

Getting started with the X-CUBE-SBSFU STM32Cube Expansion Package - User manual

It is not perfect but it gives a reference.

Then, if something goes wrong it should be captured by the SBSFU project when checking the option bytes at startup.

AMALV
Associate

@Fred​ @Jocelyn RICARD​ @pragnesh​ 

Sir,

I am also implementing 2 image SBSFU on NUCLEO-H743ZI using STM32CubeExpansion_SBSFU_V2.6.1.

I read all the SBSFU-related documents. I read the SBSFU integration guide also.

Q1.would you like to confirm that the only changes that need to be done are

  1. clock configuration as mentioned by Pragnesh and Fred.
  2. option bytes for board preparation

Q2. What else do I need to make changes?

Q3. Do I need to change in "Memory mapping definition" as mentioned in the SBSFU integration guide?

Please answer the above questions.

without your help, I will not be able to do it. so please help me.

Thanking you

Sincerely,

Aakash

Hi @AMALV​,

the STM32 naming convention can help you to confirm what you need to do.

You move from a H753ZI to H743ZI.

  • "Z" means that both of them have 144 pins, so it is likely that you will not need to rework the pin mapping.
  • "I" means 2MB so flash, so it you should not have to rework the memory mapping.

Due to the absence of Security Memory Management on H743, you also need to do without it.

Thanks & regards,

Fred