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.

[参考译文] MSP430F5259:使用 BSL-UART 进行编程

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1276336/msp430f5259-program-using-bsl-uart

器件型号:MSP430F5259
主题中讨论的其他器件:MSP-FET

HII、  

我正在开发基于 MSP430F5259的产品、通常我使用 MSP-FET 对器件进行编程。

但现在我想使用 BSL-UART 对器件进行编程、这样可以吗?  

如果是、那么接口连接是什么、使用什么进程或软件来连接呢?

任何人都有这个 PLZ 的解决方案,让我知道这对我来说是伟大的。

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

    尊敬的 Akshit:

    MSP-FET 可与 BSL-Scripter 一起使用、对 MSP430F5259进行编程。 默认情况下、您的器件预加载了 I2C BSL (请参阅数据表中的表6-1):  

    根据器件数据表、P4.1和 P4.2是用于 I2C-BSL 连接的默认引脚:

    您至少需要将以下信号从 MSP-FET 连接到 MSP430:

    • VCC
    • 接地
    • I2C_SCL
    • I2C_SDA

    为了使 MSP-FET 能够调用 BSL、您还需要:

    • 测试/BSLEN
    • 复位

    您可以查看 BSL-Scripter 的用户指南 、了解有关 BSL-Scripter 的更多信息。 它将在安装目录中包含一些示例脚本、这些脚本应该会为您提供启动的基准。  

    此致、
    布兰登·费舍尔

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

    HII Brandon,

    感谢您的回答。

    因此、我按照您的说明进行操作、比如、连接硬件引脚连接

    此外、还需安装 BSL-Scripter、并按照用户指南中给出的步骤为闪烁示例生成.txt 文件  

    当我运行 BSL 脚本程序应用程序时、它要求我输入文件名、以便我输入 blink.txt 文件名、但它会向我发送错误消息、指明命令无效!!

    所以我查阅了 BSL 脚本程序的用户指南的编程步骤、但是我不能正确理解或不能找到正确的分步编程流程(我的缺点)

    您是否对编程步骤有任何想法或流程? 如果你有,你可以提供给我或指导我!!

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

    尊敬的 Akshit:

    您要加载固件映像的 blink.txt 文件是为 BSL-Scripter 创建的脚本吗? 它所请求的文件实际上是一个为 BSL-Scripter 提供指令的脚本文件、而不是要刷写的文本文件。

    有关一些示例、请参阅 BSL-Scripter 的安装位置(通常是  Windows 上的 C:\ti\BSL-Scripter\ScriptExampleWindows)。 我认为最接近您所需内容的示例是 script_6xx_uart.txt。 您将需要添加一个   COM+以指向 MSP-FET (设备管理器中应可见),将协议更改为 I2C。 并将系列从6xx 更新为5xx。 有关 MODE 命令的语法、请参阅 BSL-Scripter 用户指南的第2.4.1节。  

    您还需要更新脚本以指向所需的固件映像。  

    此致、
    布兰登·费舍尔

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

    尊敬的 Brandon:

    谢谢你的指导工作为我!!

    好的、现在正如我在下面所示的闪烁代码中更改 UART 6xx 示例脚本文件中的参数、


    //
    //脚本示例5xx I2C BSL
    //测试的器件:MSP430F5259
    使用的/Comm 桥:MSP-FET
    //
    //下载闪烁应用程序
    //通过 I2C BSL
    //
    日志
    模式5xx I2C COM8
    //将错误的密码提供给
    //整体擦除存储器
    rx_password.\pass32_wrong.txt
    rx_password.\pass32_default.txt
    RX_DATA_BLOCK .\blink.txt
    CRC_CHECK 0x8000 0x0020 0x4872
    CRC_CHECK 0xFFC6 0x00D0 0xacf7
    SET_PC 0x8000


    好的、每次我执行该文件 BSL-Scripter 时、都会给我消息日志、


    C:\ti\bsl-scripter> BSL-Scripter.exe
    输入文件脚本的名称:
    script_5xx_i2c.txt
    -------------------------------------------------------
    BSL Scripter 3.4.0.1

    用于 BSL 编程的 PC 软件
    2023年10月04日11:31:34
    -------------------------------------------------------
    输入文件脚本为: C:/ti/BSL-Scripter/script_5xx_i2c.txt

    //
    //脚本示例5xx I2C BSL
    //测试的器件:MSP430F5259
    使用的/Comm 桥:MSP-FET
    //
    //下载闪烁应用程序
    //通过 I2C BSL
    //
    日志
    模式5xx I2C COM8
    [error_message]所选通信协议不适用于所选的系列!


    但是、如果我将脚本文件中的模式从 I2C 更改为 UART、那么它的工作会是部分的、并提供消息日志、


    C:\ti\bsl-scripter> BSL-Scripter.exe
    输入文件脚本的名称:
    script_5xx_i2c.txt
    -------------------------------------------------------
    BSL Scripter 3.4.0.1

    用于 BSL 编程的 PC 软件
    2023年10月04日11:32:12
    -------------------------------------------------------
    输入文件脚本为: C:/ti/BSL-Scripter/script_5xx_i2c.txt

    //
    //脚本示例5xx I2C BSL
    //测试的器件:MSP430F5259
    使用的/Comm 桥:MSP-FET
    //
    //下载闪烁应用程序
    //通过 I2C BSL
    //
    日志
    模式5xx UART COM8
    未提供 UART 的波特率设置/错误
    它将设置为默认的9600波特
    //将错误的密码提供给
    //整体擦除存储器
    rx_password.\pass32_wrong.txt
    阅读文本文件:C:\ti\BSL-Scripter\pass32_wrong.txt
    [ACK_ERROR_MESSAGE]未知的 ACK 值!
    rx_password.\pass32_default.txt
    阅读文本文件:C:\ti\BSL-Scripter\pass32_default.txt
    [ACK_ERROR_MESSAGE]未知的 ACK 值!
    RX_DATA_BLOCK .\blink.txt
    阅读文本文件:C:\ti\BSL-Scripter\blink.txt
    [ACK_ERROR_MESSAGE]未知的 ACK 值!
    [ACK_ERROR_MESSAGE]未知的 ACK 值!
    [ACK_ERROR_MESSAGE]未知的 ACK 值!
    写入134字节时所用的时间:3.048秒
    数据写入速度:0.04294(kb/s)
    \\crc_check 0x8000 0x0020 0x4872
    命令无效!


    因此、我不明白为什么会出现此错误" [ACK_ERROR_MESSAGE]Unknown ACK Value!"  每次文件调用后,如密码默认,密码错误,同时闪烁文件也...

    我想知道任何其他参数也需要改变 或不!!  

    认为脚本文件中的 crc_check 在这里有问题、对吧?

    如果是,那么 CRC 的计算方法是什么,CRC 的计算考虑的参数是什么,或者我改变 CRC 的基础是什么 ?

      

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

    尊敬的 Akshit:

    您需要使用 I2C BSL。 基于这些错误消息、您没有通过 UART BSL 获得响应。 我在这里的错误是、F5xx 系列在技术上不支持 BSL-Scripter 中的 I2C BSL。

    所幸这里有一种非常简单的解决方法、您可以为此使用 FRxx 系列指示符、因为 I2C BSL 协议是相同的。 请参阅该主题、了解更多详细信息:

    https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/741384/msp430f5239-i2c-custom-bsl-for-msp430f5239

    请尝试一下、并知道您是否可以成功编程。  

    此致、
    布兰登·费舍尔

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

    尊敬的 Brandon:

    是的、您的更新对我来说部分有用、

    但我仍然没有获得100%的编程成功。

    当脚本运行时、某些数据块写入成功、再次显示收到未知 ACK 错误、  

    基本上、MSP 不会对100%占空比编程、  

    此外、我还使用 MSP 中的 MSP Uni-FLASH 工具验证映像文件的回放、以检查脚本何时加载了某些代码块、同时显示存储器位置验证 MSP 中加载的任何部分代码以及下一个位置是否匹配、 代码确实不是100%加载的。

    另外、我需要说明的是、我已通过 SDL、SDA、BSL-EN 连接上拉电阻。

    为此、SDA 的值、SCL 通过510ohm 电阻器上拉、BSL-EN 与1K 电阻器连接是否可以?或者需要更改电阻器的值?  

    我不知道问题是否是由于这个上拉电阻造成的。

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

    尊敬的 Akshit:

    510欧姆的阻抗非常强、当以该值拉低时、可能需要在 IO 中灌入超过6mA 的电流。  您的工作电压是多少、是3.3V 吗?

    上拉电阻器强度可能过高、值更高的上拉电阻器(4.7k Ω 是常用的标准值)可能会有所帮助。  

    此致、
    布兰登·费舍尔

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

    尊敬的 Brandon:

    是的、我使用3V3。

    好的、好消息是这个问题得到了解决、我换了电阻器、1.5K 和 BSL 工作、再次换为510欧姆 、我可以进行编程、所以我认为问题主要是焊接因素、可能以前焊接做得不好。

    另外、我用 BSL 进行了100次测试才能编程、每次成功都能正常工作。

    因此、您为我提供的所有解决方案和指导都适用于我。

    谢谢 Brandon。

    此致、

    A·维拉迪亚