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.

[参考译文] MSP430FR5739:BSL 调用和通信-奇数响应

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1220317/msp430fr5739-bsl-invocation-and-communication---odd-responses

器件型号:MSP430FR5739

您好!
我正在开发从主机处理器(iMX、但这不相关)到 MSP430的更新。

使用 iMX 上的 GPIO、我尝试使用 RST/TST 序列将 MSP430置于引导加载程序模式。 然后、我继续按照规定发送从矢量表的前16个字派生而来的 RX 密码命令和密码。 我没有收到响应、从中我只能推断密码不正确(该型号的数据表指出、对于错误的密码、预计不会有响应)。 我已经检查了 CRC、它看起来是正确的(在这种情况下它是否与0x52响应进行了 ACK?)。

矢量表中的16个字(小端字节序)为:

@FFE0
30 EE 0A F0 0A F0 0A F0 0A F0 0A F0 0A F0 0A F0 C0 EF
90 EF 0A F0 90 ED 0A F0 0A F0 0A F0 0A F0 0A BA EC

为了完整起见,我们还尝试了扭转字节序,但没有任何效果。


get-password 消息如下所示。
0x80、0x21、0x00、0x11、0x9E 0xED、0x78、0xEF、
0x78、0xEF、0x78、0xEF、0x78、 0xEF、0x78、0xEF、
0x78、0xEF、0x2E、0xEF、0xFE、 0xEE、0x78、0xEF、
0xFE、0xEC、0x78、0xEF、0x78、 0xEF、0x78、0xEF、
0x78、0xEF、0x28、0xEC、0xA1、 0x28

波形如此处所示。 请注意、 在这里、RX 是 MSP430接收的数据。

从图中可以看出没有收到响应。

重要的是、在 BSL 调用之后有数据正在从主机发送、但 RX 线路未更改。 主机已被检查、并且它没有将线路保持在高电平。 如果省略了 BSL 调用、该行可以移动并且数据是可见的。 对于所有外观、RX 线路由 MSP430保持为高电平。

可以观察到、如果未发生 BSL 调用、但向 BSL 发送了有效的消息、则会收到响应、尽管在消息完成之前。 我怀疑这是否具有相关性,但这是令人好奇的。 响应看起来像是有效的 ACK (标头不正确)。

我们已经用尽了这一难题的所有途径。

有人能帮忙吗?

 

谢谢

格雷厄姆

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

    您好、Graham:

    审核案例需要花费一些时间。 我 会在得出结论后立即回复。

    B.R.

    萨尔

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

    您是否首先进行了两次和三次检查、确定您在正确的引脚上进行传输? 在器件上、BSL RX 在端口2.1上、BSL TX 在端口2.0上。 这位于数据表中的表6-3" BSL 引脚要求和功能"。 此外、BSL 配置为9600波特以及 偶数 奇偶校验、8个数据位和1个停止位( SLAU550的3.1.1)。

    作为确保接口设置正确的测试、您应该尝试不同的命令、该命令将实际发送响应;如果 BSL 处于锁定状态、"TX BSL 版本"将以0x04 (BSL 锁定)的内核响应进行响应、如果 BSL 处于解锁状态、则以 BSL 版本进行响应。 在您发送的情况下、如果您发送的密码不正确、则没有响应、并且器件会被擦除。 如果您在空白器件上再次发送相同的密码、这 也是不正确的、因为解锁空白器件的密码将是32个字节、所有这些字节都设置为0xFF、因此会再次擦除器件而没有任何响应。

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

    您好、Graham:

    很抱歉后来的回应,我认为塞思给出了一个很好的澄清。

    同时,您可以访问 https://www.ti.com/lit/ug/slau550ab/slau550ab.pdf :

    另外、BSL 密码为低位首先通过;CRC 代码应包含 CMD+Data。

    获取密码消息如下所示。
    0x80、0x21、0x00、0x11、0x9E 0xED、0x78、0xEF、
    0x78、0xEF、0x78、0xEF、0x78、 0xEF、0x78、0xEF、
    0x78、0xEF、0x2E、0xEF、0xFE、 0xEE、0x78、0xEF、
    0xFE、0xEC、0x78、0xEF、0x78、 0xEF、0x78、0xEF、
    0x78、0xEF、0x28、0xEC、0xA1、 0x28[/引号]

    由于此代码不是获取密码消息、而是用于解锁器件的命令、这与您的密码列表不匹配:

    @FFE0
    30 EE 0A F0 0A F0 0A F0 0A F0 0A F0 0A F0 0A F0 C0 EF
    90 EF 0A F0 90 ED 0A F0 0A F0 0A F0 0A F0 0A BA EC
    Q [/报价]

    因此、正如  Seth 描述的那样、将发生批量擦除。

    B.R.

    萨尔

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

    您好!

    我试图回答一次,但我的 答复似乎是令人失望的。 我尝试过你建议的,没有积极的结果。 我想看看萨尔说什么,看看我能从中学到什么。 目前、我遇到了间歇性调试问题、可以感知我的响应中的延迟。

    谢谢

    格雷厄姆

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

    您好!

    很抱歉、我之前没有通知您。 按照您的建议、我更正了代码、现在可以解决问题了。

    非常感谢

    格雷厄姆