2025-11-17 10:52 PM
Hello ST Community,
I am working on an STM32U585AII6Q microcontroller with TrustZone enabled. My goal is to revert the RDP level from 2 (0xCC) back to 0 (0xAA) using STM32CubeProgrammer GUI.
#### Steps I Followed:
1. Defined OEM2KEY in the "Secure Programming" menu.
2. Set RDP to Level 2 successfully.
3. Tried to unlock RDP2 using the "Unlock RDP2" option in STM32CubeProgrammer.
- Log shows: "Unlock RDP2 password successfully done."
4. Gave power cycle and attempted to change RDP value from 0xCC to 0xAA in the "Read Out Protection" menu.
#### Issue:
- When I try to apply the change, I get the error:
**DEVICE NOT HALTED**
- The debugger cannot connect to the MCU after this step.
#### Hardware Setup:
- BOOT0 pin connected to VDD for RSS boot.
- Using STM32CubeProgrammer v2.19.0.
#### Questions:
1. What is the correct sequence to regress from RDP Level 2 to Level 0 when TrustZone is active?
2. How to resolve the "DEVICE NOT HALTED" error during regression?
3. Do I need to power-cycle or use a specific mode (Under-Reset vs Hotplug) in STM32CubeProgrammer?
Any guidance or example steps would be greatly appreciated.
I have followed the mentioned in below link: 1) How to regress from RDP level 2 to RDP level 0 on ... - STMicroelectronics Community
2)Followed chapter 10 in the following link - Introduction to Arm® TrustZone® features on STM32L5, STM32U5, and STM32U3 MCUs - Application note