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.

[参考译文] CCS/MSP430FR2433:MSP430 BSL 自定义密码

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/902977/ccs-msp430fr2433-msp430-bsl-custom-password

器件型号:MSP430FR2433

工具/软件:Code Composer Studio

您好!

我需要在输入错误的 BSL 密码时禁用 FRAM 批量擦除、并使用永久自定义 BSL 密码、我可以使用该密码通过 BSL 进行未来固件升级。

我发现此密码特定于固件、每个 ISR 的地址位置用作密码数据。

那么、在每次固件升级期间、是否可以使用我们选择的任何永久密码?

如果可能、我们如何做到这一点?

在我们的项目中、防止 MSP FW 损坏的优先级高于 专有 FW 安全性、因此我们需要禁用此"密码错误批量擦除"功能。

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

    您好!

    这是可能的、但在这种情况下、您需要避免使用内置 BSL 的密码方案、您已正确描述了该方案。 为此、您需要实施自己的 BSL、包括 PW 检查机制。

    我们有一些相关示例、请参阅我们网站上的 BSL 主登录页面。  例如、这个

    除了串行通信之外、它还使用射频、但原理是您想要实现的。

    此致

    Peter

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

    [引用用户="Rejath Paul Varkey"]

    我发现此密码特定于固件、每个 ISR 的地址位置用作密码数据。

    那么、在每次固件升级期间、是否可以使用我们选择的任何永久密码?

    如果可能、我们如何做到这一点?

    [/报价]

    这可以通过使用定点矢量 ISR ADR 值来完成、该值指向在每次固件更新期间正在更改的另一个 ISR ADR 值。 或者使用定点固定 ISR 函数的固定 ISR ADR 值、该函数被锁定到特定地址。 我在简单的汇编器项目中使用了这两种方法。

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

    您好!

    正确、这是另一种实现方法。 不过、这可能会导致不同时序中代码和中断服务例程的复杂性产生依赖性、因为强制编译器将相关代码放置在特定位置、这可能会强制编译器包含其他跳转到 ISR 或其他代码的功能。

    因此、在用户的情况下、需要考虑以下因素:更简单或首选的方法、可能存在不同实时行为的上述风险、或者自定义 BSL 的额外工作以及程序存储器中相应的代码开销。 当然、对于 MSP430FR2xx 器件、定制 BSL 的另一个缺点是定制 BSL 代码缺少硬件保护、如 MSP430FR2433。 只有由用户实现的代码中的保护才会保护定制的 BSL。

    此致

    Peter

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

    尊敬的 Peter 和 zrno:

    到目前为止、由于尺寸问题、我们无法在 MSP 中实现自定义 BSL。 仅在 MSP FRAM 中保留小于1KB 的编程空间。 我们已经在使用2端口 IRQ、3个计时器 IRQ、ADC IRQ 和 i2c IRQ 以及 FRAM 数据存储。 因此、我们无法在 FRAM 中进一步添加任何代码。

    是否可以使用 MSP430FR2433中的内置 BSL 使用永久 BSL 密码?

    您还能提到实现这一目标的步骤吗?

    [引用 user="zrno soli"]

    这可以通过使用定点矢量 ISR ADR 值来完成、该值指向在每次固件更新期间正在更改的另一个 ISR ADR 值。 或者使用定点固定 ISR 函数的固定 ISR ADR 值、该函数被锁定到特定地址。 我在简单的汇编器项目中使用了这两种方法。

    [/报价]

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

    您好 Rejath、

    明白。 那么您确实必须沿着 Zrno 提议的路径前进。 请在此处查看一个页面、其中说明了如何分配固定地址。 我希望这是一个良好的起点。 请告诉我您是否可以访问该链接。

    此致

    Peter

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

    尊敬的 Peter:

    我可以访问您的链接。 我一直在努力落实 Zrno 提出的建议,但它没有成功。 我使用的是 CCS 版本9。

    您能否提供更多详细信息、说明我们如何从"固定矢量 ISR ADR"中指向"每次固件更新期间发生变化的 ISR ADR 值"。

    这是我必须在 MSP 固件中更改的内容吗?

    还是需要在链接器文件中编辑的内容?

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

    您好 Rejath、

    遗憾的是、我们没有这方面的示例。 我昨天已经向负责工具方面 BSL 实施的同事介绍了这一点。 如前所述、遗憾的是、我们没有这方面的示例、但最好的方法可能是涉及链接器文件。 我将尝试生成一些内容、但这可能需要一些时间、包括测试。

    此致、

    Peter

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

    您好 Rejath、

    很抱歉耽误你的时间,我和我的同事一直在讨论这个问题。 还有另一个主题、主题相同。 为了避免重复、我要在此处粘贴指向该链接的链接

    请告诉我、这是否满足了您的需求。 非常感谢。

    此致

    Peter

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

    尊敬的 Peter:

    感谢您的支持。 我参考链接中提供的示例、以实现固定的 BSL 闪存密码。

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

    您好 Rejath、

    非常感谢您的反馈。 只需对 E2E 系统的处理做一点评论。 如果您希望确认问题在将来得到解决、请先发布您的最终意见、然后单击已解决选项。 这主要是由于系统实施、因为在特定时间范围内的任何后续帖子、即使在之前确认了解决方案、也会重新打开案例。

    因此、根据您的意见、我将从我的一侧关闭此主题。

    此致

    Peter