Skip to main content
Associate
June 9, 2026
Question

SFI on STM32H533 terminates early

  • June 9, 2026
  • 6 replies
  • 101 views

Hello,

 

I am re-posting this.

My original post on the old forums seems to have disappeared !?!

I have prepared an SFI (with firmware, debug authentication key and option bytes)

After SFI I want to boot to address 0x0C000000

To achieve this I have programmed Option Bytes:

BOOT_UBE = 0xB4 (OEM-iROT)

TZEN = 0xB4

PRODUCT_STATE = 0x72 (closed)

(and some other bytes)

 

After (successful ??) SFI, the Option Bytes are not programmed correctly

It seems that SFI terminated early. PRODUCT_STATE is 0x17, UBE = 0xC3

 

Programming log is attached

 

Am I being stupid? Am I missing something…?

 

Note : I cannot attach the programming log because the attach feature does not work anymore. But it’s not really a useful feature anyway right? Who needs it.

 

So I have made a copy-paste instead.

 

14:18:32 : Requesting Chip Certificate from device ...
14:18:32 : Reading chip Certificate finished
14:18:32 : Get Certificate done successfully
14:18:32 : requesting license for the current STM32 device
14:18:32 : Init Communication ... 
14:18:32 : P11 lib initialization Success!
14:18:32 : Opening session with slot ID 1... 
14:18:33 : Succeed to Open session with reader slot ID 1 
14:18:34 : Succeed to generate license for the current STM32 device
14:18:34 : Closing session with reader slot ID 1... 
14:18:34 : Session closed with reader slot ID 1 
14:18:34 : Closing communication with HSM... 
14:18:34 : Communication closed with HSM 
14:18:34 : Succeed to get License for Firmware from HSM slot ID 1
14:18:34 : Starting Firmware Install operation...
14:18:34 : Warning: Option Byte: WRPSGn1, value: 0xFF, was not modified.
14:18:34 : Warning: Option Byte: WRPSGn2, value: 0xFF, was not modified.
14:18:34 : Warning: Option Bytes are unchanged, Data won't be downloaded
14:18:34 : Time elapsed during option Bytes configuration: 00:00:00.010
14:18:35 : ST-LINK SN  : 002600343433511737363934
14:18:35 : ST-LINK FW  : V3J15M6
14:18:35 : Board       : NUCLEO-H533RE
14:18:35 : Voltage     : 3.28V
14:18:35 : SWD freq    : 8000 KHz
14:18:35 : Connect mode: Hot Plug
14:18:35 : Reset mode  : Software reset
14:18:35 : Device ID   : 0x478
14:18:35 : Revision ID : --
14:18:35 : Warning: Option Byte: BOOT_UBE, value: 0xB4, was not modified.
14:18:35 : Warning: Option Bytes are unchanged, Data won't be downloaded
14:18:35 : Time elapsed during option Bytes configuration: 00:00:00.010
14:18:35 : Reconnecting...
14:18:36 : Reconnected !
14:18:36 : Reconnecting...
14:18:37 : Reconnected !
14:18:37 : Time elapsed during option Bytes configuration: 00:00:02.425
14:18:39 : ST-LINK SN  : 002600343433511737363934
14:18:39 : ST-LINK FW  : V3J15M6
14:18:39 : Board       : NUCLEO-H533RE
14:18:39 : Voltage     : 3.28V
14:18:39 : SWD freq    : 8000 KHz
14:18:39 : Connect mode: Hot Plug
14:18:39 : Reset mode  : Software reset
14:18:39 : Device ID   : 0x478
14:18:39 : Revision ID : --
14:18:39 : Warning: Option Bytes are unchanged, Data won't be downloaded
14:18:39 : Time elapsed during option Bytes configuration: 00:00:00.012
14:18:39 : Warning: Option Byte: SECBOOT_LOCK, value: 0xC3, was not modified.
14:18:39 : Warning: Option Bytes are unchanged, Data won't be downloaded
14:18:39 : Time elapsed during option Bytes configuration: 00:00:00.012
14:18:39 : Warning: Option Byte: SECBOOTADD, value: 0xC0000, was not modified.
14:18:39 : Warning: Option Byte: SECWM1_END, value: 0x1F, was not modified.
14:18:39 : Warning: Option Byte: SECWM1_STRT, value: 0x0, was not modified.
14:18:39 : Warning: Option Byte: SECWM2_END, value: 0x1F, was not modified.
14:18:39 : Warning: Option Byte: SECWM2_STRT, value: 0x0, was not modified.
14:18:39 : Warning: Option Byte: SRAM1_3_RST, value: 0x1, was not modified.
14:18:39 : Warning: Option Byte: SRAM2_ECC, value: 0x0, was not modified.
14:18:39 : Warning: Option Byte: SRAM2_RST, value: 0x0, was not modified.
14:18:39 : Warning: Option Bytes are unchanged, Data won't be downloaded
14:18:39 : Time elapsed during option Bytes configuration: 00:00:00.014
14:18:40 : ST-LINK SN  : 002600343433511737363934
14:18:40 : ST-LINK FW  : V3J15M6
14:18:40 : Board       : NUCLEO-H533RE
14:18:40 : Voltage     : 3.28V
1 4:18:40 : SWD freq    : 8000 KHz
14:18:40 : Connect mode: Hot Plug
14:18:40 : Reset mode  : Software reset
14:18:40 : Device ID   : 0x478
14:18:40 : Revision ID : --
14:18:40 : Reconnecting...
14:18:41 : Reconnected !
14:18:41 : Reconnecting...
14:18:42 : Reconnected !
14:18:43 : Time elapsed during option Bytes configuration: 00:00:03.045
14:18:44 : ST-LINK SN  : 002600343433511737363934
14:18:44 : ST-LINK FW  : V3J15M6
14:18:44 : Board       : NUCLEO-H533RE
14:18:44 : Voltage     : 3.28V
14:18:44 : SWD freq    : 8000 KHz
14:18:44 : Connect mode: Hot Plug
14:18:44 : Reset mode  : Software reset
14:18:44 : Device ID   : 0x478
14:18:44 : Revision ID : --
14:18:44 : Installing RSSe
14:18:44 : Opening and parsing file: RSSe_SFI_H523_H533_v3.0.0.bin
14:18:44 : Memory Programming ...
14:18:44 :   File          : RSSe_SFI_H523_H533_v3.0.0.bin
14:18:44 :   Size          : 57.89 KB 
14:18:44 :   Address       : 0x20034100 
14:18:44 : Erasing memory corresponding to segment 0:
14:18:44 : Download in Progress:
14:18:44 : File download complete
14:18:44 : Time elapsed during download operation: 00:00:00.121
14:18:44 : MCU Reset
14:18:45 : ST-LINK SN  : 002600343433511737363934
14:18:45 : ST-LINK FW  : V3J15M6
14:18:45 : Board       : NUCLEO-H533RE
14:18:45 : Voltage     : 3.28V
14:18:45 : SWD freq    : 8000 KHz
14:18:45 : Connect mode: Hot Plug
14:18:45 : Reset mode  : Software reset
14:18:45 : Device ID   : 0x478
14:18:45 : Revision ID : --
14:18:45 : Get RSSe status...
14:18:46 : RSS version = 1.0.0
14:18:46 : RSSe version = 3.0.0
14:18:46 : Starting SFI 
14:18:46 : Processing license...
14:18:46 : Get RSSe status...
14:18:46 : Processing Image Header
14:18:46 : Get RSSe status...
14:18:46 : Processing Area 1...
14:18:47 : Get RSSe status...
14:18:47 : Area Address = 0x0
14:18:47 : Area Type    = H
14:18:47 : Processing Area 2...
14:18:47 : Get RSSe status...
14:18:47 : Area Address = 0xFFD0100
14:18:47 : Area Type    = O
14:18:47 : Processing Area 3...
14:18:47 : Get RSSe status...
14:18:47 : Area Address = 0x8000000
14:18:47 : Area Type    = F
14:18:47 : Processing Area 4...
14:18:47 : Get RSSe status...
14:18:48 : Area Address = 0x8003000
14:18:48 : Area Type    = F
14:18:48 : Processing Area 5...
14:18:48 : Get RSSe status...
14:18:48 : Area Address = 0x800C000
14:18:48 : Area Type    = F
14:18:48 : Processing Area 6...
14:18:48 : ---- Is Last SFI Area !! ----
14:18:48 : Can not verify last area
14:18:48 : Area Address = 0x0
14:18:48 : Area Type    = C
14:18:48 : SFI Process Finished!
14:18:48 : SFI file Install Operation Success

 

