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.

[参考译文] MSP430FG6626:应用内编程

Guru**** 2391835 points
Other Parts Discussed in Thread: MSP430FG6626, UNIFLASH, MSP-FET

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1001589/msp430fg6626-in-application-programming

器件型号:MSP430FG6626
主题中讨论的其他器件: MSP-FET430UIFUNIFLASHMSP-FET

我正在开发定制板、其中 MSP430FG6626是基于 ARM 的主 CPU 的 SPI 从 MCU 器件。

我需要通过主 CPU 应用程序代码更新 MSP430固件。 我可以开发基于 SPI 的定制引导加载程序、但为什么不使用 MSP430 MCU 已有的 BSL? 遗憾的是、到目前为止、我从未将 BSL 用于 MSP430器件编程;对此我了解甚少。

为此、我将所有 UART BSL 引脚(RST/NMI/SBWTDIO、 TEST/SBWTCK、P1.1 (BSLTX)、P1.2 (BSLRX))路由到主 CPU。

 MSP430FG6626 器件预编程有 USB BSL、但我的应用不打算使用 USB 功能。 我看到 MSP430FG6626 器件也可以使用 BSL 存储器中的 UART BSL 进行编程、从而取代出厂时提供的 USB BSL 预编程代码。

我的问题:

  1. 在哪里可以找到适用于 MSP430FG6626器件的 UART BSL 固件代码?
  2. 如何在 MSP430FG6626器件上对 UART BSL 进行编程?  具有 MSP-FET430UIF 和 UniFlash 工具的 Spy-Bi-Wire 接口 是否足够?
  3. 如何检查 UART BSL 以对 MSP430FG6626器件进行编程? MSP-FET430UIF 和 UniFlash 工具是否支持 BSL 编程模式?
  4. 我的主 CPU 上是否有用于嵌入式 BSL 编程器 C 应用的应用手册或演示代码?
  5. 如果我需要自定义 UART BSL 代码该怎么办? UART BSL 源代码是否可用?

谢谢!

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

     我没有检查很长时间、但我想它必须在这里(供下载)...

    https://www.ti.com/tool/MSPBSL

    如果我记得对、它被打包在 slau319.zip 中

    您可以使用任何 TI 软件/硬件工具将新的 BSL 更新到您的器件、只需先解锁 BSL 段(类似于信息段)。 请注意、JTAG 保险丝值存储在 BSL 区域的末尾、而 JTAG 锁定且 BSL 不起作用时、器件会一直被欺骗。

    我不记得文档编号、但 tere 是开源 BSL 主站示例、其中 G2553 LP 用作 BSL 主站、作为 PC BSL 脚本编写器和目标器件之间的接口。

    BSL 源代码是开源代码、可进行定制。 您可能找不到适合您的器件的版本、但更相似器件的版本中包含了该版本。

    您可以转储原稿使其在侧面。 您还可以搜索 e2e、因为我记得有很多人提到过如何执行此操作、以及您需要执行的操作。

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

    Zrno 您好、感谢您的回复。

    我找不到任何 slau319.zip、只有  slau319ae_MSP430 闪存器件引导加载程序(BSL)文档、没有任何固件包链接。

      在 https://www.ti.com/tool/MSPBSL 网页中、我看到:

    • 我可以使用 OLIMEX MSP430-BSL 编程器或 MSP-FET 通过 BSL 对 MSP430闪存进行编程。  MSP-FET430UIF 似乎不支持 BSL 编程、对吧?
    • 要下载的唯一 MSP430 BSL 固件似乎在 http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSPBSL_CustomBSL430/latest/index_FDS.html 中 ,我可以在其中获取用于自定义目的的最新 MSP430引导加载程序包。 在该封装内、我找到要 从0x1000闪存地址开始进行编程的 MSP430FG662x 系列的最后发布的 BSL 映像(USB 和 UART)。
    • 在 MSP430引导加载程序包中、哪一个固件项目是用于 MSP430FG662x 器件开始定制的正确固件项目?
    •  《具有 SimpleLink MCU 的 MSP430引导加载程序》应用手册介绍了为 MSP430引导加载程序提供嵌入式主机的软件:这看起来像是我为嵌入式 MSP430 BSL 主机编程器询问的演示代码、对吧?

    在 MSP430FG662x 器件上、BSL 闪存从0x1000到0x17FF 不等。  JTAG 安全锁定密钥位于 BSL 存储器的末尾、地址为0x17FC 至0x17FF。

    为了不使 MSP430FG662x 器件实现砖型设计、是否有安全更新 BSL 固件的分步指南?

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

    您好!  

    1.正确。

    请在文档 SLAU319中找到表5-27以获得正确的版本 BSL 代码。  

    3.是的。 这是一个演示代码。 您需要针对 FG662x 对其进行修改。  

    4.请尝试不要擦除锁定密钥。 请仔细检查代码。  

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

    Hawken、您好、感谢您的回复。

    我将使用 UniFlash 更新 BSL 闪存中的 BSL 映像、但 到目前为止我从未这样做。

    对于 JTAG 安全锁定密钥、UniFlash 是否足够安全? 它如何保留 BSL 3闪存段? 请告诉我正确的 UniFlash 设置以安全更新 BSL 映像吗?

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

    您好!  

    Uniflash 的任何内容都无法确保解锁阶段。 您应该确认数据。 "JTAG 安全锁定密钥位于引导加载程序(BSL)存储器的末尾、地址为17FCh 至17FFh。 除了0h 或 FFFFFFFFh 之外、编程到这些地址的任何内容都会锁定 JTAG 接口" Uniflash 可以将17FC 擦除为17FF。 它不会增强安全性。 您写入的 BSL 数据将增强安全性。  

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

    那么、如果我使用 UniFlash 将释放的 UART BSL 映像(BSL_00.08.08.04)刷写到 MSP430FG6626 BSL 存储器中、从0x1000擦除到0x17FF、我可以非常安全地保证 JTAG 的安全性、对吧?

    我在  BSL_00.08.08.04.MAP 文件中看到 JTAGLOCK_KEY 段从0x17FC 定义为0x17FF、在 BSL_00.08.08.04.txt 文件中、最后4个字节全部为0xFF、因此 JTAG 安全被保持为未锁定状态。 对吧?

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

    正确。