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.

[参考译文] MSP430FR2512:保护器件导致内部存储器读取和 CRC 计算失败

Guru**** 660250 points
Other Parts Discussed in Thread: MSP430FR2512, MSP-GANG
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1231288/msp430fr2512-securing-device-causing-internal-memory-read-and-crc-calculation-to-fail

器件型号:MSP430FR2512
主题中讨论的其他器件: MSP-GANG

大家好、我正在 使用 MSP430FR2512、在我的程序中、我将通过读取程序存储器的内容并使用 CRCDI 和 CRCINIRES 寄存器执行 CRC、来执行存储器 CRC 测试。 我将计算出的 CRC 与存储在我正在检查的边界之外的常量、预先计算的值进行比较。 这是我存储在0xE300的常数、我的存储器读取和计算跨越0xE302 - 0xFFFE。 我确保在应用计算和预编程计算中使用相同的种子值。

在对 MSP-Gang 编程器进行编程 时、似乎工作正常、但不安全、但在我保护器件时失败。 我认为这只是烧了 JTAG 保险丝、不应该影响程序存储器的内容是否正确?

在我的上电自检中、我还会检查看门狗、方法是允许看门狗过期、 然后检查看门狗超时的复位矢量、对 R 寄存器执行写/回读测试、然后设置锁频环和 MCLK、再禁用 BSL。 不要相信这应该与保险丝发生交互、而是想看看是否有任何见解。 谢谢

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

    你好、Noah:

    在未 保护 MSP-Gang 编程器的情况下、似乎可以正常编程、但在保护设备时失败。 我认为这只是烧毁了 JTAG 保险丝、不应该影响程序存储器内容是否正确?

    MSP430FR2xx 器件实现了一个 JTAG/SBW 锁定机制(电子保险丝)、可使用器件存储器中2个地址上的签名对其进行配置-这会影响您的 CRC。 术语 "保险丝"可能是此处引起混淆的原因 -它返回到早期的 MSP430器件、例如闪存 MSP430F1xx/2xx/4xx 器件、这些器件需要在特定引脚上具有高电压才能熔断保险丝。 然后、MSP430F5xx/6xx、MSP430FR2xx/4xx 和 MSP430FR5xx/6xx 等较新的器件使用了一种新方法、使得 JTAG 锁定具有电子可配置的功能、而不需要器件上的高电压、使用术语"电子保险丝"或"电子保险丝"来尝试区分这种情况。 您可以在应用手册 MSP 代码保护功能 www.ti.com/lit/pdf/slaa685 第2章"跨不同 MSP 系列锁定 JTAG "中找到更多信息。  

    在 MSP430FR2xx/4xx 用户指南 www.ti.com/lit/pdf/slau445中 、第1.11.1节 JTAG 和 SBW 锁定机制(电子保险丝)介绍了此功能在您的特定器件上如何工作、即 MSP430FR2512:

    因此、当 MSP-GANG 锁定器件时、它会向地址0FF80h 和0FF82h 写入除0000h 或 FFFFh 以外的内容。 此范围包括在您提到的 CRC 计算中包含的范围内。 因此、您需要修改代码以跳过这些值、或改用0FFFFh、因为这是您进行初始 CRC 计算时可能出现的情况。  

    希望这对您有所帮助!

    此致、

    Katie 码头