Skip to main content
Associate II
July 31, 2025
Question

Nucleo-H563ZI Debug Authentication Regression fails

  • July 31, 2025
  • 9 replies
  • 662 views

Hi everyone,

I tried Secure Firmware Install (SFI) with the Nucleo-H563ZI. The process failed, however my device is still accessible. 

By connecting to the device via Hot plug and Access port 1 I am able to see that the device is in "Provisioning" state.
The option bytes are as follows:

{
 "deviceId" : 1156,
 "bitNameToValue" : {
 "PRODUCT_STATE" : 23,
 "BOR_LEV" : 0,
 "BORH_EN" : 0,
 "IO_VDD_HSLV" : 0,
 "IO_VDDIO2_HSLV" : 0,
 "IWDG_STOP" : 1,
 "IWDG_STDBY" : 1,
 "BOOT_UBE" : 195,
 "SWAP_BANK" : 0,
 "IWDG_SW" : 1,
 "NRST_STOP" : 1,
 "NRST_STDBY" : 1,
 "TZEN" : 180,
 "SRAM2_ECC" : 1,
 "SRAM3_ECC" : 1,
 "BKPRAM_ECC" : 1,
 "SRAM2_RST" : 1,
 "SRAM1_3_RST" : 1,
 "NSBOOTADD" : 524288,
 "NSBOOT_LOCK" : 195,
 "SECBOOT_LOCK" : 0,
 "SECBOOTADD" : 0,
 "SECWM1_STRT" : 0,
 "SECWM1_END" : 127,
 "WRPSGn1" : -1,
 "SECWM2_STRT" : 0,
 "SECWM2_END" : 127,
 "WRPSGn2" : -1,
 "LOCKBL" : 0,
 "EDATA1_EN" : 0,
 "EDATA1_STRT" : 0,
 "EDATA2_EN" : 0,
 "EDATA2_STRT" : 0,
 "HDP1_STRT" : 1,
 "HDP1_END" : 0,
 "HDP2_STRT" : 1,
 "HDP2_END" : 0
 }
}

I want to go back to "Open" state. While setting up the SFI-Image I introduced a password authentication, not a certificate.

After the failed SFI-installation process I encountered that the device however had TrustZone enabled, which did not align with the password authentication. So I changed TZEN to 0xC3 instead of 0xB4. After that I performed a debug authentication with my password.bin - without success.

19:22:18 : Start Debug Authentication Sequence
19:22:18 : SDMOpen : 624 : open : SDM API v1.0
19:22:18 : SDMOpen : 625 : open : SDM Library version v1.2.0
19:22:18 : open_comms : 513 : open : Asserting target reset
19:22:18 : open_comms : 517 : open : Writing magic number
19:22:18 : open_comms : 537 : open : De-asserting target reset
19:22:18 : open_comms : 584 : open : Communication with the target established successfully
19:22:18 : discovery: target ID.......................:0x484
19:22:18 : discovery: SoC ID..........................:0x00000000_31393834_32335111_0051003D
19:22:18 : discovery: SDA version.....................:2.4.0
19:22:18 : discovery: Vendor ID.......................:STMicroelectronics
19:22:18 : discovery: PSA lifecycle...................:ST_LIFECYCLE_PROVISIONING
19:22:18 : discovery: PSA auth version................:1.0
19:22:18 : discovery: ST HDPL1 status.................:0xfffffffe
19:22:18 : discovery: ST HDPL2 status.................:0xfffffffe
19:22:18 : discovery: ST HDPL3 status.................:0xfffffffe
19:22:18 : discovery: Token Formats...................:0x200
19:22:18 : discovery: Certificate Formats.............:0x201
19:22:18 : discovery: cryptosystems...................:ST Password
19:22:18 : discovery: ST provisioning integrity status:0xf5f5f5f5
19:22:18 : discovery: permission if authorized...........:Full Regression
19:22:35 : UR connection mode is defined with the HWrst reset mode
19:22:35 : Start Debug Authentication Sequence
19:22:35 : SDMOpen : 624 : open : SDM API v1.0
19:22:35 : SDMOpen : 625 : open : SDM Library version v1.2.0
19:22:35 : open_comms : 513 : open : Asserting target reset
19:22:35 : open_comms : 517 : open : Writing magic number
19:22:35 : open_comms : 537 : open : De-asserting target reset
19:22:35 : open_comms : 584 : open : Communication with the target established successfully
19:22:35 : [00%]	discovery command
19:22:35 : [10%]	sending discovery command
19:22:35 : [20%]	receiving discovery
19:22:35 : [40%]	loading credentials
19:22:35 : [50%]	sending challenge request
19:22:35 : [60%]	receiving challenge
19:22:35 : Error: Debug Authentication Failed
19:22:35 : Disconnected from device.

 

 Afterwards I tried provisioning a new .obk file successfully:

