2026-02-17 5:43 AM
Hello,
I used the SBSFU 2.6.2 and it's STM32L432KC 1_Image example.
Everything was cool, so I modified the UserApp and removed the demonstration application menu (a potential way to select a new download, this could save me...) Then, I unfortunately found out, I can't erase the chip so I can't flash a new firmware ... and finally I realized, I left most (or all) of the security macros enabled...
I'm trying over the STM32CubeProgrammer play with RDP, WRP PCROP. Biggest issue to me seems PCROP
as MCU rejects changes. The RDP I could set to level 0 easily (AA) and WRP protection also seem fine.
Is there any chance to unlock my STM32L432KC nucleo back ?
Thank you
C:\Users\Vladimir.Sustek>STM32_Programmer_CLI.exe -c port=swd -ob displ
-------------------------------------------------------------------
STM32CubeProgrammer v2.20.0
-------------------------------------------------------------------
ST-LINK SN : 0673FF515152827187223922
ST-LINK FW : V2J46M31
Board : NUCLEO-L432KC
Voltage : 3.24V
SWD freq : 4000 KHz
Connect mode: Normal
Reset mode : Software reset
Device ID : 0x435
Revision ID : Rev Z
Device name : STM32L43xxx/STM32L44xxx
Flash size : 256 KBytes
Device type : MCU
Device CPU : Cortex-M4
BL Version : 0x91
UPLOADING OPTION BYTES DATA ...
Bank : 0x00
Address : 0x40022020
Size : 20 Bytes
██████████████████████████████████████████████████ 100%
OPTION BYTES BANK: 0
Read Out Protection:
RDP : 0xAA (Level 0, no protection)
BOR Level:
BOR_LEV : 0x0 (BOR Level 0, reset level threshold is around 1.7 V)
User Configuration:
nRST_STOP : 0x1 (No reset generated when entering Stop mode)
nRST_STDBY : 0x1 (No reset generated when entering Standby mode)
nRST_SHDW : 0x1 (No reset generated when entering the Shutdown mode)
IWDG_SW : 0x1 (Software independent watchdog)
IWDG_STOP : 0x1 (IWDG counter active in stop mode)
IWDG_STDBY : 0x1 (IWDG counter active in standby mode)
WWDG_SW : 0x1 (Software window watchdog)
nBOOT1 : 0x1 (Boot from system memory when BOOT0=1)
SRAM2_PE : 0x1 (SRAM2 parity check disable)
SRAM2_RST : 0x1 (SRAM2 is not erased when a system reset occurs)
nSWBOOT0 : 0x1 (BOOT0 taken from PH3/BOOT0 pin)
nBOOT0 : 0x1 (BOOT0 = 0, boot from system memory when nSWBOOT0=1 and main flash is empty,otherwise, boot from main flash memory)
PCROP Protection:
PCROP1_STRT : 0x0 (0x8000000)
PCROP1_END : 0x0 (0x8000000)
PCROP_RDP : 0x1 (PCROP zone is erased when RDP is decreased)
Write Protection:
WRP1A_STRT : 0xFF (0x807F800)
WRP1A_END : 0x0 (0x8000000)
WRP1B_STRT : 0xFF (0x807F800)
WRP1B_END : 0x0 (0x8000000)
2026-02-18 1:53 AM
Hello @vladimirsustek ,
To change PCROP you must to it at the same time as a regression from RDP1 to RDP0.
So, you need first to set RDP 1.
Then set RDP0 + PCROP_END > PCROP_START.
For your information, you have now a small icon on the bottom right of your window when logged in, which is STM32 Sidekick. It is a LLM trained on STM32 documentation. As any LLM it may sometimes provide wrong answers but the bit advantage is that it points you to right documentation, so you can rapidly double check.
Best regards
Jocelyn