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.

[参考译文] MSP430F5336:与 BSL (UART)通信时出现问题

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/992797/msp430f5336-problem-communicating-to-the-bsl-uart

器件型号:MSP430F5336
主题中讨论的其他器件:MSP430FR2533OMAP-L138

您好!

我们在定制板上使用 msp430f5536、并尝试使用 BSL (UART)执行固件升级。

我们可以通过从软件调用 BSL 来进入 BSL、但在我们发出 BSL 命令时、我们在主机端没有得到有效的响应。

例如、当我们发送 Rx 密码命令时、我们得到以下响应:0x80 0x0 0x0 0x80 0x80 0x0 0x0 0x80 0x80 0x80 0x0 0x0 0x80 0x0 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80。

对于批量擦除和 BSL 版本命令、我们会得到相同的0x80 0x0 0x0 0x80 0x80响应。

主机上的 USRT 被配置为:

波特率9600

2.起始位,8个数据位 LSB 优先,偶校验,停止位

欢迎就如何解决此通信问题提出任何建议。

此致、

Dmitri Krivchitch

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

    您好!

    下面是有关我们设置的一些详细信息。

    在 MSP430上、我们使用以下序列从软件进入 BSL

    sysctl_disableBSLProtect ();

    _disable_interrupt ();

    ((void (*)() 0x1000)();

    BSL 版本为00.07.05.04

    即使我们发送完全无效的命令、我们也会得到相同的响应0x80 0x0 0x80 0x80。

    BSL UART (P1.1、P1.2)连接到 T1042上的 UART (TTL 电平)。 我们 将 USCI_A1连接到 T1042 (TTL)上的另一个 UART、它在我们的应用代码中工作正常。

    过去、当 msp430fr2533  (BSL UART P1.4和 P1.5)连接到 OMAP-L138 UART 时、我们使用相同的固件升级设置(除了 BSL 位于 ROM  中、我们不必调用 sysctl_disableBSLProtect)、它工作正常。  

    此致、

    Dmitri Krivchitch  

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

    大家好 、Dmitri Krivchitch、

    当您通过硬件调用引导加载程序时、我想再次检查它是否正常工作。

    您能告诉我 您在 sysctl_disableBSLProtect ()中做了什么吗? 我没有听说过这个函数。

    伊斯天

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

    您好、伊斯天、

    遗憾的是、我们的电路板未连接测试信号、因此我们无法通过硬件调用 BSL。

    SYSCTL_disableBSLProtect 清除 OFS_SYSBSLC 寄存器中的 SYSBSLPE 位。 当该位置位时、不能访问 BSL 存储器。

    Dmitri   

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

    我们看到的问题是由我们使用 TIMER_A0而在调用 BSL 之前未禁用它引起的。 禁用计时器后、BSL 会正常运行。

    此致、

    Dmitri Krivchitch