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.

[参考译文] MSP430F2617:进入 BSL 时发生故障- UniFlash 和 CCS

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1434527/msp430f2617-trouble-entering-bsl---uniflash-and-ccs

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

工具与软件:

您好!

我正在尝试使用 FT232RNL IC 通过 USB 与我的 PC 进行通信、从而刷写 MSP430。 我已经通过 JTAG (MSP-FET)成功刷写 MSP430、因此我已经激活了一个闪烁的 LED、以查看 MCU 何时闪存。

根据我的理解、DTR 必须上拉至 RST/NMI 引脚、RTS 应用于 TCK 引脚-不确定这是否也需要有上拉电阻器。

我将 FTDI 芯片的 RX 连接到 P2.2、将 TX 连接到 P1.1。 这些值在数据表/系列指南中分别作为 BSL 发送和 BSL 接收进行说明。  

我已四次检查了我的布局和原理图、似乎无法找到 UniFlash 和 CCS 无法通过 BSL 进行闪存的原因。 最接近的方法是将 CCS UART 连接中的.ccsxml 文件更改为 FTDI 芯片的 COM 端口以及设置波特率。

我收到的错误有:

UniFlash 在尝试执行任何操作时冻结、但我确实看到 LED 停止闪烁、这告诉我在尝试进入 BSL 时正在进行一些尝试。

有人可以帮助我验证我的 UniFlash 是否设置正确吗?

