Skip to main content
Associate II
February 14, 2025
Solved

STM32U585 - can't get SBSFU-example to work

  • February 14, 2025
  • 1 reply
  • 621 views

Hi, I'm trying to adapt the SBSFU-Cube repository example for the B-U585I-IOT02A (STM32CubeU5\Projects\B-U585I-IOT02A\Applications\SBSFU, repository V1.7.0) to a custom PCB with STM32U585CITx. Since I don't have access to UART1 I changed it in com.h (both headers) and low_level_com.c to UART2. Also I'm using a J-Link, so I changed the connection configurations in the scripts accordingly. Since I don't have access to the BOOT0-pin I set the option bytes nSWBOOT0=0 and nBOOT0=1. Building the FW and running the scripts works flawless, also an investigation with STM32CubeProgrammer shows, that the binaries (Appli, Boot and Loader) are correct and at the flash-addresses where they are supposed to be. But when I reset the MCU after running SBSFU_UPDATE.sh there is absolute radio silence. Nothing shows on the Tera Term-terminal and also adding logs for Segger RTT viewer doesn't change anything, there's no feedback at all. I re-checked the option bytes, boot addresses, compared the flash content to the bin-files, checked the UART, everything seems correct. Tamper detection is deactivated as described in the example's README. I ran out of ideas how to debug the issue. I also tried it with the TFM_SBSFU example, it showed the same results. Is there anything not compatible regarding flash memory mapping between the U585I-IOT02A and the STM32U585CITx? Is there another file that needs to be adjustet for the use of UART2? Thanks in advance

This topic has been closed for replies.
Best answer by AAArdvark

SOLVED: the regression script wasn't fully working, after running it SECBOOT0-address was set to 0x0C000000 instead of 0x0C006000

1 reply

AAArdvarkAuthorBest answer
Associate II
February 19, 2025

SOLVED: the regression script wasn't fully working, after running it SECBOOT0-address was set to 0x0C000000 instead of 0x0C006000