Thanks

Paul

 

 

 

 

6 replies

Jocelyn RICARD
ST Employee
June 10, 2026

Hello ​@lp121 ,

This is strange indeed.

How did you check the value of option bytes after SFI ?

Also, when you say you have programmed the option bytes, did you program them before launching SFI or you are refering to the content of the csv file containing option bytes to be programmed at the end of SFI procedure ?

Best regards

Jocelyn

lp121Author
Associate
June 10, 2026

Hello Jocelyn,

 

The option bytes that I would like to program are included in the SFI image - Option bytes file xxxx.csv

 

 

At first, I checked the option byes with STM32Programmer (Hot plug mode), but I noticed that it seems to re-write the option bytes during connection:

 

  11:40:39 : SWD freq    : 8000 KHz
…...
  11:40:39 : SFSP Version: v1.2.0
  11:40:39 : UPLOADING OPTION BYTES DATA ...
(What is going on here ???)
  11:40:39 :   Bank          : 0x00
  11:40:39 :   Address       : 0x40022050

However, I noticed that when connecting with Debug Authentication DA, Option Bytes are not re-written (at least according to the log)

So, I then made a full regression and again performed SFI - same result i.e. ‘success’.

 

Then I connect using debug authentication DA. According to the log, this does not re-write option bytes.

After pressing Discover, the Life Cycle is PROVISIONING. I would expect that Life Cycle is CLOSED.

Do I misunderstand the meaning of Life Cycle??

 

If SFI is successful (CLOSED) then how can STM32Programmer Hot Plug re-program the state back to Provisioning without DA regression?

 

Paul

 

 

Jocelyn RICARD
ST Employee
June 11, 2026

Hello ​@lp121 ,

Could you please tell from which example you have started and what changes you have done especially regarding this csv file ?

Thank you

Best regards

Jocelyn