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.

[参考译文] MSP430F6736A:使用 MSP-FET 时 MSP430F6736A 上的 BSL 通信问题

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1416927/msp430f6736a-bsl-communication-issue-on-msp430f6736a-using-msp-fet

器件型号:MSP430F6736A
主题中讨论的其他器件: MSP-FET、MSP430F6459 UNIFLASH

工具与软件:

大家好、团队成员:

我们尝试通过 MSP-FET 调试器在 MSP430F6736A 上调用 BSL。 但我们无法通过 BSLScripter-3.4.0.2建立 UART 通信  

我们在 MSP-FET 调试器和 MSP430F6736A 微控制器之间建立了以下引脚连接:

质量

MSP-FET

MSP430F6736A

功能

引脚8

功能

复位

引脚11

RST

BSL-BSL Rx

引脚14

P3.1/RXD

BSL-TX

引脚12

P3.0/TXD

VCC

引脚2

VCC

GND

引脚9

GND

我们尝试通过禁用中断并使用 JTAG 应用跳转到 BSL 存储器位置0x1000来调用 BSL。

我正在尝试加载 BSL-Scripter/ScriptExampleLinux/6xx_UART/script_6xx_uart.txt 以执行设置、如下所示

模式6xx UART /dev/ttyACM0

详细

RX_PASSWORD pass32_wrong.txt

RX_PASSWORD pass32_default.txt

RX_DATA_BLOCK sample_6736a.txt

CRC_CHECK 0x8000 0x0020 0x4872

CRC_CHECK 0xFFc6 0x00D0 0xacf7

SET_PC 0x8000

在执行过程中会遇到以下错误消息:

[ACK_ERROR_MESSAGE]未知的 ACK 值!

请找到以下脚本日志:

输入文件脚本为:/home/vvdn/ti/BSL-Scripter/ScriptExampleLinux/6xx_uart/script_6xx_uart.txt

//
//脚本示例6xx UART BSL
//经过测试的器件:MSP430F6459
使用的/Comm Bridge:MSP-BSL Rocket
//
//下载闪烁应用程序
//通过 UART BSL
//
日志
模式6xx UART /dev/ttyACM0
UART 的波特率设置未提供/错误
它将设置为默认的9600波特
//向提供错误的密码
//整体擦除存储器
详细
详细模式现已打开!
RX_PASSWORD pass32_wrong.txt
阅读 txt 文件:/home/ti/BSL-Scripter/ScriptExampleLinux/6xx_uart/pass32_wrong.txt
[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][00][00][91][fb]
<00>
[ACK_ERROR_MESSAGE]未知的 ACK 值!
RX_PASSWORD pass32_default.txt
阅读 txt 文件:/home/ti/BSL-Scripter/ScriptExampleLinux/6xx_uart/pass32_default.txt
[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][9e][e6]
<00>
[ACK_ERROR_MESSAGE]未知的 ACK 值!
RX_DATA_BLOCK sample_6736a.txt
阅读 txt 文件:/home/ti/BSL-Scripter/ScriptExampleLinux/6xx_uart/sample_6736a.txt
[80][20][00][10][00][40][00][81][00][00][00][B1][B1][13][48][00][0c]
[43][B1][13][00][1c][43][B1][13][42][00][32][d0][10][00][FD]
[3F][03][43][21][CB]
<00>
[ACK_ERROR_MESSAGE]未知的 ACK 值!
[80][80][00][10][d0][00][00][14][40][14][40][14][40][14][40][40][14][40][14]
[40][14][40][14][40][14][14][40][40][14][40][40][14][40][14][14][40][14]
[40][14][40][14][40][14][14][40][40][14][40][40][14][40][14][14][40][14]
[40][14][40][14][40][00][B1][00][B1][04][B2][B2][40][80][5A][5c]
[01][81][43][02][00][B1][90][0A][00][02][00][13][2c][E2][23]
[02][B1][40][10][27][00][81][93][00][05][24][91][83][00]
[00][81][93][00][00][fb][23][91][53][02][B1][B1][90][0A][00][02]
[00][ed][2b][a1][00][04][00][10][01][03][43][ff][3f][03][43][1c]
[43][10][01][8e][3E]
<00>
[ACK_ERROR_MESSAGE]未知的 ACK 值!
写入152字节的时间:0.4994秒
写入数据的速度:0.2972(kb/s)
CRC_CHECK 0x8000 0x0020 0x4872
[80][06][00][16][80][00][20][00][AB][42]
[ACK_ERROR_MESSAGE]未知的 ACK 值!
CRC_CHECK 0xFFc6 0x00D0 0xacf7
[80][06][00][16][C6][ff][00][d0][00][cc][39]
[ACK_ERROR_MESSAGE]未知的 ACK 值!
SET_PC 0x8000
[80][04][00][17][00][80][00][D2][D5][D5]

