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.

[参考译文] MSP430FR2675:BSL Scripter 返回大量"Unknown ACK Value"错误。

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1018242/msp430fr2675-bsl-scripter-returns-a-lot-of-unknown-ack-value-errors

器件型号:MSP430FR2675
主题中讨论的其他器件:UNIFLASHMSP-FETMSP-TS430PT48AMSP430FR69891MSP430FR2475MSP-EXP430FR6989

如何解决此错误?

$~/ti/BSL-Scripter/bsl-scripter-mac -n FRxx -I [/dev/tty.usbmodem14401、I2C、400000]-b -w ~/Desktop/BSL_keypad_55.txt -v -z [SET_PC、0x8000]

--------------------------------------

BSL Scripter 3.4.0.1

用于 BSL 编程的 PC 软件

2021年7月13日17:11:29

--------------------------------------

日志模式已打开!

/Users/pcpro178/ti/BSL-Scripter/bsl-scripter-mac -n FRxx -I [/dev/tty.usbmodem14401、I2C、400000]-b -w /Users/pcpro178/Desktop/BSL_keypad_55.txt -v -z [SET_PC、0x8000]

详细信息已关闭!

设备:FRxx

初始化通信参数:[/dev/tty.usbmodem14401、I2C、400000]

RX_PASSWORD

[ACK_ERROR_MESSAGE]未知的 ACK 值!

阅读 txt 文件 ://Users/pcpro178/Desktop/BSL_keypad_55.txt

RX_DATA_BLOCK /Users/pcpro178/Desktop/BSL_keypad_55.txt

阅读 txt 文件 ://Users/pcpro178/Desktop/BSL_keypad_55.txt

[ACK_ERROR_MESSAGE]未知的 ACK 值!

[ACK_ERROR_MESSAGE]未知的 ACK 值!

[ACK_ERROR_MESSAGE]未知的 ACK 值!

[ACK_ERROR_MESSAGE]未知的 ACK 值!

[ACK_ERROR_MESSAGE]未知的 ACK 值!

[ACK_ERROR_MESSAGE]未知的 ACK 值!

[ACK_ERROR_MESSAGE]未知的 ACK 值!

[ACK_ERROR_MESSAGE]未知的 ACK 值!

[ACK_ERROR_MESSAGE]未知的 ACK 值!

[ACK_ERROR_MESSAGE]未知的 ACK 值!

[ACK_ERROR_MESSAGE]未知的 ACK 值!

[ACK_ERROR_MESSAGE]未知的 ACK 值!

[ACK_ERROR_MESSAGE]未知的 ACK 值!

[ACK_ERROR_MESSAGE]未知的 ACK 值!

[ACK_ERROR_MESSAGE]未知的 ACK 值!

[ACK_ERROR_MESSAGE]未知的 ACK 值!

[ACK_ERROR_MESSAGE]未知的 ACK 值!

[ACK_ERROR_MESSAGE]未知的 ACK 值!

[ACK_ERROR_MESSAGE]未知的 ACK 值!

[ACK_ERROR_MESSAGE]未知的 ACK 值!

[ACK_ERROR_MESSAGE]未知的 ACK 值!

[ACK_ERROR_MESSAGE]未知的 ACK 值!

写入6080字节所用的时间:3.015秒

数据写入速度:1.969 (KB/s)

存储器验证

[ACK_ERROR_MESSAGE]未知的 ACK 值!

[ACK_ERROR_MESSAGE]未知的 ACK 值!

[ACK_ERROR_MESSAGE]未知的 ACK 值!

[ACK_ERROR_MESSAGE]未知的 ACK 值!

[ACK_ERROR_MESSAGE]未知的 ACK 值!

[ACK_ERROR_MESSAGE]未知的 ACK 值!

[ACK_ERROR_MESSAGE]未知的 ACK 值!

[ACK_ERROR_MESSAGE]未知的 ACK 值!

[ACK_ERROR_MESSAGE]未知的 ACK 值!

[ACK_ERROR_MESSAGE]未知的 ACK 值!

[ACK_ERROR_MESSAGE]未知的 ACK 值!

[ACK_ERROR_MESSAGE]未知的 ACK 值!

[ACK_ERROR_MESSAGE]未知的 ACK 值!