19:24:45 : ST-LINK SN : 001C00303433510D37363934
19:24:45 : ST-LINK FW : V3J10M3
19:24:45 : Board : NUCLEO-H563ZI
19:24:45 : Voltage : 3.27V
19:24:45 : SWD freq : 8000 KHz
19:24:45 : Connect mode: Hot Plug
19:24:45 : Reset mode : Core reset
19:24:45 : Device ID : 0x484
19:24:45 : Revision ID : Rev X
19:24:45 : Secure Data Provisioning Start. OBK Input file : C:\...\STM32H523-H56x_ConfigWithPassword.obk
19:24:45 : OBKey Provisioned successfully C:\Users\...\STM32H523-H56x_ConfigWithPassword.obk 

Then I disconnected, power-on reset and again same error:

19:26:47 : Start Debug Authentication Sequence
19:26:47 : SDMOpen : 624 : open : SDM API v1.0
19:26:47 : SDMOpen : 625 : open : SDM Library version v1.2.0
19:26:47 : open_comms : 513 : open : Asserting target reset
19:26:47 : open_comms : 517 : open : Writing magic number
19:26:47 : open_comms : 537 : open : De-asserting target reset
19:26:47 : open_comms : 584 : open : Communication with the target established successfully
19:26:47 : discovery: target ID.......................:0x484
19:26:47 : discovery: SoC ID..........................:0x00000000_31393834_32335111_0051003D
19:26:47 : discovery: SDA version.....................:2.4.0
19:26:47 : discovery: Vendor ID.......................:STMicroelectronics
19:26:47 : discovery: PSA lifecycle...................:ST_LIFECYCLE_PROVISIONING
19:26:47 : discovery: PSA auth version................:1.0
19:26:47 : discovery: ST HDPL1 status.................:0xfffffffe
19:26:47 : discovery: ST HDPL2 status.................:0xfffffffe
19:26:47 : discovery: ST HDPL3 status.................:0xfffffffe
19:26:47 : discovery: Token Formats...................:0x200
19:26:47 : discovery: Certificate Formats.............:0x201
19:26:47 : discovery: cryptosystems...................:ST Password
19:26:47 : discovery: ST provisioning integrity status:0xf5f5f5f5
19:26:47 : discovery: permission if authorized...........:Full Regression
19:27:01 : UR connection mode is defined with the HWrst reset mode
19:27:01 : Start Debug Authentication Sequence
19:27:01 : SDMOpen : 624 : open : SDM API v1.0
19:27:01 : SDMOpen : 625 : open : SDM Library version v1.2.0
19:27:01 : open_comms : 513 : open : Asserting target reset
19:27:01 : open_comms : 517 : open : Writing magic number
19:27:01 : open_comms : 537 : open : De-asserting target reset
19:27:01 : open_comms : 584 : open : Communication with the target established successfully
19:27:01 : [00%]	discovery command
19:27:01 : [10%]	sending discovery command
19:27:01 : [20%]	receiving discovery
19:27:01 : [40%]	loading credentials
19:27:01 : [50%]	sending challenge request
19:27:01 : [60%]	receiving challenge
19:27:01 : Error: Debug Authentication Failed
19:27:01 : Disconnected from device.

Then I changed back to TrustZone enabled and provisioned with certificates:

19:51:46 : Secure Data Provisioning Start. OBK Input file : C:\workspace\STM32Cube_FW_H5_V1.5.0\Projects\NUCLEO-H563ZI\ROT_Provisioning\DA\Binary\DA_Config.obk
19:51:46 : OBKey Provisioned successfully C:\workspace\STM32Cube_FW_H5_V1.5.0\Projects\NUCLEO-H563ZI\ROT_Provisioning\DA\Binary\DA_Config.obk 
19:52:04 : Disconnected from device.

And tried regression via Debug Authentication:

