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.

[参考译文] MSP430F2272:在发送一个不正确的 BSL 密码时禁用批量擦除

Guru**** 2502205 points
Other Parts Discussed in Thread: MSP430F2272

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/761128/msp430f2272-disabling-mass-erase-upon-sending-an-incorrect-bsl-password

器件型号:MSP430F2272

我正在寻找有关 MSP430F2272中 BSL 的说明。 我们正在从与 MSP430通信的主机处理器执行固件更新。 我需要处理刷写过程中断的情况。 因此、我们可能已经擦除了主存储器段、因此0xFFE0 - 0xFFFF 中的数据将全部为0xFF。 如果我们使用了错误的密码、我希望避免批量擦除。 因此、如果我只是尝试在未完全刷写的器件上使用正常密码(0xFFE0 - 0xFFFF 的正常内容)、我想避免批量擦除、这会擦除包含校准数据的信息 A。

那么、问题是、是否在 MSP430F2272上将0x0000写入0xFFDE? TI BSL 用户指南显示"某些器件可以在密码不正确时禁用批量擦除。 请参阅器件系列用户指南"但是、在 MSP43F2xxx 用户指南中、我看不到任何涉及此内容的地方。 是否有人可以确认我确实可以禁用此特定器件上的批量擦除?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此外、即使您可以通过在0xFFDE 上设置0x0000来禁用批量擦除、对器件进行砖型处理也会非常简单。 如果在发出 ERASE 命令和将该0x0000写回中之间 FW 更新中断。 有什么建议吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我要说的是、中断闪烁过程只是会产生问题。  但具体而言、F2272具有 BSL v2.02、slau319表示0xFFDE 适用于 v2.0及更高版本。  因此、您应该在这里得到介绍。  但是、如果在中断发生时 FFE0-FFFF 已被擦除、FFDE 也将被擦除为 FFFF、因为两者都是相同的512字节块的一部分。  因此、如果确实有机会中断闪烁会话、那么我认为 FFDE 不会为您提供任何保护。

    我想、如果您确实需要针对擦除 INFOA 的完全保护、那么您必须放弃对 BSL 的硬件调用、而是使用从您的固件进行的调用、该固件在清除 LOCKA 后进入 BSL。  然后、我相信 BSL 将无法擦除 INFOA 或任何相关的信息存储器。

    我的 Github repo 上的一个冗长 PDF 第6页开始讨论 G2xx3器件(BSL v2.03)的相关内容。  一个非常短的程序可以安装在 INFOA 的未使用部分中、该部分测试是否存在 USB 连接、如果存在则跳转到 BSL、否则跳转到应用程序。

    https://github.com/gbhug5a/MSP430-BSL/blob/master/MSP430G-BSL-Using-Embedded-Adapter.pdf

    我 假设大部分 pdf 也适用于 F2272、但您必须确保。  我很确定 Tx 和 Rx 引脚分配是不同的、但我不知道还有什么。

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

    感谢您提供详细信息。 是的、中断的闪存过程通常不是预期的用例、但如果在闪存过程中发生电源故障、则会发生这种情况。 在此过程中、系统会指示用户保持通电、并以用户不会通常断电的方式进行安装。

    我假设我可以使用 BSL 写入 INFOA 段、因此我可以在执行任何擦除之前先存储此数据的副本、以防万一。