cancel
Showing results for 
Search instead for 
Did you mean: 

Porting of X-Cube-SBSFU to Nucleo H745

DN_1
Associate II

Hello, I am looking to port one the examples from X-CUBE-SBSFU to get it running on my Nucleo H745ZI-Q. For some background I am very new to the world of STM32 and STM32Cube and I am trying to learn to get this feature running on this nucleo board I am using.

I have looked through the document AN5056 and I dont entirely understand what I need to change to get the example running on my nucleo. I started off with trying to follow the steps in AN5056 and UM2262 using the project for NUCLEO-H753ZI in the SBSFU package. I chose this sample project as it seems to be the closest package to my nucleo H745 board.

I first added the projects for SECoreBin, SBSFU and UserApp to STM32CubeIDE. I updated the Tamper GPIO pin configuration in sfu_low_level_security.h to TAMPER2 since my board only has 2 tamper pins while the example was using 3. Then built all 3 of the projects in STM32CubeIDE. Following that I successfully downloaded the binary for SBSFU to my nucleo using STM32CubeProgrammer. After power cycling the board as described in the document, I connected to the serial monitor on TeraTerm, however nothing seems to be displaying on the screen.

After some thought, I realised what I have done was to load was a SBSFU binary for the H753ZI onto my H745ZI but with just a change to the tamper pin configuration.

At the moment I am trying to figure out how to configure the sample project to compile with the necessary files to run on the H753ZI.

Is there some linker that I need to change to tell the SBSFU to use H745ZI drivers or some configuration somewhere?

Or could the issue also be linked to the fact that the H754ZI is a dual core chip whilst the H753ZI is a single core?

Does anyone have some sample projects that I could reference to point me in the right direction on how to port the examples to another board sucessfully.

It doesnt necessarily have to be the H745ZI but could be from another example like the NUCLEO-L476RG to another board.

Thanks in advance for any help.

6 REPLIES 6
Jocelyn RICARD
ST Employee

Hello,

there is no other documentation to help you porting SBSFU.

Basically a porting requires:

  • Adapt the IDE files to the new target (I'm usually edinting directly the IDE configuration files as they are text files)
  • Adapt the flash mapping if necessary but try to avoid this if not mandatory to have a first working environment
  • in SECoreBin, there is usually nothing to do if you start from same family.
  • in SBSFU you have to adapt (in SBSFU/Target directory)
    • UART mapping (sfu_low_level
    • Flash part if flash sector mapping is different
    • Tamper mapping (but I never activate that : this is very specific)
  • UserApplication
    • Adapt uart mapping
    • Adapt flash if necessary

Start deactivating all SBSFU protection to get SBSFU working and check update.

Then go on with your project...

Then for dual core support, as said in other post, the point will be to manage concatenation of M7 and M4 binaries to make one binary.

I'll try to do this porting also but don't know when 🙂

I hope this will help

Best regards

Jocelyn

DN_1
Associate II

Hi Jocelyn,

Thanks for the input. I will retry the porting once again with all the input you have given me. As I am still very new to STM32, I hope this goes well.

It would be awesome if ST considers to put a dual example into their package although I am guessing the dual core user base might be quite small 😉

Thanks again!

Update 23/07/2020:

I was able to run it in debug again, for some reason debug configurations changed and was setup incorrectly.

----------------------------------------------------------------------------------------------------------------------------

Hi Everyone, after trying to port the H753 to H755(Someone else had borrowed my H745 but both of them are extremely similar), I was still not able to sucessfully execute the full process SBSFU example. I was able to load SBSFU but it is still not able to reach the part where it prints out to the serial terminal. There was an instance where I was able to run the example in debug on the IDE but after some flashing a few times, I have been getting an error when trying to run it in debug.

The console of STMCubeIDE says:

Download verified successfully

Target no device found

Error in initializing ST-LINK device.

Reason: No device found on target.

Failed to restart ST-LINK connection

Error in STM32CubeProgrammer

Error in executing 'detach' command ...

Debugger connection lost.

Shutting down...

The following pop up appeared.

0693W000001tNVVQA2.png

Unfortunately once this has been triggered, I am not able to execute or run the board in debug anymore and it has made it even harder.

Has anyone encountered this before because I cant seem to find much on this in other threads and it is blocking me from progressing.

Thanks in advance for any help !

Btw, one can use Alt+PrtScn for a snapshot of active window. 🙂

DN_1
Associate II

In fact that was what I did, what I didnt do was resize the popup before I closed it 😅 .

Hello,

could you try using STM32CubeProgrammer to fully erase the board?

Maybe you didn't deactivate the protections in SBSFU (app_sfu.h), leading to protection activation.

Best regards

Jocelyn