19:52:24 : Start Debug Authentication Sequence
19:52:24 : SDMOpen : 624 : open : SDM API v1.0
19:52:24 : SDMOpen : 625 : open : SDM Library version v1.2.0
19:52:24 : open_comms : 513 : open : Asserting target reset
19:52:24 : open_comms : 517 : open : Writing magic number
19:52:24 : open_comms : 537 : open : De-asserting target reset
19:52:24 : open_comms : 584 : open : Communication with the target established successfully
19:52:24 : discovery: target ID.......................:0x484
19:52:24 : discovery: SoC ID..........................:0x00000000_31393834_32335111_0051003D
19:52:24 : discovery: SDA version.....................:2.4.0
19:52:24 : discovery: Vendor ID.......................:STMicroelectronics
19:52:24 : discovery: PSA lifecycle...................:ST_LIFECYCLE_PROVISIONING
19:52:24 : discovery: PSA auth version................:1.0
19:52:24 : discovery: ST HDPL1 status.................:0xfffffffe
19:52:24 : discovery: ST HDPL2 status.................:0xfffffffe
19:52:24 : discovery: ST HDPL3 status.................:0xfffffffe
19:52:24 : discovery: Token Formats...................:0x200
19:52:24 : discovery: Certificate Formats.............:0x201
19:52:24 : discovery: cryptosystems...................:Ecdsa-P256 SHA256
19:52:24 : discovery: ST provisioning integrity status:0xf5f5f5f5
19:52:24 : discovery: permission if authorized...........:Full Regression
19:52:24 : discovery: permission if authorized...........:To TZ Regression
19:52:24 : discovery: permission if authorized...........:Level 3 Intrusive Debug
19:52:24 : discovery: permission if authorized...........:Level 2 Intrusive Debug
19:52:24 : discovery: permission if authorized...........:Level 1 Intrusive Debug
19:52:24 : discovery: permission if authorized...........:Level 3 Intrusive Non Secure Debug
19:52:24 : discovery: permission if authorized...........:Level 2 Intrusive Non Secure Debug
19:52:24 : discovery: permission if authorized...........:Level 1 Intrusive Non Secure Debug
19:53:14 : Start Debug Authentication Sequence
19:53:14 : SDMOpen : 624 : open : SDM API v1.0
19:53:14 : SDMOpen : 625 : open : SDM Library version v1.2.0
19:53:14 : open_comms : 513 : open : Asserting target reset
19:53:14 : open_comms : 517 : open : Writing magic number
19:53:14 : open_comms : 537 : open : De-asserting target reset
19:53:14 : open_comms : 584 : open : Communication with the target established successfully
19:53:14 : [00%]	discovery command
19:53:14 : [10%]	sending discovery command
19:53:14 : [20%]	receiving discovery
19:53:14 : [40%]	loading credentials
19:53:14 : [50%]	sending challenge request
19:53:14 : [60%]	receiving challenge
19:53:14 : Error: Debug Authentication Failed

 The integrity status is definetley wrong according to:

• ST provisioning integrity: indicates if integrity of provisioned DA data is correct (0xeaeaeaea) or wrong
(0xf5f5f5f5).

Question:

Is there a way to fix the integrity status 0xf5f5f5f5 and hence perform a full regression?

 

Best regards

9 replies

Jocelyn RICARD
ST Employee
July 31, 2025

Hi @jho ,

it looks like you don't use last version of STM32CubeProgrammer but I doubt this could be the issue.

 

The fact that you get this integrity status to 0xf5f5f5f5 after provisioning the DA obk, probably means that you have provided an obk with encryption flag.

The obk is valid for provisioning but is invalid as H563 does not have crypto available.

Could you please check this point ?

Best regards

Jocelyn

 

jhoAuthor
Associate II
August 1, 2025

Hi Jocelyn,

I've explicitly selected the DA for the H563 from

STM32Cube_FW_H5_V1.5.0\Projects\NUCLEO-H563ZI\ROT_Provisioning\DA\Binary\DA_Config.obk

Is that correct?

 

Best regards,

jho

Jocelyn RICARD
ST Employee
August 1, 2025

Hi jho,

my point was to check that this DA_Config.obk or DA_ConfigWithPassword.obk were correct, in case they have been regenerated.

Now if they are correct, could you please try with latest version of STM32CubeProgrammer.

One last point is regarding your OB setup.

You have BOOT_UBE=0xC3 and TZEN=0xB4 this is configuration to enable STiROT.

But you have BOOT_LOCK and SECBOOT_ADDR that are set to 0 which is not normal or related to the programmer version you have.

Could you check setting BOOT_UBE=0xB4 and try again

Best regards

Jocelyn

 

jhoAuthor
Associate II
August 1, 2025

 

1. I regenerated a valid DA_Config.obk, completed the provisioning, and reran the regression - but the integrity status is still incorrect.

