STM32H533 unable to do a full regression with newest STMCubeProgrammer V2.18 and V2.19
- April 2, 2025
- 2 replies
- 869 views
Hello.
With a STM32H563, i can change the product state to 0x17 (provisoring), reconnect with HotPlug,
start provisoring with my OBK-File and change the production state to closed (0x72) without any problems.
I don't use TrustZone.
A full regression after this with STMCubeProgrammer and the password.bin file is possible without problems.
I use the explanation from the knowledge base here: https://community.st.com/t5/stm32-mcus/how-to-enable-rdp-like-product-state-flash-protection-in-stm32h5/ta-p/708082
If I try the same thing with an STM32H533 and with the same OBK file i used on the STM32H563 ( <DoEncryption>0</DoEncryption> in XML-File : just as stated in the knowledge base for all STM32H5, because the STM32H533 has crypto), i can do the provisoring, can change product state to closed.
But after this a full regression is not more possible.
Testet with 2 eval boards and with STMCubeProgrammer V2.18 and STMCubeProgrammer V2.19
If i read out the OBK-Key's @ FLASH_OBK_BASE_S with offset 0x100 length 0x60, the correct key values from my OBK-File are present.
If i read out the product state, it is 0x72.
So all are ok, but no full regression is possible.
Is this a known chip bug or a known bug in STMCubeProgrammer ?
If i do the change of product state to provisoring and to closed, writing the obk-key's, with my user software (activate self - readout-protection), this is working correct on a STM32H563 and on a STMH533.
But a full regresssion after this is only possible on a STM32H563, not on a STM32H533!
As a workaround: does anyone knows how to do a full regression by user software?
A erase of the OBK by user software is not possible: HAL_FLASHEx_Erase(&EraseInitStruct, &ulTemp) gives a 0x0FFD0900 in ulTemp and nothing changed.
Rewriting the product state with HAL_FLASHEx_OBProgram(&sOBInit); to Open isn't possible.
So all STM32H533 are locked forever.
Any idea??
