This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSPM0L1117:静态写保护可覆盖性

Guru**** 2931100 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1651301/mspm0l1117-static-write-protection-overridability

器件型号: MSPM0L1117

BSL 是否可以覆盖 SYSCTL 防火墙 (FRXPROTMAINSTART 和 FRXPROTMAINEND) 提供的静态写保护以对闪存扇区进行编程?  我正在使用以下防火墙设置:

SYSCTL->SECCFG.FRXPROTMAINSTART = 0x4000
SysCtl->SECCFG.FRXPROTMAINEND = 0x4400
SysCtl->SECCFG.FWENABLE ||(SYSCTL_FWENABLE_FLRXPROT_ENABLE | SYSCTL_FWENABLE_KEY_VALUE)

设置并启用防火墙后、调用 BSL 并尝试擦除 0x4000-0x43FF。  为了响应擦除命令、我得到了 FAILLADDR=FAIL:

80 01 00 12 3A 61 44 DE //连接
00 // ack
80 01 00 19 B2 B8 96 49 //器件信息
00 // ack
08 19 00 31 00 01 00 01 00 00 00 01 00 F4 1D 18 02 00 20 00 00 00 00 06 00 00 06 FA 15 72 C4 //器件信息
80 21 00 21 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 02 AA F0 3D //解锁
00 // ack
08 02 00 3B 00 38 02 94 82 //解锁成功
80 09 00 23 00 40 00 FF 43 00 26 15 58 4A //擦除 0x4000 - 0x43FF
00 // ack
08 04 00 3A F0 40 00 F3 04 90 04 // FAILLADDR =失败

40 00 是、我认为 FAILLADDR =失败。

BSL 是否可以覆盖静态写保护?  否则、防火墙设置似乎会一直存在、直到 INITDONE 转换回 0、但什么情况会导致 INITDONE 从 1 转换回 0?  到目前为止、我可以使 INITDONE 从 1 转换为 0 的唯一方法是使用我的调试探针进行批量擦除。  对于我的产品、我希望能够通过静态防火墙保护来保护密钥、但是、我希望授权用户能够覆盖防火墙并定期更改密钥。

顺便说一下、我认为 MSPM0 BSL 用户指南 SLAU887A 中有一个拼写错误、2023 年 2 月–修订日期:2025 年 11 月第 4.4.2 节“详细错误“。  详细错误消息的长度列为 0x02、但 BSL 代码实际发送的长度为 0x04 (RSP + D1 + D2 + D3)。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Chris、

    很抱歉晚回复。 我正在检查你的问题,给我一些时间,我会回来尽快回复你。

    BR、

    Janz Bai