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.

[参考译文] MSP430F5529:MSP430F5529:无法通过 UART BSL + MSP-BSL Rocket + BSL 脚本执行器进行闪存

Guru**** 2392435 points
Other Parts Discussed in Thread: MSP430F5529, MSP430F5358

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1070513/msp430f5529-msp430f5529-unable-to-flash-via-uart-bsl-msp-bsl-rocket-bsl-scripter

部件号:MSP430F5529
《线程: 测试》, UNIFLASHMSP430F5358中讨论的其他部件

您好,

我尝试通过 USB (不含 MSP BSL Rocket)使用 BSL 脚本编写器刷新 MSP430F5529 (Launchpad),这种方法很成功。 但是,通过 UART (使用 MSP BSL Rocket)使用 BSL 脚本编写器刷新该软件时未能奏效。 密码解锁本身时显示确认错误。 我已经附加了脚本文件及其输出,供您参考。

以上屏幕截图显示了使用 USB 闪存 BSL 脚本编写器刷新芯片的输出,而不使用 MSP BSL Rocket。

上述屏幕截图显示了使用 BSL 脚本编写器使用 UART 刷新芯片的输出。

UART 连接的方式如下:

MSP430 --- > MSP BSL Rocket

P1.1 ---- >TX(1)

P1.2 ---- > RX (3)

SBWTCK --- >测试(7)

SBWTDIO-->RST(4)

VCC ---- >VCC(6)

地--- >GND (5)

我们还尝试更改 TX 和 RX 针脚连接,但仍有相同的问题。

请帮助我解决以下问题:

1.关于 UART BSL 脚本编写程序及其与目标与 MSP-BSL 火箭的连接的更多信息。

2.是否需要将 MSP430芯片中的固件升级到 UART BSL。 如果是,如何升级新固件?f

(我们还尝试使用 TI 提供的 BSL 图像来刷新 MSP430,即 BSL.00.07.05.04.txt,通过以下路径:MSP430BSL_1_02_00_01/released_BSL_images/MSP430F55xx_Family/UART BSL,使用 UART BSL 和 MSP BSL 火箭。 密码解锁时仍显示相同的无 ACK 错误)

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

    您好,

    默认情况下,MSP430F5529随附在设备中编程的 USB BSL。 为了在此设备上利用用于 BSL 的 UART 接口,您必须通过标准 JTAG 编程对指向的 UART BSL 图像进行编程。  

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

    通过启用 BSL 内存区域,我们尝试通过标准 JTAG/SBW 通过无限刷新 MSP430F5529的 UART BSL 图像。 此后,我们无法通过 CCS 刷新程序,但在调试“连接到目标时出错:设备的调试接口已被保护”时显示错误。 我们也无法通过按 BSL 按钮进入 BSL 模式。

    MSP430F5529芯片是否被锁定,这是有什么可能的? 如果是,是否有办法恢复主板?

    现在我们无法使用板做任何事情了!!请帮助。

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

    JTAG 保险丝值存储在 BSL 内存的末尾,在通过 JTAG/SBW 接口更新 BSL 期间,工厂默认保险丝值(0xFFW)发生更改。

    由于 JTAG 保险丝“熔断”,JTAG/SBW 接口将无法工作。

    按下 BSL 按钮无关紧要,因为它与出厂预装的 HID BSL 相关 ,该 HID BSL 已被 UART 版本擦除/覆盖。

    如果 UART BSL 图像错误/无法正常工作,则设备会被欺骗。 如果 UART BSL 图像工作正常,则 JTAG 保险丝值可以被覆盖到值0x000并由 BSLScripter 解锁。

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

    我认为该设备是被欺骗的,因为我们无法进入 BSL 模式来执行 UART BSL 脚本编写器。 是否有任何方法可以恢复设备?

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

    有了 JTAG 安全且无法正常工作的情况下,BSL F5xx 器件会被欺骗,无法恢复。

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

    此外,在我们的自定义主板中,我们使用 MSP430F5358,并从数据表中发现其默认 BSL 是 UART BSL,而在 MSP430F5529 LP 中,默认 BSL 是 USB BSL。 因此,在我们使用 MSP430F5358的定制板上,我们可以通过软件调用将 MCU 调用到 BSL 模式,然后从测试 PC 运行 UART BSL 脚本。 因此,我们对此有一些疑问:

    1.上述步骤是否正确,或者我们缺少任何关键步骤?

    由于 MSP430F5358具有默认的 UART BSL,我们是否必须像使用 MSP430F5529 LP 那样,通过 JTAG/SBW 再次刷新 UART BSL 图像? 如果是这样,我们是否会遇到同样的问题,即吸吸吸 MCU,我们就不会有吸吸该 MCU 的风险。

    3.在 BSLScripter-3.4.0.2-linux64-installer 中,我们在路径(BSL-Scripter/ScriptExampleLinux)下找到了5xx_USB 的一些示例。 但我们没有找到5xx 系列的任何 UART 示例(脚本文件和.txt 文件)。 在哪里可以找到需要用于 UART BSL 闪存的 BSL 脚本?
    4,哪种设备可用作 UART BSL 闪光的 UART 到 USB 通信桥接器? 此外,对于这些设备,我们应该对接口设备进行预编程,使其与 UART BSL 闪存兼容。

    注:我们主要使用 Linux PC 进行测试。

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

    1.出厂预装 UART BSL 的设备应通过 UART 接口与 BSL 脚本编写器正常工作。

    2.无需触摸原始 UART BSL。

    3. USB / UART BSL 的脚本几乎相同,只有接口/连接(USB / COMxx)存在差异...

    USB 脚本的第一行-->模式5xx USB

    UART 脚本的第一行-->模式5xx COM24

    4.尝试在 e2e 或其他论坛上找到与 MSP430F5xx 系列合作的已确认的网桥。 例如...

    sustburbia.blogspot.com/.../the-great-msp430-bootloader-swindle.html

    只需注意,5529LP 上带有编织目标设备(F5529)的 EZ-FET 仍然完全正常工作,可以与任何板外 MSP430目标设备一起使用以进行调试或闪烁。

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

    感谢您解决我们的问题。 我还有一个疑问,是否需要将 MSP430的 BSL 发送和接收引脚(即 P1.1和 P1.2)用于 BSL 脚本编写器。 我们是否可以使用其他可用的 UART 引脚(USCI_A1:P8.1和 P8.3)来实现此目的? 为了使 UART BSL 能够正常工作,我们是否需要从软件端或硬件端进行任何配置更改?

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

    TI 工厂 UART BSL 只能与设备数据表中指定的引脚配合使用。 要使用其他引脚和 UART (出厂版本中未使用 UART),必须自定义 BSL。 不幸的是,JTAG 保险丝位于 BSL 区域的末端,TI 工具在更改保险丝值之前不会提示用户,因此用户必须确保生成的二进制文件不会锁定 JTAG。

    还有来自 TI 的开源固件更新工具(如 BSL),这些工具不会触及原始 BSL,例如 MSPBOOT。

    https://www.ti.com/tool/MSPBSL ->主内存 BSL -> MSPBOOT