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.

[参考译文] CCS/MSP430FR6047:MSP430FR6047 BSL

Guru**** 2589245 points
Other Parts Discussed in Thread: MSP430FR6047, MSP430FR6989, MSP430FR5969, MSP-FET

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/873797/ccs-msp430fr6047-msp430fr6047-bsl

器件型号:MSP430FR6047
主题中讨论的其他器件: MSP430FR6989MSP430FR5969MSP-FET

工具/软件:Code Composer Studio

大家好。

我的问题是 关于 MSP430FR6047 BSL。

当我使用 MSP430FR6989 (BSL 版本:00.07.34.B2)时,我已下载到具有 BSL 的 MCU。

我体验了 BSL 的所有功能(整体擦除、使用 BSL 复位等)。   我在  MSP430FR6989 BSL 内核上没有遇到任何问题。

但是、对于 MSP430FR6047 (BSL 版本: 00.08.35.B3)、我遇到了两种异常行为;  

首先、 MSP430FR6047在批量擦除操作后不响应 UART。

其次、将 PC 加载到@4400或@4000不会导致复位。 (我可以通过在 FR6989上使用 BSL 向 PC 写入4400来进行复位)

问题是什么? 两个 BSL 版本之间是否有差异?

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

    Mesut、您好!

    我们将研究您的问题、并将在今天晚些时候再次与您联系。 您是否在我们的 BSL 登录页面上查看了有关 BSL 主登录页面上文档的信息? 在这里、您应该能够找到描述 BSL 详细信息以及不同系列和衍生产品之间潜在差异的文档。

    和 FRAM 器件 BSL 用户指南。

    此致

    Peter

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

    感谢您的快速回答

    实际上、我参考了 SLAU550T (2019年4月修订)文档。 我对 FR6989没有任何问题。

    按照 SLAU550T 标准、没有已知错误、并且两个 BSL 版本之间没有差异。

    我查看了系列用户指南文档、但没有找到任何技巧。

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

    您好、Spevak 先生

    为了触发 BOR、我通过顺序写入 PMM CTL0寄存器0xA5和0x04来解决第二个问题(使用 BSL 复位)。

    但是、第一个问题(BSL 内核在批量擦除操作后不响应 UART)。 仍然是连续的。

    最好。 此致...

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

    斯佩瓦克先生是否有任何解决办法?

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

    你(们)好、Mesut

    您使用什么硬件和软件工具以及如何连接到 MSP430? 剂量密码的反馈是确定还是失败?

    此致

    Gary  

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

    我正在使用自己的 GUI 接口/解析器、并将 EUSCI A0 HW 与简单的 PC-MCU RS232转换器相连。

       PC-GUI 命令                   MSP430FR6989内核响应                 MSP430FR6047内核响应

    RX 密码(0x11)                     0x3B 0x00                                     0x3B 0x00   

    批量擦除(0x15)                       所有帧:0x00 (有时为0x00 0x3F)             所有帧:0x00 (有时为0x00 0x3F)   

    任何命令(在整体擦除之后)          响应是根据命令进行的                根本没有任何响应(任何字节或任何帧)

    在整体擦除之前、两个器件对 GUI BSL 命令做出响应。 但是在批量擦除操作(通过写入0x15或错误的 BSL 密码)之后、FR6047不会响应 UART BSL 命令。 我的 GUI 适用于将新固件下载到 MCU 的正确顺序。 我在 FR6989器件上对其进行了测试。   

    我认为 FR6047器件或 00.08.35.B3 BSL 版本上存在错误。 批量擦除命令对于下载新固件非常重要、因为另一方面、我必须知道芯片上的当前固件、并且必须知道 BSL 密码。

    我正在等待您的帮助...

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

    Mesut、您好!

    MSP430FR6989和 MSP430FR6047下的 BSL 应具有相同的行为。 当我们通过 RX_PASSWORD 命令或直接使用 MUS_ERASE 发送错误的密码时、BSL 将调用位于引导代码下的批量擦除函数。 在 FR5xx 和 FR6xx 中、批量擦除执行不发送响应。 (在 UG SLAU550中、第4.5.1.2节命令返回和第4.5.1.3节命令返回)。

    我在 MSP430FR5969 (它具有与 MSP430FR6989相同的 BSL 版本)和 MSP4306047下运行测试、并跟踪行上传输的字节。

    MSP430FR5969 (初始状态器件为空)

    C:\Users\a0406885\Desktop\BSL_fr6047_fr5989>BSL-Scripter.exe script.txt
    --------------------------------------
    BSL Scripter 3.4.0.1

    用于 BSL 编程的 PC 软件
    2020年2月11日11:27:02
    --------------------------------------
    输入文件脚本为:C:/Users/a0406885/Desktop/bsl_fr6047_fr5989/script.txt

    模式 FRXX UART COM13 9600
    详细
           详细模式现已开启!
    RX_PASSWORD
           [80][21][00][11][ff][ff][ff][ff][ff][ff][ff][ff][ff][ff][ff] [FF][ff][ff][ff][ff][ff][ff][ff][ff][ff][ [FF][ff](关闭)
           [FF][ff][ff][ff][ff][ff][ff][ff][ff][ff][ [FF][ff][ff][ff][ff][ff][ff][ff][ff][ff][ [FF][ff][ff][ff][ff][ff][ff][ff][ff][ff][ [FF]
           [FF][ff][ff][ff][ff][ff][ff][ff][ff][ff][ff][ff][ff]
           <80><02><00><3b><00><60>
           BSL 密码正确!
    TX_BSL_VERSION
           [80][01][00][19][e8][62]
           <80><05><00><3a><00><07><34> <14><90>
           供应商:[TI] CI:[07] API:[34] PI:[B2]
    批量擦除
           [80][01][00][15][64][A3]
           [ACK_ERROR_MESSAGE]未知的 ACK 值!
    TX_BSL_VERSION
           [80][01][00][19][e8][62]
           <80><02><00><3b><04> <84>
           [ERROR_MESSAGE]BSL 已锁定!
    RX_PASSWORD
           [80][21][00][11][ff][ff][ff][ff][ff][ff][ff][ff][ff][ff][ff] [FF][ff][ff][ff][ff][ff][ff][ff][ff][ff][ [FF][ff](关闭)
           [FF][ff][ff][ff][ff][ff][ff][ff][ff][ff][ [FF][ff][ff][ff][ff][ff][ff][ff][ff][ff][ [FF][ff][ff][ff][ff][ff][ff][ff][ff][ff][ [FF]
           [FF][ff][ff][ff][ff][ff][ff][ff][ff][ff][ff][ff][ff]
           <80><02><00><3b><00><60>
           BSL 密码正确!
    TX_BSL_VERSION
           [80][01][00][19][e8][62]
           <80><05><00><3a><00><07><34> <14><90>
           供应商:[TI] CI:[07] API:[34] PI:[B2]

    对于 MSP430FR6047 (初始状态器件已预编程、因此第一个密码会导致错误的密码)

    C:\Users\a0406885\Desktop\BSL_fr6047_fr5989>BSL-Scripter.exe script.txt
    --------------------------------------
    BSL Scripter 3.4.0.1

    用于 BSL 编程的 PC 软件
    2020年2月11日12:27:17
    --------------------------------------
    输入文件脚本为:C:/Users/a0406885/Desktop/bsl_fr6047_fr5989/script.txt

    模式 FRXX UART COM13 9600
    详细
           详细模式现已开启!
    RX_PASSWORD
           [80][21][00][11][ff][ff][ff][ff][ff][ff][ff][ff][ff][ff][ff] [FF][ff][ff][ff][ff][ff][ff][ff][ff][ff][ [FF][ff](关闭)
           [FF][ff][ff][ff][ff][ff][ff][ff][ff][ff][ [FF][ff][ff][ff][ff][ff][ff][ff][ff][ff][ [FF][ff][ff][ff][ff][ff][ff][ff][ff][ff][ [FF]
           [FF][ff][ff][ff][ff][ff][ff][ff][ff][ff][ff][ff][ff]
           [ACK_ERROR_MESSAGE]未知的 ACK 值!
    TX_BSL_VERSION
           [80][01][00][19][e8][62]
           <80><02><00><3b><04> <84>
           [ERROR_MESSAGE]BSL 已锁定!
    批量擦除
           [80][01][00][15][64][A3]
           [ACK_ERROR_MESSAGE]未知的 ACK 值!
    TX_BSL_VERSION
           [80][01][00][19][e8][62]
           <80><02><00><3b><04> <84>
           [ERROR_MESSAGE]BSL 已锁定!
    RX_PASSWORD
           [80][21][00][11][ff][ff][ff][ff][ff][ff][ff][ff][ff][ff][ff] [FF][ff][ff][ff][ff][ff][ff][ff][ff][ff][ [FF][ff](关闭)
           [FF][ff][ff][ff][ff][ff][ff][ff][ff][ff][ [FF][ff][ff][ff][ff][ff][ff][ff][ff][ff][ [FF][ff][ff][ff][ff][ff][ff][ff][ff][ff][ [FF]
           [FF][ff][ff][ff][ff][ff][ff][ff][ff][ff][ff][ff][ff]
           <80><02><00><3b><00><60>
           BSL 密码正确!
    TX_BSL_VERSION
           [80][01][00][19][e8][62]
           <80><05><00><3a><00><08><35> <35><9f>
           供应商:[TI] CI:[08] API:[35] PI:[B3]

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

    你(们)好

    我尝试使用 BSL 脚本编写器应用程序、但 MCU 给我"标头 不正确!" 误差。 (详细模式打开)

    让我们忘记 BSL-scripter.exe 并转到我的 GUI。  

    正如我在前面所说的、GUI 和 FR6989为我提供了成功的结果。  

    GUI 序列如下所示;

    1.选择十六进制文件(Intel 格式)

    2.发送批量擦除命令。

    延迟一点

    4.发送 Rx 密码命令(0xFF...... 0xFF) 来解锁 BSL。

    5.根据 hex 文件的 RX 块  

    6. CRC 通信(可选)

    7. 按顺序写入 PMM CTL0寄存器0xA5和0x04以触发 BOR。

    我想知道、虽然我的应用程序在 MSPFR6989器件上成功运行、但为什么 MSPFR6047无法运行?

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

    我解决了在脚本输入文件中将奇偶校验写入模式行时 BSL-strictter 的"标头不正确"问题。

    但结果相同。 执行整体擦除后、BSL 不会响应任何命令。

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

    有什么想法吗?  问题可能出在哪?

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

    你(们)好、Mesut

    如果您捕获上面的所有 CMD 窗口、我会在 CMD 文件中播种您的输入内容是错误的。

    您可以按照随附的指南 e2e.ti.com/.../2262.Download_5F00_image_5F00_BSL.pdf 进行操作

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

    你(们)好

    我刚刚将 script_FRxx_uart.txt 重命名为 s.txt、以便编写 simplified。

    文件最初是 script_FRxx_uart.txt  

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

    你(们)好、Mesut

    这似乎与您的硬件相关。 您的一侧是否有 MSP-FET?

    此致

    Gary

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

    是的、

    我使用 EXP-FR6989 Launch Pad 仿真工具的一部分。

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

    Mesut、您好!

    请问您的意图是什么? 为什么要尝试将 LP 用作 BSL 硬件。 这不是 BSL 的官方工具。 您可以使用 MSP-FET 或 MSP-BSL  、因为您使用的硬件不是 BSL 专用的硬件、因此您可能会遇到所有这些问题。

    此致

    Peter

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

    你(们)好

    我认为我被误解了很多(或我说错)

    我有一个 EXP LP 板、我仅将其用于通过外部电缆对自己设计的电路进行编程/调试。 (SYP-be Connection). 并使用 Elprotronic Lite FET PRo430或 CCS 调试器。 对吧?

    我有两个由我设计的电路:一个是 MSP430FR6949电路、另一个 是基于 MSP430FR6047的电路。   

    在 UART 侧;我 通过 PL2303和基于光电二极管的红外适配器将 MCU EUSCI_A0引脚连接到 PC、并 测试了9600 BR 下的超级终端连接。 作为测试结果;在 Tx 和 Rx 操作字节和帧(50字节)时、两个电路都成功。 对吧?

    在 BSL 端;我将从固件跳过 BSL 存储器。 我设计的 GUI 可以实现与 BSL 内核的通信。  并且我的 GUI 已擦除、解锁、写入新块并重新启动基于 FR6989的电路。  

    但是…  在基于 FR6047的电路上、BSL - PC 通信在整体擦除后不再可用。 BSL 对 GUI 调用无响应。

    我的意图是什么?

    在我们的项目中、 我们正在尝试无条件(没有任何电缆连接)上传固件并跟踪器件错误。 仅使用非接触式红外 UART 适配器。

    我想,我已经很清楚了。

    此致...

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

    Mesut、您好!

    非常感谢详细的解释。

    遗憾的是、它仍然不能让我们了解为什么 MSP430FR6047在执行批量擦除后没有响应。 可能会为我们提供额外指示的是已擦除器件的内存转储。 人们怀疑、不管出于什么原因、与 BSL 功能相关的东西在批量擦除时被销毁。

    我假设您仍然可以通过 JTAG 访问被擦除的器件。 那么、您能否向我们发送它的内存转储? 非常感谢。

    此致

    Peter

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

    转储文件。  

     在执行质量 erasing.e2e.ti.com/.../1856.dump_5F00_files.rar 之后仍可访问 JTAG

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

    Mesut、您好!

    非常感谢您提供的内存信息。 遗憾的是、它只是主存储器。 是否可以在批量擦除之前和之后读取二者的 TLV 部分(001AFFh 至001A00h)。

    非常感谢。

    此致

    Peter

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

    Mesut、您好!

    我还想到了另一个问题。 因此、在执行批量擦除后、MSP430FR6047不再对 BSL 做出响应。 但是、由于 JTAG 仍处于打开状态进行编程、您能否尝试使用原始代码对器件进行重新编程、以检查器件是否正常工作、而另一方面、BSL 是否会在之后再次访问器件?

    非常感谢。

    此致

    Peter

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

    Mesut、您好!

    我们再次尝试重现您在身边遇到的情况、并使用 MSP430FR6047执行了使用 BSL Rocket 进行的整体擦除和用于 MSP 的目标板。 我们能够执行批量擦除、并且也能够在批量擦除之后使用 BSL 与 MSP 进行通信。

    这意味着、我们看不到您观察到的问题。 因此、基本上所有指示器都指向您的设置、作为故障的根本原因。 因此、我们需要完全了解您的设置和您正在应用的操作。

    不过、我们建议首先在经过测试的环境中实现 BSL 通信和流程、这意味着使用官方硬件工具和软件(BSL 脚本程序)来至少消除一些未知变量。

    请在此处找到我们从您的描述中了解到的内容、以及您身边应该发生的事情的概要流程。

    步骤是您提到的 BSL 的上述软件调用。 如果成功、器件将等待来自主机的密码。

    然后主机发送密码、目标 MSP 应确认这一点。 这似乎是在帮您解决问题。

    然后、主机将批量擦除命令发送到目标 MSP。 在这种情况下、目标器件应该只执行批量擦除、而不是发送响应。 此外、这些步骤似乎在您一方有效、至少在目标 MSP 正在执行批量擦除的程度上是如此。

    在我们使用工具链和设置的情况下、批量擦除后、目标器件将保持 BSL 模式、这意味着不需要对 BSL 进行硬件或软件调用、但会再次等待 BSL 密码。 请记住、现在由于批量擦除、PW 已发生变化。 根据您的解释、此步骤不再适用于您。

    因此、如上所述、我们建议消除与我们的设置之间的尽可能多的差异、以实现功能设置、然后开始为您所需的设置添加必要的修改、仅在每个步骤中进行一次修改、并测试它是否仍然有效。 但是、目标应该从正常工作的设置开始。

    如果您可以提供有关您的设置的更详细信息、我们可能还会尝试确定一些重要的详细信息、这些信息可能会导致发现问题。

    此致

    Peter

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

    Mesut、您好!

    由于不活动、我假设您已能够解决问题。 如果您仍需要有关此方面的支持、请告知我们。 非常感谢。

    此致

    Peter

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

    你(们)好

    实际上、我没有解决这个问题。 我正在尝试在不进行批量擦除的情况下将代码下载到 MCU。

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

    Mesut、您好!

    我很遗憾听到这个消息。

    FRAM 器件无需批量擦除即可进行写入操作、因为即使存储器单元应从0更改为1、FRAM 技术也不需要在写入前进行擦除。

    仍然可以解决批量擦除问题。 遗憾的是、使用我们的工具、我们无法重现您的问题。 因此、我建议您从我们的工具开始、至少是用于调试的工具开始、找出故障场景与您一侧的功能设置之间的差异。

    此致

    Peter