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.

[参考译文] MSP430FR2111:尝试使用 BSL 写入主代码存储器0xF100时出现问题

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1036459/msp430fr2111-issues-trying-to-write-to-main-code-memory-0xf100-using-bsl

器件型号:MSP430FR2111
主题中讨论的其他器件:MSP-FETMSP430FR2000

早上/下午/晚上好、

我在尝试使用 BSL 接口对 MSP 进行编程时遇到了一个问题。

我正在运行"RX 密码"命令两次以解锁 BSL、因此我知道问题与此无关。

尝试使用 RX 数据块命令将一些数据写入 MSP 上的 Code Memory 起始位置时遇到问题。

下面是我使用的命令:0x80 0x04 0x01 0x10 0x00 0xF1 0x00 <256字节> 0xCL 0xCH (校验和计算正确)

我的响应如下:0x00 0x80 0x02 0x00 0x3B 0x01 0x41 0xD4

这表明 MSP 上的写入检查存在问题。 UART 没有抱怨无效的 CRC、MSP 也是这样做的。  

我还对存储器的不同部分执行 RX 数据块、没有任何问题。

该命令如下:0x80 0x0C 0x00 0x10 0x80 0xFF 0x00 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF   0xFF 0xFF 0xFF 0xE6 0xF1

对此的响应为:0x00 0x80 0x02 0x00 0x3B 0x00 0x60 0xC4


这运行正常。

我是否遗漏了什么。 感谢您的任何帮助。

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

    您好、Quinn、

    0x80 0x04 0x01 0x10 0x00 0xF1 0x00 <256字节> 0xCL 0xCH  

    您使用哪种公式来计算 CRC、您计算了哪些数据?
    此错误看起来是指帧中的 CRC 值与 MCU 中运行的值不匹配。

    您需要计算红色区域中的这些数据(260字节)。

    附加软件 CRC 代码:

    谢谢!

    此致

    Johnson

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

    这是我使用的 CRC16。

    我怀疑这里的问题是、我错误地解释了 BSL 文档、这意味着我们必须从 TI TXT 文件中读入数据。

    以下是本示例的参考:

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

    在使用提供的算法时、写入数据时发生的 UART CRC 校验不会触发、但 MCU 正在投诉? 那么、我所做的事情是无效的、或者 MSP 发生了故障?

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

    此外、我将在上运行它 <256字节>部分

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

    我不认为这是 CRC 问题、我认为它与数据如何到达芯片有关、或者连接到 MSP 的某些引脚被保持在高电平并导致某种问题

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

    您好、Quinn、

    您使用了哪种硬件? MSP-FET? 还是火箭?

    您是否尝试使用逻辑分析工具来捕获这些 USRT 数据?

    谢谢!

    此致

    Johnson

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

    两者都不相同、我使用的是简单的 SPI -> UART、并使用 BSL 与 MSP 进行通信。

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

    我不确定的一件事是:


    1.2ms 延迟... 这是在单个字符之间还是在命令之间?

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

    是的、我正在使用 saleae 来检查 UART 的逻辑输出、我看不到任何信号或电平问题

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

    除了使用不同的目标地址之外、您的示例案例所使用的数据少得多。 您是否尝试向地址0xf100写入小于256字节的数据? 它还写入与擦除状态相同的0xff、因此它实际上不是编程测试。

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

    事实证明、问题是我尝试将 MSP430FR2000视为 MSP430FR2111。 我和硬件人员之间的通信有误。 当尝试写入0xFFE0时、工作正常。 感谢所有的帮助!