2. The attempt to change BOOT_UBE to 0xB4 raised an error:

12:45:56 : OPTION BYTE PROGRAMMING VERIFICATION:
12:45:56 : Error: Expected value for Option Byte "BOOT_UBE": 0xB4, found: 0xC3
12:45:56 : Error: Option Byte Programming failed Or modified by application after OB_LAUNCH

Similarly, attempts to change other option bytes such as SECBOOT_LOCK to 0xC3, SECWM1,2_STRT,END to factory default also fail with the same output: "Expected value for Option Byte [...], found [...]"

Overall the option bytes seem pretty out of order - is there a certain order I have to follow to change them back from my current configuration (first message) to a configuration where e.g. BOOT_UBE can be changed?

 

Thank you very much for your help!
Best regards

jhoAuthor
Associate II
August 1, 2025

Update: @Jocelyn RICARD 

I compared the option bytes of a brand-new Nucleo-H563ZI with thos of the "broken" board. Aside from BOOT_UBE and PRODUCT_STATE, every other field is identical. I am using STM32CubeProgrammer V2.20.0

 

Factory new Nucleo-H563ZI:

{
 "deviceId" : 1156,
 "bitNameToValue" : {
 "PRODUCT_STATE" : 237,
 "BOR_LEV" : 0,
 "BORH_EN" : 0,
 "IO_VDD_HSLV" : 0,
 "IO_VDDIO2_HSLV" : 0,
 "IWDG_STOP" : 1,
 "IWDG_STDBY" : 1,
 "BOOT_UBE" : 180,
 "SWAP_BANK" : 0,
 "IWDG_SW" : 1,
 "NRST_STOP" : 1,
 "NRST_STDBY" : 1,
 "TZEN" : 195,
 "USBPD_DIS" : 1,
 "SRAM2_ECC" : 1,
 "SRAM3_ECC" : 1,
 "BKPRAM_ECC" : 1,
 "SRAM2_RST" : 1,
 "SRAM1_3_RST" : 1,
 "NSBOOTADD" : 524288,
 "NSBOOT_LOCK" : 195,
 "SECBOOT_LOCK" : 0,
 "SECBOOTADD" : 0,
 "SECWM1_STRT" : 0,
 "SECWM1_END" : 127,
 "WRPSGn1" : 4294967295,
 "SECWM2_STRT" : 0,
 "SECWM2_END" : 127,
 "WRPSGn2" : 4294967295,
 "LOCKBL" : 0,
 "EDATA1_EN" : 0,
 "EDATA1_STRT" : 0,
 "EDATA2_EN" : 0,
 "EDATA2_STRT" : 0,
 "HDP1_STRT" : 1,
 "HDP1_END" : 0,
 "HDP2_STRT" : 1,
 "HDP2_END" : 0
 }
}

 "Broken" Nucleo-H563ZI:

{
 "deviceId" : 1156,
 "bitNameToValue" : {
 "PRODUCT_STATE" : 23,
 "BOR_LEV" : 0,
 "BORH_EN" : 0,
 "IO_VDD_HSLV" : 0,
 "IO_VDDIO2_HSLV" : 0,
 "IWDG_STOP" : 1,
 "IWDG_STDBY" : 1,
 "BOOT_UBE" : 195,
 "SWAP_BANK" : 0,
 "IWDG_SW" : 1,
 "NRST_STOP" : 1,
 "NRST_STDBY" : 1,
 "TZEN" : 195,
 "USBPD_DIS" : 1,
 "SRAM2_ECC" : 1,
 "SRAM3_ECC" : 1,
 "BKPRAM_ECC" : 1,
 "SRAM2_RST" : 1,
 "SRAM1_3_RST" : 1,
 "NSBOOTADD" : 524288,
 "NSBOOT_LOCK" : 195,
 "SECBOOT_LOCK" : 0,
 "SECBOOTADD" : 0,
 "SECWM1_STRT" : 0,
 "SECWM1_END" : 127,
 "WRPSGn1" : 4294967295,
 "SECWM2_STRT" : 0,
 "SECWM2_END" : 127,
 "WRPSGn2" : 4294967295,
 "LOCKBL" : 0,
 "EDATA1_EN" : 0,
 "EDATA1_STRT" : 0,
 "EDATA2_EN" : 0,
 "EDATA2_STRT" : 0,
 "HDP1_STRT" : 1,
 "HDP1_END" : 0,
 "HDP2_STRT" : 1,
 "HDP2_END" : 0
 }
}

 