[ACK_ERROR_MESSAGE]未知的 ACK 值!

[ACK_ERROR_MESSAGE]未知的 ACK 值!

[ACK_ERROR_MESSAGE]未知的 ACK 值!

验证内存状态为成功!

SET_PC 0x8000

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

    您能否使用示波器捕获波? 请仔细检查:

    1。您可以在 RST 和 TEST 引脚上看到调用序列。

    请参见从器件的 ACK。

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

    与我的 Saleae 连接以观察与 BSL 相关的信号、这显然是错误的。  RST/SBWTDIO、BSL SCL 和 BSL SDA 都在3.3V 时固定为高电平。   TEST/SBWTCK 在大约18mV 时固定为低电平。  我在从命令行运行 BSL-Scripter 之前开始捕获(请参阅原始 POST 中的命令)。  在 BSL-Scripter 运行的整个时间内、没有移动任何行。  在运行 BSL-Scripter 之前、我使用 UniFlash 对器件执行了批量擦除。

    这是我的设置照片。  JTAG 跳线针对 SBW 进行配置。  I2C 上拉电阻器被启用、BSL 接口选择被设定为 I2C。  TTL UART 用于观察串行终端上的某些输出、以验证新映像是否已加载并正在运行。

    这是我已经在我的应用中执行的代码:

    /*
    * TI Boot-strap loader (BSL) configuration values
    */
    #define BSL_CONFIG_SIGNATURE (0x695A) // BSL Configuration Signature
    #define BSL_CONFIG_PASSWORD (0x5A00) // BSL User's Configuration Signature
    #define BSL_CONFIG_TINY_RAM_ERASED_BY_INIT (0x0008) // Tiny RAM is erased during BSL invocation
    #define BSL_CONFIG_TINY_RAM_NOT_ERASED_BY_INIT (0x0000) // (Default) Tiny RAM is not erased during BSL invocation
    #define BSL_CONFIG_RAM_ERASED_BY_INIT (0x0000) // RAM is erased during BSL invocation
    #define BSL_CONFIG_RAM_NOT_ERASED_BY_INIT (0x0004) // (Default) RAM is not erased during BSL invocation
    #define BSL_CONFIG_INTERFACE_UART_I2C (0x0000) // Enable UART and I2C
    #define BSL_CONFIG_INTERFACE_UART_ONLY (0x0001) // Enable UART
    #define BSL_CONFIG_INTERFACE_I2C_ONLY (0x0002) // Enable I2C
    #define BSL_CONFIG_INTERFACE_DEFAULT (0x0003) // (Default / Reserved) Enable UART and I2C
    #define BSL_I2C_ADDRESS_7BIT (0x60) // Customized I2C Address

    /*
    * Apply BSL configuration value to BSL configuration section
    */
    #pragma RETAIN(bslConfigurationSignature)
    #pragma DATA_SECTION(bslConfigurationSignature, ".bslconfigsignature")
    const uint16_t bslConfigurationSignature = BSL_CONFIG_SIGNATURE;

    #pragma RETAIN(bslConfig)
    #pragma DATA_SECTION(bslConfig, ".bslconfig")
    const uint16_t bslConfig = (BSL_CONFIG_PASSWORD | BSL_CONFIG_INTERFACE_I2C_ONLY) ;

    #pragma RETAIN(bslI2Caddr)
    #pragma DATA_SECTION(bslI2Caddr, ".bsli2caddress")
    const uint16_t bslI2Caddr = (0xFF00 | BSL_I2C_ADDRESS_7BIT) ;

    应用程序(CCS 工程)中是否还有其他需要启用的功能才能运行 BSL?  我只是想让库存 BSL 在 I2C 模式下工作而不进行任何定制。

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

    为了使 ROM BSL 正常工作、 与应用程序代码没有关系。

    由于您在 RST 和 TEST 上看不到任何波形、我认为 BSL 脚本程序配置可能存在一些问题。

    您可以参阅本文档中描述的流程:

    e2e.ti.com/.../5241.Download_5F00_image_5F00_BSL.pdf

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

     阅读您建议的文档。  谢谢、它有很多很好的细节。  遗憾的是、它仍然无法正常工作。  这里是我使用的脚本生成的日志文件的内容。  除了 COM "port"之外、我还更新了脚本的最后三行、因为 MSP430FR2675 NV 存储器从0x8000开始。  我的理解是 MSP-FET 应在 I2C 模式下与 ROM BSL 配合使用。  我尝试将我的 MSP-FET 直接连接到芯片各自的 BSL I2C 引脚、但没有乐趣。   

    此问题正在拖拽、需要解决。  是否可以上报?  我们需要使这一问题得到解决。

    --------------------------------------
    BSL Scripter 3.4.0.1

    用于 BSL 编程的 PC 软件
    2021年7月16日10:45:23
    --------------------------------------
    输入文件脚本为:/Users/pcpro178/Desktop/scripter_test/bsl_script_i2c.txt
    MODE FRxx I2C 400000 /dev/tty.usbmodem24401
    //提供错误的密码进行批量擦除
    RX_PASSWORD pass32_wrong.txt
    阅读 txt 文件:/Users/pcpro178/Desktop/scripter_test/pass32_wrong.txt
    [ACK_ERROR_MESSAGE]未知的 ACK 值!
    //
    //输入错误的密码后添加延迟
    //因为器件不提供
    //应用错误密码后的任何响应
    //
    延迟2000
    延迟2000ms
    RX_PASSWORD pass32_default.txt
    阅读 txt 文件:/Users/pcpro178/Desktop/scripter_test/pass32_default.txt
    [ACK_ERROR_MESSAGE]未知的 ACK 值!
    RX_DATA_BLOCK BSL_kekypad_55.txt
    阅读 txt 文件:/Users/pcpro178/Desktop/scripter_test/keypad_55.txt
    文件不可用/被其他程序访问...

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

    你(们)好  

    来自 myside 的评论很少

    1. 检查您的目标板 MSP-TS430PT48A SW3和 SW4是否关闭且 SW5是否打开。  

    请在10秒内执行脚本、因为此器件具有 BSL 超时功能、请参阅用户指南

    3.我看到你们有一个盐水,能不能帮你们捕获 RST、TEST、SDA 和 SCL 的信号,把它放在这里

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

     Gary、就您的问题...

    1. 检查您的目标板 MSP-TS430PT48A SW3和 SW4是否关闭且 SW5是否打开。  

    是的、这是我使用的交换机配置。

    请在10秒内执行脚本、因为此器件具有 BSL 超时功能、请参阅用户指南

    在10秒内完成什么?  POR?  或者、您说脚本应该在10秒内完成吗?  在为目标加电后、我立即尝试运行脚本、结果相同。

    3.我看到你们有一个盐水,能不能帮你们捕获 RST、TEST、SDA 和 SCL 的信号,把它放在这里

    下面是跟踪的屏幕截图、包括数字和模拟采集。  如您所见、RST/TEST 线路根本不会切换。

    下面是我正在运行的脚本:

    //
    //脚本示例 FRxx I2C BSL
    //
    //测试的器件:MSP430FR69891
    使用的//通信桥:MSP-BSL Rocket
    //
    //通过下载 Blink 应用程序
    FRAM 器件中的//I2C BSL
    //
    日志
    MODE FRxx I2C 400000 /dev/tty.usbmodem4401
    //提供错误的密码进行批量擦除
    RX_PASSWORD pass32_wrong.txt
    //
    //输入错误的密码后添加延迟
    //因为器件不提供
    //应用错误密码后的任何响应
    //
    延迟2000
    RX_PASSWORD pass32_default.txt
    RX_DATA_BLOCK BSL_keypad_55.txt
    CRC_CHECK 0x8000 0x0020
    SET_PC 0x8000

    以下是脚本输出:

    $./BSL-scripter-Mac bsl_script_i2c.txt
    --------------------------------------
    BSL Scripter 3.4.0.1

    用于 BSL 编程的 PC 软件
    2021年7月19日09:51:59
    --------------------------------------
    输入文件脚本为:/Users/pcpro178/Desktop/scripter_test/bsl_script_i2c.txt

    //
    //脚本示例 FRxx I2C BSL
    //
    //测试的器件:MSP430FR69891
    使用的//通信桥:MSP-BSL Rocket
    //
    //通过下载 Blink 应用程序
    FRAM 器件中的//I2C BSL
    //
    日志
    MODE FRxx I2C 400000 /dev/tty.usbmodem4401
    //提供错误的密码进行批量擦除
    RX_PASSWORD pass32_wrong.txt
    阅读 txt 文件:/Users/pcpro178/Desktop/scripter_test/pass32_wrong.txt
    [ACK_ERROR_MESSAGE]未知的 ACK 值!
    //
    //输入错误的密码后添加延迟
    //因为器件不提供
    //应用错误密码后的任何响应
    //
    延迟2000
    延迟2000ms
    RX_PASSWORD pass32_default.txt
    阅读 txt 文件:/Users/pcpro178/Desktop/scripter_test/pass32_default.txt
    [ACK_ERROR_MESSAGE]未知的 ACK 值!
    RX_DATA_BLOCK BSL_keypad_55.txt
    阅读 txt 文件:/Users/pcpro178/Desktop/scripter_test/BSL_keypad_55.txt

    [ACK_ERROR_MESSAGE]未知的 ACK 值!
    [ACK_ERROR_MESSAGE]未知的 ACK 值!
    [ACK_ERROR_MESSAGE]未知的 ACK 值!
    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!
    [ACK_ERROR_MESSAGE]未知的 ACK 值!
    [ACK_ERROR_MESSAGE]未知的 ACK 值!
    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!
    [ACK_ERROR_MESSAGE]未知的 ACK 值!
    [ACK_ERROR_MESSAGE]未知的 ACK 值!
    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!
    [ACK_ERROR_MESSAGE]未知的 ACK 值!
    [ACK_ERROR_MESSAGE]未知的 ACK 值!
    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!
    [ACK_ERROR_MESSAGE]未知的 ACK 值!
    [ACK_ERROR_MESSAGE]未知的 ACK 值!
    [ACK_ERROR_MESSAGE]未知的 ACK 值!
    [ACK_ERROR_MESSAGE]未知的 ACK 值!
    [ACK_ERROR_MESSAGE]未知的 ACK 值!
    写入6080字节所需的时间:4.021秒
    数据写入速度:1.477(kb/s)
    CRC_CHECK 0x8000 0x0020
    [ACK_ERROR_MESSAGE]未知的 ACK 值!
    SET_PC 0x8000

    此外、我注意到、当我连接 MSP-FET 时、会出现两个串行端口。  我使用哪种器件是否重要?

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

    你(们)好  

    [引用 userid="395234" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1018242/msp430fr2675-bsl-scripter-returns-a-lot-of-unknown-ack-value-errors/3768894 #3768894"]在10秒内完成什么

    [引用 userid="395234" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1018242/msp430fr2675-bsl-scripter-returns-a-lot-of-unknown-ack-value-errors/3768894 #3768894"]您可以看到,RST/TEST 行根本不会切换。

    我认为这是问题所在、您尚未触发 BSL、请检查您是否有如下正确连接

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

      使用开发板(SW2)上的复位按钮、我能够观察到 RST 和测试线路上的一些状态变化、但脚本编写器仍然无法正常运行。  从释放 RESET 按钮开始、脚本编写器在大约1秒钟内运行。

    $./BSL-scripter-Mac bsl_script_i2c.txt

    --------------------------------------

    BSL Scripter 3.4.0.1



    用于 BSL 编程的 PC 软件

    2021年7月20日09:36:27

    --------------------------------------

    输入文件脚本为:/Users/pcpro178/Desktop/scripter_test/bsl_script_i2c.txt



    //

    //脚本示例 FRxx I2C BSL

    //

    //测试的器件:MSP430FR69891

    使用的//通信桥:MSP-BSL Rocket

    //

    //通过下载 Blink 应用程序

    FRAM 器件中的//I2C BSL

    //

    日志

    MODE FRxx I2C 400000 /dev/tty.usbmodem44401

    //提供错误的密码进行批量擦除

    RX_PASSWORD pass32_wrong.txt

    阅读 txt 文件 :/Users/pcpro178/Desktop/scripter_test/pass32_wrong.txt

    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    //

    //输入错误的密码后添加延迟

    //因为器件不提供

    //应用错误密码后的任何响应

    //

    延迟2000

    延迟2000ms

    RX_PASSWORD pass32_default.txt

    阅读 txt 文件 :/Users/pcpro178/Desktop/scripter_test/pass32_default.txt

    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    RX_DATA_BLOCK BSL_keypad_55.txt

    阅读 txt 文件 :/Users/pcpro178/Desktop/scripter_test/BSL_keypad_55.txt




    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!




    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!




    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!




    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!




    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!




    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    写入6080字节所需的时间:0.01185秒

    写入数据的速度:501.1 (kb/s)

    CRC_CHECK 0x8000 0x0020

    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    SET_PC 0x8000

    将 MSP-FET 与 USB 完全断开并重新连接会产生一些不同。  脚本编写器在5秒内运行。

    $./BSL-scripter-Mac bsl_script_i2c.txt

    --------------------------------------

    BSL Scripter 3.4.0.1

    用于 BSL 编程的 PC 软件

    2021年7月20日09:44:23

    --------------------------------------

    输入文件脚本为:/Users/pcpro178/Desktop/scripter_test/bsl_script_i2c.txt

    //

    //脚本示例 FRxx I2C BSL

    //

    //测试的器件:MSP430FR69891

    使用的//通信桥:MSP-BSL Rocket

    //

    //通过下载 Blink 应用程序

    FRAM 器件中的//I2C BSL

    //

    日志

    MODE FRxx I2C 400000 /dev/tty.usbmodem44401

    //提供错误的密码进行批量擦除

    RX_PASSWORD pass32_wrong.txt

    阅读 txt 文件 :/Users/pcpro178/Desktop/scripter_test/pass32_wrong.txt

    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    //

    //输入错误的密码后添加延迟

    //因为器件不提供

    //应用错误密码后的任何响应

    //

    延迟2000

    延迟2000ms

    RX_PASSWORD pass32_default.txt

    阅读 txt 文件 :/Users/pcpro178/Desktop/scripter_test/pass32_default.txt

    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    RX_DATA_BLOCK BSL_keypad_55.txt

    阅读 txt 文件 :/Users/pcpro178/Desktop/scripter_test/BSL_keypad_55.txt

    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    写入6080字节所用时间:9.038秒

    数据写入速度:0.657 (kB/s)

    CRC_CHECK 0x8000 0x0020

    [ACK_ERROR_MESSAGE]未知的 ACK 值!

    SET_PC 0x8000

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

    当 MSP-FET 连接到我的 PC (macOS Catalina)时、添加了两个串行端口: /dev/tty.usbmodem44401和 /dev/tty.usbmodem44403.  在 I2C 模式下、我应该使用其中一个与另一个之间的首选项来启用 MSP430 ROM BSL 吗?

    我注意到、有数据来自 MSP-FET 的 UART RX 线路、与"[ACK_ERROR_MESSAGE]未知 ACK 值相同!" 显示在终端上的消息。

    什么可能导致 BSL 脚本编写工具或 MSP-FET 尝试在 UART 模式而不是 I2C 模式下驱动 ROM BSL?  这是我要使用的命令、并附加了脚本。

    $./BSL-scripter-Mac bsl_script_i2c.txt

    e2e.ti.com/.../bsl_5F00_script_5F00_i2c.txt

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

    你(们)好  

    如何检查  MAC 上的串行端口名称? 使用命令行"instruments -s devices"? 设备名称似乎与 Windows 不相似、您可以在此处尝试安装 MAC OS 的驱动程序

    MSP430_FET_Drivers 1_0_1_1 - TI.com 

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

     

    即使安装了 Xcode、我也无法使"Instruments -d devices"命令正常工作。  安装建议的 FET 驱动器似乎没有帮助。  自从我在家工作以来、我已经能够在 我的个人 Windows 计算机上安装 BSL-Scripter 和 FET 驱动程序。  在这样做之后,我能够取得更大的进展。  我可以看到 RST、TEST 和 I2C 线路现在切换、但以下输出仍然失败。

    C:\Users\pcpro178\Desktop\scripter_test>BSL-Scripter.exe bsl_script_i2c.txt
    --------------------------------------
    BSL Scripter 3.4.0.1

    用于 BSL 编程的 PC 软件
    2021年7月21日15:44:19
    --------------------------------------
    输入文件脚本为:C:/Users/pcpro178/Desktop/scripter_test/bsl_script_i2c.txt

    //
    //脚本示例 FRxx I2C BSL
    //
    //器件:MSP430FR2675
    使用的//通信电桥:MSP-FET
    //
    //通过下载 Blink 应用程序
    FRAM 器件中的//I2C BSL
    //
    日志
    模式 FRxx I2C 400000 COM3
    //提供错误的密码进行批量擦除
    RX_PASSWORD pass32_wrong.txt
    阅读 txt 文件:C:\Users\pcpro178\Desktop\scripter_test\pass32_wrong.txt

    //
    //输入错误的密码后添加延迟
    //因为器件不提供
    //应用错误密码后的任何响应
    //
    延迟2000
    延迟2000ms
    RX_PASSWORD pass32_default.txt
    阅读 txt 文件:C:\Users\pcpro178\Desktop\scripter_test\pass32_default.txt
    [ACK_ERROR_MESSAGE]未知的 ACK 值!
    RX_DATA_BLOCK BSL_keypad_55.txt
    阅读 txt 文件:C:\Users\pcpro178\Desktop\scripter_test\BSL_keypad_55.txt
    文件不可用/被其他程序访问...

    C:\Users\pcpro178\Desktop\scripter_test>

    Saleae Logic 在我的工作笔记本电脑上运行、因此我将在下一条消息中发布屏幕截图。

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

    我忘记了在将 MSP-FET 连接到 Windows 机器时、器件管理器中出现了两个 COM 端口:MSP 应用端口 UART1 (COM3)和 MSP 调试接口(COM4)。  使用 COM4没有取得任何进展。  使用 COM3是产生以下屏幕捕获的结果。

    扩展了第一个屏幕捕获的第一个 SDA 跳跃:

    扩展了第一个屏幕捕获的第二个 SDA 跳跃:

    此捕获文件已附加。  (删除".txt "扩展名。)

    e2e.ti.com/.../BSL-MSP430-ROM-BSL-Attempt-20210721.sal.txt

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

    你(们)好  

    我已经使用 MSP430FR2475进行了测试、工作正常

    下面是硬件连接

    然后打开文件夹 C:\ti\BSL-Scripter\ScriptExampleWindows\FRxx_i2c、如下所示

    按 如下所示编辑文件 script_FRxx_i2c.txt

    e2e.ti.com/.../script_5F00_FRxx_5F00_i2c.txt

    这是

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

    下面是 Salcase 捕获  

    e2e.ti.com/.../FR2475_5F00_I2C_5F00_MSP_5F00_FET.sal

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

     

    感谢您提供的信息、但它仍然无法正常工作。  未提供有关您正在使用的 BSL 接头引脚的信息、但我能够确认仅连接了您在 BSL 接头上连接的引脚。  以下是几个真值表、显示了如何将 BSL 连接到 MSP-FET:

    MSP-FET 引脚

    2 -- VCC_TOOL --红色
    8 --测试--蓝色
    9 -- GND --黑色
    10 -- I2C_SCL --黄色
    11 -- RST --黑色
    12 -- I2C_SDA --绿色

    BSL 连接器引脚

    1 -- BSL_SDA --绿色
    4 -- RST --黑色
    5 -- GND --黑色
    7 --测试--蓝色
    9 -- BSL_SCL --黄色

    连接到 MSP 接头引脚的导线连接到 my Saleae。

    您提供的脚本与 我使用的脚本之间唯一的显著区别是脚本最后两行中使用的地址。  根据  MSP430FR2475的数据表和用户指南、地址0x4400似乎未映射。  但是、我继续操作、将我的脚本从 nV 存储器起始地址0x8000更新为 未定义的0x4400。  没有乐趣。

    以下是我的最新脚本及其输出:

    e2e.ti.com/.../8637.bsl_5F00_script_5F00_i2c.txt

    C:\Users\pcpro178\Desktop\scripter_test>BSL-Scripter.exe bsl_script_i2c.txt
    --------------------------------------
    BSL Scripter 3.4.0.1

    用于 BSL 编程的 PC 软件
    2021年7月22日11:51:55
    --------------------------------------
    输入文件脚本为:C:/Users/pcpro178/Desktop/scripter_test/bsl_script_i2c.txt

    //
    //脚本示例 FRxx I2C BSL
    //
    //器件:MSP430FR2675
    使用的//通信电桥:MSP-FET
    //
    //通过下载 Blink 应用程序
    FRAM 器件中的//I2C BSL
    //
    日志
    模式 FRxx I2C 400000 COM3
    //提供错误的密码进行批量擦除
    RX_PASSWORD pass32_wrong.txt
    阅读 txt 文件:C:\Users\pcpro178\Desktop\scripter_test\pass32_wrong.txt
    [ACK_ERROR_MESSAGE]未知的 ACK 值!
    //
    //输入错误的密码后添加延迟
    //因为器件不提供
    //应用错误密码后的任何响应
    //
    延迟2000
    延迟2000ms
    RX_PASSWORD pass32_default.txt
    阅读 txt 文件:C:\Users\pcpro178\Desktop\scripter_test\pass32_default.txt
    [ACK_ERROR_MESSAGE]未知的 ACK 值!
    RX_DATA_BLOCK BSL_keypad_55.txt
    阅读 txt 文件:C:\Users\pcpro178\Desktop\scripter_test\BSL_keypad_55.txt
    文件不可用/被其他程序访问...

    C:\Users\pcpro178\Desktop\scripter_test>

    我确保可以访问脚本文件的所有其他程序都已关闭、包括 Notepad++和 Chrome。

    尽管我已经问过几次、但我仍然没有收到关于我应该使用哪个 COM 端口的答案。  这无关紧要、或者是否有一个用于 BSL 使用的首选端口?  当我将 MSP-FET 连接到我的 Windows 计算机时、会出现以下两个 MSP COM 端口(3和4):

    我的 Saleae Logic 捕获的信息将在我从另一台计算机发出的下一条消息中发布。  

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

    随附了我的 Saleae 逻辑捕获和跟踪文件。

    e2e.ti.com/.../BSL-MSP430-ROM-BSL-Attempt-20210722.sal.zip

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

    I2C 接口似乎不工作。 您能帮您尝试 URAT 界面吗?

    或者更改另一个 MSP430器件进行测试?

    我不知道您一侧是有两个 MSP430 Launchpad 还是目标板? 您还可以尝试直接通过我们的演示代码测试 I2C 接口。 您可以从此处获取的演示代码

    https://dev.ti.com/tirex/explore/node?node=AH5uc9mE1YzHgUjcsdIepg__IOGqZri__LATEST  

    此处还有一条注释 SET_PC 命令未设置器件中闪存的起始地址它是应用程序代码的起始地址、您可以在地址0xFFFE 处获取值。

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

    遗憾的是、我只有一个 MSP-FET 和 MSP-TS430PT48A。  我所拥有的 MSP-EXP430FR6989似乎不支持 I2C BSL。  在本例中、UART BSL 不是选项;我们需要使 I2C ROM BSL 正常工作。  我的理解是、I2C ROM BSL 不需要 MSP430上的任何软件。  但是、我已经确认该接口使用来自 CapTIvate 演示的代码工作。

    我尝试更改开发板中的 MSP430插槽。  结果有所改善、但仍然不成功。  我确认未使用 Uniflash 对器件进行编程。

    C:\Users\Jim\Desktop\scripter_test>BSL-Scripter.exe bsl_script_i2c.txt
    --------------------------------------
    BSL Scripter 3.4.0.1

    用于 BSL 编程的 PC 软件
    2021年7月23日07:54:04
    --------------------------------------
    输入文件脚本为:C:/Users/Jim/Desktop/scripter_test/bsl_script_i2c.txt

    //
    //脚本示例 FRxx I2C BSL
    //
    //器件:MSP430FR2675
    使用的//通信电桥:MSP-FET
    //
    //通过下载 Blink 应用程序
    FRAM 器件中的//I2C BSL
    //
    日志
    模式 FRxx I2C 400000 COM3
    //提供错误的密码进行批量擦除
    RX_PASSWORD pass32_wrong.txt
    阅读 txt 文件:C:\Users\Jim\Desktop\scripter_test\pass32_wrong.txt
    [ERROR_MESSAGE]BSL 密码错误!
    //
    //输入错误的密码后添加延迟
    //因为器件不提供
    //应用错误密码后的任何响应
    //
    延迟2000
    延迟2000ms
    RX_PASSWORD pass32_default.txt
    阅读 txt 文件:C:\Users\Jim\Desktop\scripter_test\pass32_default.txt
    BSL 密码正确!
    RX_DATA_BLOCK BSL_keypad_55.txt
    阅读 txt 文件:C:\Users\Jim\Desktop\scripter_test\BSL_keypad_55.txt
    文件不可用/被其他程序访问...

    C:\Users\Jim\Desktop\scripter_test>

    Saleae Logic Captures 将附在我的另一台计算机的下一张票中。

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

    以下是 Saleae Logic 提供的信息。  第一个捕获是通过 I2C 进行的前三个(尝试的)包含模拟信号的事务。  第二个和第三个屏幕截图显示了 I2C 总线上的可疑/故障停止条件。  最后的屏幕捕获显示已完成的交易(pass32_wrong)、且具有良好的停止条件。

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

    Gary、我在 WebEx 上查看了这一点、我认为 I2C 上的时序有些微不足道。  尽管4.7kOhm 用作 MSP430目标板上的上拉电阻、但来自 MSP430的上升时间很慢。  您可以看到、ACK 通常工作、但在停止条件下计时非常接近。  看起来有时会错过站点。

    Darren

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

    你(们)好

    [引用 userid="395234" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1018242/msp430fr2675-bsl-scripter-returns-a-lot-of-unknown-ack-value-errors/3774771 #3774771"]UART BSL 在我的案例中不是选项

    我知道、这不是您的用例、只是一个测试、只是为了确认器件中的 BSL 可以正常工作。

    [引用 userid="395234" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1018242/msp430fr2675-bsl-scripter-returns-a-lot-of-unknown-ack-value-errors/3774771 #3774771"]我已经确认接口使用 CapTIvate 演示中的代码工作。

    这很好、这意味着我们可以将调试区域缩小到软件级别。

    [引用 userid="53812" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1018242/msp430fr2675-bsl-scripter-returns-a-lot-of-unknown-ack-value-errors/3774807 #3774807"]尽管4.7k Ω 用作 MSP430目标板上的上拉电阻器、但 MSP430的上升时间很慢

    这可能是一个提示、您还可以尝试将时钟频率降低到大约40kHz 而非400kHz。

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

    不幸的是,它仍然不起作用。  今天早上、我尝试了 UART BSL 和 I2C BSL、这两个都使用了较短(3英寸)的跳线、但仍然失败、并显示许多"未知 ACK 值"错误消息。  我希望 Olimex BSL 工具今天能推出。  当它出现时、我将重新测试它。

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

    你(们)好  

    当您使用 Salestrease 的 UART 接口时、您能帮助捕获 RST、TEST、TX 和 RX 的信号吗?

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

     

    随附了请求的 Saleae 逻辑捕获。  总线上似乎存在很多组帧错误。

    e2e.ti.com/.../BSL-MSP430-ROM-UART-BSL-20210726a.sal.zip

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

    你(们)好  

    我看到 MSP430没有 ACK 信号、是否确定在 MSP-FET 和 MSP430器件之间连接了正确的 TX 和 RX 引脚?

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

    我的 UART TX/RX 引脚按如下方式连接:

    • MSP-FET (引脚12) UART_TXD 连接到 BSL 接头(引脚1) BSL_TX。  根据 MSP-TS430PT48A 电路原理图、这两个引脚以电气方式连接到 MSP430引脚4。
    • MSP-FET (引脚14) UART_RXT 连接到 BSL 接头(引脚3) BSL_RX。  根据 MSP-TS430PT48A 电路原理图、这两个引脚以电气方式连接到 MSP430引脚5。

    这是一个有趣的线索。  当我禁用 BSL TX 线上的奇偶校验时、该线上的组帧错误消失了。  具有偶校验的 BSL RX 没有组帧错误。

    e2e.ti.com/.../BSL-MSP430-ROM-BSL-20210727a-BSL-TX-Parity-Mismatch.sal.zip

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

    正如我们在脱机时所讨论的、Windows 应该没有问题。 运行 BSL 脚本程序的 MAC 系统有一些错误。