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.

[参考译文] MSP430FR2311:I2C BSL 示例

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/844684/msp430fr2311-i2c-bsl-example

器件型号:MSP430FR2311
主题中讨论的其他器件: MSPBSL

您好!

是否有任何有关如何在 MSP430FR2311上使用 BSL 的示例?   

我通读了本 文档 、从中可以看到、您可以使用以下命令跳转到引导加载程序:

_disable_interrupt ();//禁用中断
((void (*)()) 0x1000);//跳转至 BSL

然后使用地址0x48向器件发送 I2C 命令以安装新固件。  我需要在代码中包含这些内容吗?  我想拥有一个将使其进入引导加载程序模式的函数调用、然后如果我需要从主器件端实施远程更新、我可以在以后将其添加到主器件中。

此假设是否正确?

是否有任何软件示例展示了如何从主设备端完成此操作?

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

    您好、Andrew、

    所有 BSL 信息均可在 MSPBSL 页面上找到。  它链接了解释 FRAM 器件 BSL 的所有文档、并为您提供了有关如何启用 BSL 的不同选项和示例。  

    请通读页面、如果您有任何具体问题、请告诉我。  

    谢谢、

    JD  

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

    JD、

    3.3.1.2和 3.3.1.2.1在 http://www.ti.com/lit/ug/slau550w/slau550w.pdf 中不是很清楚

    因此、我理解您必须执行以下操作:

    _disable_interrupt ();//禁用中断((void (*)()) 0x1000);//跳转至 BSL

    以启动 BSL、但我不理解"操作"函数。  函数编号及其说明的列表在哪里?

    此外、当您在已编程的器件上使用引导加载程序时、不清楚是否曾经执行过任何操作、然后重新上电、这将返回到运行主应用程序。

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

    您好、Andrew、

    通读该部分、我认为涵盖所有 FRAM 器件的级别略高。  一些具有 I2C BSL、另一些具有 UART 等。  这是数据表中针对每个器件指定的、通常是 TI.com 器件选择器。   

    有2种方法调用内置 BSL。  通过应用软件或外部硬件调用。   

    您询问的部分是应用程序代码尝试调用 BSL 的时间。  记住从软件调用 BSL 的重要一点是禁用中断、然后跳转至地址0x1000。  BSL 将从此处接管。  

    编辑:FRAM BSL 用户指南的这些部分指定了 BSL 使用的外设需要使其寄存器复位。   

    希望这会有所帮助。

    JD