Jocelyn RICARD
ST Employee
August 1, 2025

Hi @jho ,

you should first re-enable the TrustZone before changing security related option bytes.

Best regards

Jocelyn

jhoAuthor
Associate II
August 3, 2025

Hi @Jocelyn RICARD ,

re-enabling TrustZone and then changing BOOT_UBE also did not succeed:

20:34:16 : OPTION BYTE PROGRAMMING VERIFICATION:
20:34:16 : Error: Expected value for Option Byte "BOOT_UBE": 0xB4, found: 0xC3
20:34:16 : Error: Option Byte Programming failed Or modified by application after OB_LAUNCH

 Note: I am connected via Hot Plug on Access Port 1 - is this fine?

 

The following log shows the Secure Firmware Install process. Is there any indication why the regression is now failing, and why the expected firmware in the SFI image did not flash correctly?

15:23:27 : SFI header information : 
15:23:27 : SFI protocol version : 2
15:23:27 : SFI total number of areas : 4
15:23:27 : SFI image version : 0
15:23:27 : SFI Areas information : 
15:23:27 : Parsing Area 1/4 : 
15:23:27 : Area type : H
15:23:27 : Area size : 16
15:23:27 : Area destination address : 0x0
15:23:27 : Parsing Area 2/4 : 
15:23:27 : Area type : O
15:23:27 : Area size : 112
15:23:27 : Area destination address : 0xFFD0100
15:23:27 : Parsing Area 3/4 : 
15:23:27 : Area type : F
15:23:27 : Area size : 24416
15:23:27 : Area destination address : 0x8000000
15:23:27 : Parsing Area 4/4 : 
15:23:27 : Area type : C
15:23:27 : Area size : 36
15:23:27 : Area destination address : 0x0
15:23:27 : Parsed File SUCCESS
15:23:31 : UPLOADING ...
15:23:31 : Size : 4 Bytes
15:23:31 : Address : 0xBF960CC
15:23:31 : Read progress:
15:23:31 : Data read successfully
15:23:31 : Time elapsed during the read operation is: 00:00:00.013
15:23:31 : Requesting Chip Certificate from device ...
15:23:31 : Reading chip Certificate finished
15:23:31 : Get Certificate done successfully
15:23:31 : requesting license for the current STM32 device
15:23:31 : Init Communication ... 
15:23:31 : P11 lib initialization Success!
15:23:31 : Opening session with slot ID 1... 
15:23:31 : Succeed to Open session with reader slot ID 1 
15:23:32 : Succeed to generate license for the current STM32 device
15:23:32 : Closing session with reader slot ID 1... 
15:23:32 : Session closed with reader slot ID 1 
15:23:32 : Closing communication with HSM... 
15:23:32 : Communication closed with HSM 
15:23:32 : Succeed to get License for Firmware from HSM slot ID 1
15:23:32 : Starting Firmware Install operation...
15:23:32 : Warning: Option Byte: BOOT_UBE, value: 0xB4, was not modified.
15:23:32 : Warning: Option Bytes are unchanged, Data won't be downloaded
15:23:32 : Time elapsed during option Bytes configuration: 00:00:00.014
15:23:32 : Reconnecting...
15:23:34 : Reconnected !
15:23:34 : Reconnecting...
15:23:35 : Reconnected !
15:23:35 : Time elapsed during option Bytes configuration: 00:00:02.542
15:23:36 : ST-LINK SN : 56FF6D065182525038591787
15:23:36 : ST-LINK FW : V2J45S7
15:23:36 : Board : --
15:23:36 : Voltage : 3.24V
15:23:36 : SWD freq : 4000 KHz
15:23:36 : Connect mode: Normal
15:23:36 : Reset mode : Hardware reset
15:23:36 : Device ID : 0x484
15:23:36 : Revision ID : Rev X
15:23:36 : Reconnecting...
15:23:37 : Reconnected !
15:23:37 : Time elapsed during option Bytes configuration: 00:00:01.284
15:23:37 : Warning: Option Byte: SECBOOT_LOCK, value: 0xC3, was not modified.
15:23:37 : Warning: Option Bytes are unchanged, Data won't be downloaded
15:23:37 : Time elapsed during option Bytes configuration: 00:00:00.014
15:23:37 : Warning: Option Byte: SECBOOTADD, value: 0xC0000, was not modified.
15:23:37 : Warning: Option Byte: SECWM1_END, value: 0x7F, was not modified.
15:23:37 : Warning: Option Byte: SECWM1_STRT, value: 0x0, was not modified.
15:23:37 : Warning: Option Byte: SECWM2_END, value: 0x7F, was not modified.
15:23:37 : Warning: Option Byte: SECWM2_STRT, value: 0x0, was not modified.
15:23:37 : Warning: Option Byte: SRAM1_3_RST, value: 0x1, was not modified.
15:23:37 : Reconnecting...
15:23:39 : Reconnected !
15:23:39 : Time elapsed during option Bytes configuration: 00:00:01.290
15:23:40 : ST-LINK SN : 56FF6D065182525038591787
15:23:40 : ST-LINK FW : V2J45S7
15:23:40 : Board : --
15:23:40 : Voltage : 3.24V
15:23:40 : SWD freq : 4000 KHz
15:23:40 : Connect mode: Normal
15:23:40 : Reset mode : Hardware reset
15:23:40 : Device ID : 0x484
15:23:40 : Revision ID : Rev X
15:23:40 : ST-LINK SN : 56FF6D065182525038591787
15:23:40 : ST-LINK FW : V2J45S7
15:23:40 : Board : --
15:23:40 : Voltage : 3.24V
15:23:40 : Error: Cannot connect to access port 1! If you are trying to connect to a device with TrustZone enabled please try to connect with HotPlug mode. If you are trying to connect to a device which supports Debug Authentication with certificate or password, please open your device using it.
15:23:40 : Reconnecting...
15:23:41 : Reconnected !
15:23:42 : Reconnecting...
15:23:43 : Reconnected !
15:23:43 : Time elapsed during option Bytes configuration: 00:00:03.293
15:23:44 : ST-LINK SN : 56FF6D065182525038591787
15:23:44 : ST-LINK FW : V2J45S7
15:23:44 : Board : --
15:23:44 : Voltage : 3.23V
15:23:44 : SWD freq : 4000 KHz
15:23:44 : Connect mode: Hot Plug
15:23:44 : Reset mode : Hardware reset
15:23:44 : Device ID : 0x484
15:23:44 : Revision ID : Rev X
15:23:44 : Installing RSSe
15:23:44 : Opening and parsing file: RSSe_SFI_H56x_H573_v3.1.0.bin
15:23:44 : Memory Programming ...
15:23:44 : File : RSSe_SFI_H56x_H573_v3.1.0.bin
15:23:45 : Size : 55.56 KB 
15:23:45 : Address : 0x2007CCDF 
15:23:45 : File segment @0x2007CCDF is not 16-bytes aligned. It will be aligned to @0x2007CCD0
15:23:45 : Erasing memory corresponding to sector 0:
15:23:45 : Download in Progress:
15:23:45 : File download complete
15:23:45 : Time elapsed during download operation: 00:00:00.384
15:23:45 : MCU Reset
15:23:46 : ST-LINK SN : 56FF6D065182525038591787
15:23:46 : ST-LINK FW : V2J45S7
15:23:46 : Board : --
15:23:46 : Voltage : 3.23V
15:23:46 : SWD freq : 4000 KHz
15:23:46 : Connect mode: Hot Plug
15:23:46 : Reset mode : Hardware reset
15:23:46 : Device ID : 0x484
15:23:46 : Revision ID : Rev X
15:23:46 : Get RSSe status...
15:23:47 : RSS version = 2.2.0
15:23:47 : RSSe version = 3.1.0
15:23:47 : Starting SFI 
15:23:47 : Processing license...
15:23:47 : Get RSSe status...
15:23:47 : Processing Image Header
15:23:47 : Get RSSe status...
15:23:47 : Processing Area 1...
15:23:50 : Get RSSe status...
15:23:50 : Area Address = 0x0
15:23:50 : Area Type = H
15:23:50 : Processing Area 2...
15:23:51 : Get RSSe status...
15:23:51 : Area Address = 0xFFD0100
15:23:51 : Area Type = O
15:23:51 : Processing Area 3...
15:23:52 : Get RSSe status...
15:23:52 : Area Address = 0x8000000
15:23:52 : Area Type = F
15:23:52 : Processing Area 4...
15:23:52 : ---- Is Last SFI Area !! ----
15:23:52 : Can not verify last area
15:23:52 : Area Address = 0x0
15:23:52 : Area Type = C
15:23:52 : SFI Process Finished!
15:23:52 : SFI file Install Operation Success
15:25:18 : Disconnected from device.

