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/MSP432P401R:添加了引导加载程序、允许通过串行端口现场更新固件和/或控制参数

Guru**** 2540460 points
Other Parts Discussed in Thread: MSPBSL

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/627190/ccs-msp432p401r-adding-bootloader-to-allow-field-update-of-firmware-and-or-control-parameters-via-serial-port

器件型号:MSP432P401R

工具/软件:Code Composer Studio

我事先道歉,因为这是一个多主题的问题,但我认为所有步骤都是相互关联的。

目前、我们使用 MSP432 Launchpad 板作为系统上的子板(当下一代项目启动时、它最终只会在电路板上获得处理器和 JTAG 接头)。 虽然这允许对固件进行重新编程以及通过 USB 端口进行调试、但希望能够允许通过串行端口进行现场更新、该串行端口在系统运行时还可用于通信操作数据。 我们使用 EUSCI_A2作为系统串行端口。

从我所发现的内容来看,似乎  需要自定义 BSL432软件包(在这里可以找到:www.ti.com/.../mspbsl)以指定所需的 UART 端口,首先编译并加载; 然后、我的应用程序将在该文件之后加载、然后使用 BSL 脚本程序(来自之前的链接)、有一种方法可以设置这些内容、以便通过串行端口自动更新我的应用程序。 遗憾 的是,虽然 BSL 用户指南(www.ti.com/.../slau622e.pdf)中似乎有很多详细信息,但我找不到任何简单的示例说明如何完成所有这些操作。 论坛上有几个主题,其中包括这个主题(https://e2e.ti.com/support/microcontrollers/msp430/f/166/t/535669?tisearch=e2e-sitesearch&keymatch=MSP432%20bootloader ),表示(我怀疑)正确设置链接器文件是需要完成的一些任务, 但对于我们中的硬件人员来说、我们的核心不是软件向导、这仍然是相当令人困惑的。

也许我错过了在某个地方找到有人可以指向我的教程或示例?

同样、我还在寻找一种方法来保留一个闪存块以用于控制参数、并且能够通过串行端口对其进行下载或编程 (我始终可以在代码中执行此操作、但 BSL 脚本编写器似乎可以轻松地完成此操作)。 为了支持调试、我假设上面提到的部分链接器文件设置涉及允许在通过 USB 重新编程应用程序时不接触控制参数?

一些详细信息:使用 CCS 7.1.0.00016并在代码中包含 simplelink msp432 SDK v 1.40.00.28 (这是我开始使用时的最新版本,除非绝对必要,否则我们在开发过程中不会更改)。

如果有任何建议、指示、指向教程的链接等、我们将不胜感激。  

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

    您好、John、

    您似乎希望使用 TI 的 BSL 来允许字段更新、但您不想使用默认的 EUSCI_A0、而是使用 EUSCI_A2、因为这是您选择的串行端口。 在现场更新期间是否会对其他任何器件进行编程? 换句话说、是否将使用 MSP432对其他器件进行编程? 或者、它是唯一要更新的器件吗?? 如果您可以共享系统方框图、这将 有助于我获得更清晰的图片

    如前所述、EUSCI_A0是 BSL 使用的默认串行端口、因此需要对其进行更改以使用 EUSCI_A2、我很乐意为您提供帮助。 这是对软件的简单更改、但请记住、这一新的 BSL 需要在您将收到的所有 MSP432上进行更新。 我还可以帮助您完成此过程、我们有一个工具 MSP432_BSL_Programmer 1_00_00_00_01 来更新 BSL (需要 JTAG)

    [引用 user="John Weber"]也许我错过了某个教程或示例,有人可以将我指向某个位置?

    我们没有这方面的教程、但这可能是一个很好的方法。

    [引用 user="John Weber">同样、我也在寻找一种方法来保留闪存块以用于控制参数、并能够通过串行端口下载或编程闪存块 (我始终可以在代码中执行此操作、但 BSL 脚本编写器似乎可以轻松地完成此操作)。 为了支持调试、我假设上述链接器文件设置的一部分涉及允许在通过 USB 重新编程应用程序时不接触控制参数?[/quot]

    是的、您必须在链接器上保留一些空间、并且可以使用 BSL-scripter / BSL 组合对其进行更新。 为了保护本节内容、我建议您使用 IP 保护功能、请查看 本文档

    让我们从 BSL 开始、然后我们可以研究 在 您的应用中保留存储器块。

     此致、

       David  

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

    谢谢、David。 很抱歉耽误您的时间-我没有看到表示回复的电子邮件、也忙于处理其他事情。

    系统的高级方框图如下所示:

    我假设所有处理器都需要使用更新的 BSL、当前代码和初始配置数据进行编程(作为单独的操作)。 是的、考虑到所有文档都显示了有关 BSL、Scripter 等的详细信息、但不能真正展示您如何使用它-我相信、以这种方式为导向的教程(即使对于不想自定义的人也是如此)将会非常感激!

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

    查看您的方框图后、MSP432是系统上唯一需要更新的 MCU。 第二次、我认为 MSP432将用于更新系统上的其他 MCU、感谢方框图。

    我正在为您提供使用 EUSCI_A2的 BSL 新版本、因此、只需确认您使用的是 UCA2RXD 的 P3.2、UCA2TXD 的 P3.3。

    此致、

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

    您好、John、

     请在随附 的 BSL0000.0003.0007.0205.DDAA_EUSCIA2.txt 上找到 启用 EUSCI_A2的 BSL。

    请使用 MSP432_BSL_Programmer 1_00_00_00_01 工具更新 BSL、并 请离线与我联系、然后我会向您发送更新的 BSL 源代码(您可以单击我的配置文件并通过这种方式向我发送私人消息)。

     此致、

        David