您能否提供解决问题的建议或故障排除步骤?

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

    我检查 MSP-FET 和 MSP430上的硬件连接。 他们都是好的。 不是很清楚为什么会发生 BSL ACK 故障。

    您能否使用逻辑分析器来查看测试、RST、RX 和 TX 会发生什么情况?

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

    尊敬的 EASON:

    请在运行 BSL 脚本时找到 TEST、RST、TX 和 RX 引脚状态






    除了前面的查询、我们还发现了 MSP-FET 调试器施加的电压电平有问题。 我们的系统支持3.3V 电压、但在调试过程中、我们注意到通过 VCC 引脚施加1.8V 电压。

    您能否指导我们如何配置 MSP-FET 调试器以支持3.3V 电源、从而满足我们的系统要求?

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

    信号电压水平比较奇怪。 例如、TX 电压变化(1V)与 RX 电压变化(2V)大不相同。

    默认情况下、MSP-FET 输出3.3V。 您可以在不进行任何连接的情况下直接测试 MSP-FET 吗? 我想您的 PCB 驱动电流过大。

    您可以尝试使用 VCC 目标器件代替 VCC 工具(使用外部电源来为 MSP-FET 供电)

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

    大家好、团队成员:

    我们尝试了使用 FTDI FT4232芯片而不是 MSP-FET 调试器、以便通过 BSL UART 与 MSP430连接。 我们连接了 TX/RX 的 DBUSUSB0/1以及 TEST 和 RST 引脚。 但是、我们在运行 BSL 脚本时仍面临相同的确认(ACK)问题。

    我们尝试了以下解决方案:

    软件调用
    我们禁用了中断并使用软件调用跳转到 BSL:

    ___ disable_interrupt ();//禁用中断

    (( void (*.))0x1000)();//跳转到 BSL

    我们尝试了在通过应用程序调用 BSL 时观察文档中提到的测试和 RST 序列("BSL 以测试时的两个上升沿启动、当 RST 上升时 TEST 保持高电平")。 但是、在示波器上未检测到该序列。

    您能否告知我们的调用方法是否正确? 将 FTDI FT4232芯片用于 BSL UART 时、是否有具体注意事项?

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

    关于查询的轻柔提醒  

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

    很抱歉,我刚刚从长假回来。

    1.为什么要更换另一个工具? 我不知道  FTDI FT4232。 我认为问题不在工具上。

    2. 使用 MSP-FET 时、我认为您会观察到复位和 TEST 引脚上的调用序列。 此外、对于电压电平、大家还是没有回答我的问题。

    3.首先要确定器件是否进入 BSL 模式。 我建议您将 GPIO 切换代码下载到 MCU 中。 如果它进入 BSL、您应该会看到 GPIO 切换将停止。

    4.第二件事是要确保通信的设置是好的。 您似乎被困在了这一步。  因此、您需要使用  逻辑分析器 来中断通信、以了解发生了什么情况。

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

    尊敬的 EASON:

    根据您的建议、我们已使用 GPIO 切换代码对 MCU 进行编程、运行 BSL 脚本后、GPIO 切换功能会停止。 但是、我们仍然 面临相同的未知 ACK 故障  
    为了阐明电源配置、我们已将外部3.3V 电压提供给目标。 我们打算将 FTDI 用作目标的调试器。 我尝试了 该主题 、但仍然遇到相同的问题。
    我们还观察了 TX 和 Rx 线路

    您是否可以建议其他调试步骤?

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

    好的、我认为 MCU 会进入 BSL 模式。 MSP-FET 和 PC 配置正确。  

    奇怪的是、为什么 RX 引脚为低电压? 应该是高压... 您能否检查外部硬件设置?

    您能否检查此范围内是否有代码? 如果该字段为空、您可能需要参阅此应用手册来更新该 BSL:https://www.ti.com/lit/an/slaa450g/slaa450g.pdf

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

    尊敬的 EASON:


    我已经检查了 TX 和 RX 线路的电压、 它们看起来处于有效状态、我们在 RX 上观察到3.3、在 TX 上观察到2.5  
    关于引导加载程序位置、我尝试了读取 BSL 存储器区域(使用 Uniflash 的存储器浏览器)、但这些区域中的存储器显示为0xFFFF。

    在上述应用手册中、我找不到6xx 系列的代码、因此 我 尝试 使用 Code Composer Studio 从/released_BSL_Images/BSL.00.07.05.04.txt 文件夹刷写 MSP430F673x_Family 二进制文件。 刷写后、我检查了位于0x1000的存储器、观察到该区域有一些值。


    尽管执行了上述步骤、但我在运行 BSL 脚本时仍然收到"Unknown ACK Value"错误。

    我刷写 BSL 的方法是否正确、或者我是否遗漏了任何关键步骤?

    为什么在刷写 BSL 二进制文件后仍会收到"Unknown ACK Value"错误?

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

    因为我检查代码不会下载。 即全部为0x3FFF。 可能问题出在"Erase (擦除)"设置。

    例如、在0x1000处、值应为0x3C09。

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

    尊敬的 EASON:

    我尝试使用此擦除选项, 加载二进制后,我读取0x3C09该地址的值,但在一个电源循环后,它恢复为 0x3FF


    下电上电后

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

    可以尝试另一个设备吗? 闪存不应该满足这个问题....

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

    我尝试了 另一个板也发生了同样的事情  
    我们尝试了以下内容:
    1.通过 JTAG、我已 使用 uniflash 刷写了 BSL.00.07.05.04.txt 文件并使用了提到的擦除选项  
    2.重启后,我在内存位置0x1000处观察到0x3fff

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

    我认为,当你写和读存储器,你需要做选择如波纹.

    如果创建新的会话、并且在不进行选择的情况下读取内存、则内存将全部为0x3FFF。  

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

    是的、我能够读取 BSL 存储器  

    使用这个 线程 我可以闪存然而,当使用默认的 Linux 脚本刷写时,我面临"未知的 ACK 值"再次错误。

    可能是什么原因?
    在新电路板中,我们可以尝试 BSL UART 闪烁,如果是,我们如何调用 BSL 序列?

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

    以下是我的进一步建议:

    1.您可以尝试使用 Unilflash+MSPFET,然后重试。 请记住选择正确的设置。

    2.您能否使用逻辑分析器捕捉波形? 我们需要试探交流。 使用振荡器、而不仅仅是波形。

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

    好的、将进行检查并告知结果

    同时、我们如何通过 FTDI 调试器通过 Test 和 RST 引脚实现 BSL 调用? 任何建议都是有帮助的

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

    FTDI 调试器的用途是什么? 是否指  USB 适配器? 如果是、您可以参阅该链接:https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/847026/bsldemo-now-supports-generic-usb-to-uart-adapters-and-the-rocket

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

    尊敬的 EASON:

    是的、我们使用 UART 转 USB 串行适配器(FT4232H)  
    我们尝试使用 BSLDEMO 应用程序、但无法调用 BSL 序列

    BSLDEMO.exe -tUSB -cCOM12 +evpr eusci_a_uart_ex1_loopbackAdvanced.txt
    ----------------------------------------------------------------------------------------------------------------
    MSP430引导加载程序通信程序(2.03 - 2019版)
    批量擦除周期数设置为1。
    批量擦除...
    错误:同步失败!
    引导加载程序的器件?

    -----------------------------------------------------------------------------------------------------------------
    它是否支持 F6xx 系列?

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

    因为我检查它不支持 F6

    这是因为您希望 BSL-scriptter 支持 USB 转 UART 工具。 请参考此代码并更新 BSL-scripter 源代码