Best regards

Jocelyn RICARD
ST Employee
August 5, 2025

Hello @jho ,

It looks like something happened during your SFI testing that led to this device state.

I would guess that, at some point, the SFI was interrupted at the wrong time.

Another possibility is the sfi image you have built that show a possible issue: the size of Area 4 of type C 36 is not normal. This area contains the option bytes to write at the end of the SFI process. This may have generated this issue.

Best regards

Jocelyn

Associate II
June 12, 2026

Hi ​@Jocelyn RICARD,

I have encountered a similar issue to @jho (found this post while looking for information), except that I set TrustZone enabled (0xB4) in my option bytes file and was surprised to find it set to 0xC3. I suspect that I misconfigured my option bytes file by having left the product state field set to Open, when I should have set it to a state between Provisioned and Closed.

I was more surprised, however, to find BOOT_UBE set to 0xC3, since this is an STM32H563 device and, as I understand it, 0xC3 is an illegal value for BOOT_UBE on that device. I certainly did not set that value at any point because I know I shouldn’t touch it on STM32H563 (I’ve checked my option bytes file, just to be sure), which leads me to the conclusion that the RSS code handling SFI is responsible for setting this state. Why would it set an illegal value which it seems impossible for me to set back?

Here’s a log of the relevant section of output from STM32CubeProgrammer (GUI) when SFI failed.

