NXP MCU 技术论坛
直播中

李玉鑫

7年用户 1237经验值
私信 关注
[问答]

LS1021使用BOOT_HO和SB_EN启动时SecMon状态“不安全”怎么解决?

我目前正在尝试在 ls1021a 处理器上实现安全启动,从 QSPI 启动。
到目前为止,刻录 OTPMK 一切顺利,我将 RCW 更改为设置 BOOT_HO 和 SB_EN。
我已经为 U-boot 生成了 CSF 标头并更改了 PBL,让 SCRATCHRW1 指向 U-boot 的 CSF 标头(这也已在 POR 后使用 CodeWarrior tap 进行了验证)。
POR 后,我检查了 CodeWarrior,可以看到 OTPMK 已被烧毁,但 SSM_STATE 已经是 0xB = 不安全。
SCRATCHRW2 仍然为零,因此我假设将 CPU0 保持在复位状态是有效的。
POR 后转储:
链位置 17:DAP
链位置 18:SAP2
(bin) 72 % disp ccs::read_mem 18 0x1e90014 4 0 1
+0 +4 +8 +C
[0x01E90014] 8000AB00
(bin) 73 % disp ccs::read_mem 18 0x1ee0204 4 0 1
+0 +4 +8 +C
[0x01EE0204] 00000000
当释放 CPU0 时,SCRATCHRW2 变为:
(bin) 75% ccs::write_mem 18 0x1ee00e4 4 0 0x01000000
(bin) 76% disp ccs::read_mem 18 0x1ee0204 4 0 1
+0 +4 +8 +C
[0x01EE0204] 01010000
0x101 表示 ERROR_STATE_NOT_CHECK,这符合我的观察。

POR 后我可以看到:
(bin) 79 % disp ccs::read_mem 18 0x1e90018 4 0 1
+0 +4 +8 +C
[0x01E90018] 80000008
所以存在安全违规,但据我所知这是 SEC_VIO3。
知道 SEC_VIO3 是什么意思吗?这就是 sec mon 即使没有释放 CPU0 也已经处于“非安全”模式的原因吗?
还有什么我可以检查的吗?我可以以某种方式禁用该违规以继续实施安全启动吗?

更多回帖

发帖
×
20
完善资料,
赚取积分