我在这里遗漏了什么?  

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

    您好、Sam、

    要在此器件上调用 BSL、您必须在保持 RST 为低电平时将 MSP 的 TEST 引脚拉至高电平。 这会将器件置于 BSL 模式、然后您应该能够向器件发送 BSL 命令。 因此、一旦将器件置于 BSL 模式、您应该只需要 UART 连接即可通过 BSL 与器件通信。

    您还需要确保已在 Uniflash 中选择了 MSP430F2617 (引导加载程序)、以确保 PC 端正常工作。

    阅读我们的 Uniflash 文档、我也没有看到您的 FT232RNL 是受支持的器件。 如果您只是将 FTDI 芯片设置为手动向器件发送 BSL 命令、它应该可以正常工作、但 Uniflash 需要连接到一些已知的调试器。 我看到的受支持器件列表是所有 TI XDS 调试器。

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

    尊敬的 Dylan:

    那么您是否指的是其他内容? 我的印象是、我所针对的是"TCK"、因为我使用的是带有专用 JTAG 的 MCU。

    回到上一个问题: https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1416057/msp430f2617-programming-flash-via-usb-bsl-vs-sbw-vs-jtag/5427459?tisearch=e2e-sitesearch&keymatch=%2525252525252520user%252525252525253A622603#5427459

    似乎是 FT232、作为标准 USB-UART 桥应该可以使用。 我在 YouTube 上看到过其他视频与使用一个。 我不明白这为什么会有任何不同。

    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

    因为我知道设备正在做一些事情。 我还尝试 通过以下命令使用 BSLDEMO 本身:".\USB BSLDEMO.exe -tUSB -cCOM8 -d"
    输出如下:
    MSP430引导加载程序通信程序(2.03 - 2019版)
    批量擦除...
    额外的批量擦除周期。。。
    传输标准密码...
    BSL 版本:2.13 -系列成员:F26F -流程:0760
    通过文件"(null)"擦除检查...

    它看起来好像某个东西工作正常、否则我不确定它是如何找到 BSL 版本等的

    如果它无法与 UniFlash 配合使用、我可以帮助您确定如何与 BSLDEMO 配合使用吗? 我被告知可以使用上一帖子中的 UniFlash。

    谢谢!

    Sam

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

    我有一些其他信息和更新要添加到其中:

    我似乎已经成功地使用 BSLDEMO (BSL-Scripter)通过 BSL 进行闪存、因为我的更新的代码似乎在我闪存时反映出来。

    但是、我仍然收到以下消息、告诉我正在做一些错误的事情:

    MSP430引导加载程序通信程序(2.03 - 2019版)
    批量擦除...
    额外的批量擦除周期。。。
    传输标准密码...
    BSL 版本:2.13 -系列成员:F26F -流程:0760
    在0x3100处将新的 BSL"C:\RAM\Firmware\VD_1.0_Firmware\Debug\VD_1.0_Firmware.txt"加载/验证到 VD 中...
    程序以3,100,142字节开始... 错误:0
    程序从 FFBE 开始、108字节... 错误:0
    在0xB2F2处开始新的 BSL (大模型> 1K 字节)。。。
    传输标准密码...
    错误:同步失败!
    引导加载程序的器件?

    一切似乎都能正常工作,但这两个错误消息让我怀疑这里仍然有什么问题。

    我也不确定地址范围或者0xB2F2中的"大模型"所表示的内容。

    谢谢、如果您有任何想法、请告诉我。

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

    您好、Sam、

    感谢添加的详细信息。 回顾一下、我确实看到了 USB 到串行转换器的选项。 伊森在另一个主题中的原始建议是正确的。 与 MSPM0配合使用时、该选项不可用。 我的错。

    我是指 MCU 上的 TEST 引脚、但是正如您和 EASON 在链接线程中提到的、在具有专用 JTAG 引脚的 MCU 上、这就是 TCK。 我的意思是说 TCK。 Uniflash 加上串行转换器似乎能够为您完成这项操作。 因此、我最初担心这个顺序没有被正确遵循、但应该没问题。 您可以通过探测 RST 和 TCK 来仔细检查、以确保信号按预期显示。

    至于你的更新信息,你得到的错误似乎是非常通用的,并不能很好地确定问题。 我找到了一些具有建议的线程、包括 这个线程、其中这个线程 表示有时 FTDI 芯片的极性会导致问题、您可能需要检查这些问题。 它们还表明、简单的接线问题可能会导致问题、但您先前对连接的注释都显示正确、您可以通过探测器件引脚和查看波形来仔细验证。 "大型模型"表示它是使用大型存储器模型编译的、这意味着使用20位地址而不是16位地址、这对于您使用的器件等器件是必要的、其地址空间超过0xFFFF。

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

    尊敬的 Dylan:

    我似乎因为任何原因无法让 UniFlash 工作。 我认为这是配置问题。 有任何机会我们可以对其进行调试、或者我应该坚持使用 BSLDEMO 吗?

    如果我仍然使用似乎有效的 BSLDEMO、您是否建议我使用"-i"和"-j"参数与 BSLDEMO 反转极性? 我不确定这为什么会导致错误、因为当 BSL 没有响应0x90时、似乎会产生错误。 我不太确定我理解这种"同步"的目的是什么、因为文档并未真正讨论它的作用。

    此外-我没有方法来探测 RST 和 TCK、因为我没有任何连接到探针的外露引脚。  

    顺序是进入 BSL、好像没有正确的条目我就无法更新它。 这在逻辑上意味着序列是正确的。  

    感谢您阐明存储器模型、我昨天晚上阅读了该内容、得出的结论是、它仅指 BSL 2.13所使用的各种存储器大小。

    真正的问题是:即使在"同步"失败的情况下、我仍然可以对 MSP430进行编程、这是怎么一回事? 我甚至需要关注说的"同步"吗?

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

    我建议尝试-i 和-j 参数以尝试摆脱错误,因为您提到了错误,其文档留下了大量的调查工作。  

    特别是如果我们无法探测信号、那么除了试错之外、就很难诊断出什么问题。

    约定您似乎正确进入 BSL 模式、因为您正在成功刷写到器件中。 问题似乎只是 BSLDEMO 检测它的方式。

    对于您的最后一个问题、我认为响应是上述情况:应用程序似乎没有正确检测到器件处于 BSL 模式、但出于某种原因、仍在传输 BSL 数据以闪存器件。 至于你是否需要照顾-我认为这取决于你。 如果您观察到器件正在正确编程、并且您获得了预期的行为、唯一的问题是您收到了此错误消息、但其他一切看起来都很好-那么它似乎可以忽略。 我认为必须测试一些器件并确保情况如此。  

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

    尊敬的 Dylan:

    似乎-i 和-j 不能用作原始 BSLDEMO.exe 的参数。 我使用 BSLDEMO-2.01c 尝试了它,还收到了"错误:非法命令行参数"。

    以下是我的命令: .\USB BSLDEMO-2.01c.exe -tCOM8 -d -i -j -b"C:\USB\Firmware\VD_1.0.txt" VD

    不知道我在这里做什么错了,但这似乎根本不起作用。

    尽管有所有这些-我很失望、因为我无法理解 UniFlash 为什么不能用于此目的。

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

    我认为做的最好的事情是自己汇编源代码并在附加的打印声明中输出、以便我可以找出发生的事情、但我真的没有时间让我的项目承担进一步的调查。 如果有任何见解、我将不胜感激。

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

    我看到...

    您是否在使用 Windows 11? 这里的一个问题是这些工具是在一段时间之前开发的、我们偶尔会遇到与旧工具的兼容性问题。 过去、我们有时不得不建议客户恢复到 Windows 10以使用这些旧工具。

    我也想知道为什么必须停止使用 MSP-FET、我可以在上面看到、大家提到它可以正常工作、然后可以移到这个 FTDI 部分?  

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

    尊敬的 Dylan:

    我使用的是 Windows 11。 这可能是需要考虑的问题。

    我停止了使用 MSP-FET、因为它只是在我弄清楚 BSL 编程时临时的。 我的项目设计为可通过 USB 进行编程、因为这是一种更简单且更不易出错的方法、能够让我的同事闪存多个电路板。 无法正确插入 USB 电缆。

    我还遇到过很多与 Windows 11计算机上的 MSP-FET 固件损坏有关的问题、我希望避免任何额外的痛点。

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

    这时、我建议继续调试的方法是尝试使用 Windows 10 PC、因为我们无法探测信号、也无法通过更加手动的方式进行调试。