18:25:47 : SFI parsing file started ...
18:25:47 : SFI header information :
18:25:47 : SFI protocol version : 2
18:25:47 : SFI total number of areas : 9
18:25:47 : SFI image version : 0
18:25:47 : SFI Areas information :
18:25:47 : Parsing Area 1/9 :
18:25:47 : Area type : H
18:25:47 : Area size : 16
18:25:47 : Area destination address : 0x0
18:25:47 : Parsing Area 2/9 :
18:25:47 : Area type : O
18:25:47 : Area size : 112
18:25:47 : Area destination address : 0xFFD0100
18:25:47 : Parsing Area 3/9 :
18:25:47 : Area type : O
18:25:47 : Area size : 112
18:25:47 : Area destination address : 0xFFD0160
18:25:47 : Parsing Area 4/9 :
18:25:47 : Area type : F
18:25:47 : Area size : 47216
18:25:47 : Area destination address : 0x8000000
18:25:47 : Parsing Area 5/9 :
18:25:47 : Area type : F
18:25:47 : Area size : 102336
18:25:47 : Area destination address : 0x8100000
18:25:47 : Parsing Area 6/9 :
18:25:47 : Area type : F
18:25:47 : Area size : 93280
18:25:47 : Area destination address : 0x8118FC0
18:25:47 : Parsing Area 7/9 :
18:25:47 : Area type : F
18:25:47 : Area size : 102336
18:25:47 : Area destination address : 0x8130000
18:25:47 : Parsing Area 8/9 :
18:25:47 : Area type : F
18:25:47 : Area size : 97200
18:25:47 : Area destination address : 0x8148FC0
18:25:47 : Parsing Area 9/9 :
18:25:47 : Area type : C
18:25:47 : Area size : 48
18:25:47 : Area destination address : 0x0
18:25:47 : Parsed File SUCCESS
18:57:42 : Downloading the X-CUBE-RSSe in progress...
18:57:42 : Download and extraction of the X-CUBE-RSSe package completed successfully.
19:03:32 : UPLOADING ...
19:03:32 : Size : 4 Bytes
19:03:32 : Address : 0xBF960CC
19:03:32 : Read progress:
19:03:32 : Data read successfully
19:03:32 : Time elapsed during the read operation is: 00:00:00.011
19:03:32 : Starting Firmware Install operation...
19:03:32 : Warning: Option Byte: BOOT_UBE, value: 0xB4, was not modified.
19:03:32 : Warning: Option Bytes are unchanged, Data won't be downloaded
19:03:32 : Time elapsed during option Bytes configuration: 00:00:00.009
19:03:32 : Reconnecting...
19:03:33 : Reconnected !
19:03:33 : Reconnecting...
19:03:34 : Reconnected !
19:03:34 : Time elapsed during option Bytes configuration: 00:00:02.374
19:03:34 : Reconnecting...
19:03:35 : ST-LINK SN : 0029002B3133511437363734
19:03:35 : ST-LINK FW : V3J17M10
19:03:35 : Board : NUCLEO-H563ZI
19:03:35 : Voltage : 3.29V
19:03:35 : SWD freq : 8000 KHz
19:03:35 : Connect mode: Hot Plug
19:03:35 : Reset mode : Hardware reset
19:03:35 : Device ID : 0x484
19:03:35 : Revision ID : Rev X
19:03:35 : Reconnecting...
19:03:37 : Reconnected !
19:03:37 : Time elapsed during option Bytes configuration: 00:00:01.198
19:03:37 : Warning: Option Byte: SECBOOT_LOCK, value: 0xC3, was not modified.
19:03:37 : Warning: Option Bytes are unchanged, Data won't be downloaded
19:03:37 : Time elapsed during option Bytes configuration: 00:00:00.008
19:03:37 : Warning: Option Byte: SECBOOTADD, value: 0xC0000, was not modified.
19:03:37 : Warning: Option Byte: SECWM1_END, value: 0x7F, was not modified.
19:03:37 : Warning: Option Byte: SECWM1_STRT, value: 0x0, was not modified.
19:03:37 : Warning: Option Byte: SECWM2_END, value: 0x7F, was not modified.
19:03:37 : Warning: Option Byte: SECWM2_STRT, value: 0x0, was not modified.
19:03:37 : Warning: Option Byte: SRAM2_RST, value: 0x0, was not modified.
19:03:37 : Reconnecting...
19:03:38 : Reconnected !
19:03:38 : Time elapsed during option Bytes configuration: 00:00:01.193
19:03:38 : Reconnecting...
19:03:39 : ST-LINK SN : 0029002B3133511437363734
19:03:39 : ST-LINK FW : V3J17M10
19:03:39 : Board : NUCLEO-H563ZI
19:03:39 : Voltage : 3.29V
19:03:39 : SWD freq : 8000 KHz
19:03:39 : Connect mode: Hot Plug
19:03:39 : Reset mode : Hardware reset
19:03:39 : Device ID : 0x484
19:03:39 : Revision ID : Rev X
19:03:39 : Reconnecting...
19:03:40 : Reconnected !
19:03:41 : Reconnecting...
19:03:42 : Reconnected !
19:03:44 : Time elapsed during option Bytes configuration: 00:00:05.399
19:03:44 : Reconnecting...
19:03:46 : ST-LINK SN : 0029002B3133511437363734
19:03:46 : ST-LINK FW : V3J17M10
19:03:46 : Board : NUCLEO-H563ZI
19:03:46 : Voltage : 3.29V
19:03:46 : SWD freq : 8000 KHz
19:03:46 : Connect mode: Hot Plug
19:03:46 : Reset mode : Hardware reset
19:03:46 : Device ID : 0x484
19:03:46 : Revision ID : Rev X
19:03:46 : Installing RSSe
19:03:46 : Opening and parsing file: RSSe_SFI_H56x_H573_v3.1.0.bin
19:03:46 : Memory Programming ...
19:03:46 : File : RSSe_SFI_H56x_H573_v3.1.0.bin
19:03:46 : Size : 55.56 KB
19:03:46 : Address : 0x20054100
19:03:46 : Erasing memory corresponding to segment 0:
19:03:46 : Download in Progress:
19:03:46 : File download complete
19:03:46 : Time elapsed during download operation: 00:00:00.113
19:03:46 : MCU Reset
19:03:46 : Reconnecting...
19:03:47 : ST-LINK SN : 0029002B3133511437363734
19:03:47 : ST-LINK FW : V3J17M10
19:03:47 : Board : NUCLEO-H563ZI
19:03:47 : Voltage : 3.29V
19:03:47 : SWD freq : 8000 KHz
19:03:47 : Connect mode: Hot Plug
19:03:47 : Reset mode : Hardware reset
19:03:47 : Device ID : 0x484
19:03:47 : Revision ID : Rev X
19:03:47 : Get RSSe status...
19:03:47 : RSS version = 2.2.0
19:03:47 : RSSe version = 3.1.0
19:03:47 : Starting SFI
19:03:47 : Processing license...
19:03:47 : Get RSSe status...
19:03:47 : Processing Image Header
19:03:47 : Get RSSe status...
19:03:47 : Processing Area 1...
19:03:47 : Error: Execution of RSS CMD failed, returned value = 0xFFEADE2A
19:03:47 : Error: Failed to Process Area Number 1 of type H
19:03:48 : Disconnected from device.

I wonder whether the Error code 0xFFEADE2A sheds any light on the cause of the failure? I’ve not been able to find any references to this value online.

I’m also wondering what an area of type H is? AN5054 makes reference to some other types of area an a .sfi file but doesn’t seem to mention type H at all.

Thanks and best regards

Paul