4.3.4. TrustZone 使能(TZEN=1)RDP1 解锁降级到 RDP0.5
通过 STM32CubeProgrammerCLI 命令使用 OEM1/2Key 解锁后做 RDP 降级的示例
注意:
1. TZEN=1 且 RDP 级别非 0 时,首先要保证代码能够正常运行到 NS 状态
2. RDP1 到 RDP0.5 的降级将导致所有 NS Flash 区的内容都被擦除,这意味着 S code
可能无法正常跳转到 NS Flash Code,从而导致 debug 端口无法连上的情况
a. 如果 OptionByte 的设置允许从 RSS/SystemBootloader 启动,还可以通过拉高
BOOT PIN 的方式回复调试连接
b. 如果 OptionByte 的设置不允许从 RSS/SystemBootloader 启动(例如设置了
BOOT_LOCK),那么建议 S code 中增加 NS RAM code 的部分,并在无法跳转
到有效 NS Flash code 的情况下跳转 NS RAM code,从而保持调试连接可能性
• 这里降级命令使用-unlockRDP1,但是 Key 需要用前面设置过的 OEM2Key 的值
STM32_Programmer_CLI -c port=swd mode=hotplug -unlockRDP1 0xFACEB00C 0xDEADBABE -ob
RDP=0x55
解锁降级回退过程将会在 cmd 窗口看到类似如下打印信息
STM32_Programmer_CLI -c port=swd mode=hotplug -unlockRDP1 0xFACEB00C 0xDEADBABE -ob
RDP=0x55
-------------------------------------------------------------------
STM32CubeProgrammer v2.8.0
-------------------------------------------------------------------
ST-LINK SN : 003E00473438510D34313939
ST-LINK FW : V3J9M3
Board : NUCLEO-U575ZI-Q
Voltage : 3.29V
SWD freq : 24000 KHz
Connect mode: Hot Plug
Reset mode : Software reset
Device ID : 0x482
Revision ID : Rev B
Reconnecting with the recommended frequency (1000 kHz)!
ST-LINK SN : 003E00473438510D34313939
ST-LINK FW : V3J9M3
Board : NUCLEO-U575ZI-Q
Voltage : 3.29V
SWD freq : 1000 KHz
Connect mode: Hot Plug
Reset mode : Software reset
Device ID : 0x482
Revision ID : Rev B
Reconnected with the recommended frequency (3300 kHz)!
Device name : STM32U575/STM32U585
Flash size : 2 MBytes
Device type : MCU
Device CPU : Cortex-M33
BL Version : 0x80
Debug in Low Power mode enabled
Unlock RDP1 password successfully done
UPLOADING OPTION BYTES DATA ...
Bank : 0x00
Address : 0x40022040
Size : 32 Bytes
██████████████████████████████████████████████████ 100%
Bank : 0x01
Address : 0x40022060
Size : 8 Bytes
██████████████████████████████████████████████████ 100%
Bank : 0x02
Address : 0x40022068
Size : 8 Bytes
██████████████████████████████████████████████████ 100%
PROGRAMMING OPTION BYTES AREA ...
Bank : 0x00
Address : 0x40022040
Size : 32 Bytes
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
Reconnecting...
Reconnected !
UPLOADING OPTION BYTES DATA ...
Bank : 0x00
Address : 0x40022040
Size : 32 Bytes
██████████████████████████████████████████████████ 100%
Bank : 0x01
Address : 0x40022068
Size : 8 Bytes
██████████████████████████████████████████████████ 100%
OPTION BYTE PROGRAMMING VERIFICATION:
Option Bytes successfully programmed
4.3.5. TrustZone 使能(TZEN=1)RDP2 解锁降级到 RDP1
RDP Level2 解锁降级到 RDP Level1,与 TZEN=0 情况下相同
STM32_Programmer_CLI -c port=swd mode=hotplug -unlockRDP2 0xFACEB00C 0xDEADBABE
解锁降级回退过程将会在 cmd 窗口看到类似如下打印信息
STM32_Programmer_CLI -c port=swd mode=hotplug -unlockRDP2 0xFACEB00C 0xDEADBABE
-------------------------------------------------------------------
STM32CubeProgrammer v2.8.0
-------------------------------------------------------------------
ST-LINK SN : 004300273039510634393838
ST-LINK FW : V3J8M3
Board : STM32U599J-DK
Voltage : 1.79V
Unlock RDP2 password succefully done!
|