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.

[参考译文] MSP430F5234:升级固件失败

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1097285/msp430f5234-upgrade-firmware-failed

器件型号:MSP430F5234

您好!

我们正在努力通过 I2C 总线升级 MSP430、因为它可以成功升级。 但是、在大多数情况下、它失败了。 故障显示在以下日志中。 请提供帮助建议、谢谢。

----------------------------------------
TI MSP430 I2C Linux 引导加载程序01.00.00.00
----------------------------------------
INFO:指定了 I2C 总线/dev/i2c-1
INFO:指定了固件文件/mnt/USB1/48_PSE_Manager_v220308_out.txt
INFO:正在打开 TI-TXT 固件文件 firmware.txt ...完成!
INFO:找不到密码文件,默认为0xFFs。
INFO:将 Fimrware 更新模式设置为 MSP430... 设置 Fimrware 更新模式字符串已发送!
INFO:延迟4秒等待固件更新模式已启用...完成!
INFO:调用 BSL (尝试1)... 失败!
INFO:器件裸机尝试!INFO:调用 BSL (尝试2)... 失败!
INFO:器件裸机尝试!INFO:调用 BSL (尝试3)... 失败!
INFO:器件裸机尝试!INFO:调用 BSL (尝试4)... 失败!
INFO:设备裸机尝试!
错误:尝试调用或解锁器件(响应代码0x108)时。

-布赖恩特

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

    你(们)好、布莱恩

    我可以看到您正在通过 BSL 对 F5234进行编程。

    请问您使用的是哪种 PC 端软件以及哪种类型的电路板?

    在 BSL 编程板设置上:请参阅 适用于 MSP430和 SimpleLink MSP432 MCU 的 MSP-BSL 引导加载程序(BSL)编程器(修订版 C)

    在命令行工具上:请参阅 引导加载程序(BSL) Scripter 用户指南(修订版 g)

    谢谢

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

    您好、Li、

    该板由我们设计、我们运行 MSP430-i2cbsl、下面是 TI 的下载版本。

    https://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/i2c_bsl_linux_tools/latest/index_FDS.html

     

    我们还尝试添加-n 以跳过 BSL 调用、但仍然可以看到相同的失败。


    MSP430-i2cbsl-tool -i /dev/i2c-1 -f /mnt/USB1/24_PSE_Manager_v211104.txt -n

    谢谢、

    -布赖恩特

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

    您好、Cheng、

    对于 MSP430F5234 、默认情况下它只能支持 UART BSL  

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

    您好、Gary、

    主机和 MCU 之间的通信接口为 I2C 总线。

     在嵌入式 Linux 中通过 MSP430-i2cbsl 更新 MCU 时出现故障消息。

    那么、您是否意味着我们需要在启动 MSP430-i2cbs 以更新 MCU 之前将 TEST/SBWTCK 置为有效?

    -布赖恩特

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="512431" URL"~μ C/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1097285/msp430f5234-upgrade-firmware-failed/4093046#4093046"]您是否意味着我们需要在启动 MSP430/SBWTC2cbs 以更新 mcus/quother[]

    不可以、如果您想使用我们的默认 BSL、该器件只能支持 UART 接口。  对于主机端、您需要使用 Linux、对吧?

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

    是的。

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

    您可以参阅此演示 https://www.ti.com/lit/an/slaa760/slaa760.pdf?ts=1653574690387&ref_url=https%253A%252F%252Fwww.ti.com%252Ftool%252FMSPBSL%253FkeyMatch%253D%2526tisearch%253Dsearch-everything%2526usecase%253Dsoftware 

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

    Gary、

    我们有两个针对 MSP430板的构建版本、包括 EVT1和 EVT2。

    对于 EVT1、可以成功更新所有电路板。

    对于 EVT2、无法更新所有电路板、故障消息如上所示。

    主要区别在于

    EVT1:使用空 MSP430 MCU 执行离线程序。

    EVT2:使用已编程的 MSP430 MCU 再次进行离线编程。

    对于这些 EVT2电路板、无论输出 POE 电源如何、所有电路板都能正常工作、运行 SIFOS 测试并通过 I2C 更改 MCU/PSE 配置、除了更新 MCU 之外、所有电路板都能正常工作。 使用相同的配置文件通过 JTAG 对 MCU 进行编程后、可以通过 I2C 成功更新 MCU。

    您能建议如何进行调试吗? 我们遇到的问题是、我们已将这些电路板交付给客户、这些电路板无法通过 I2C 进行更新。 因此、我们需要找出根本原因并了解如何解决此问题。

    谢谢、

    -布赖恩特

       

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

    您好、Bryant、

    正如我在 MSP430F5234之前提到的 、它只能支持 UART 接口 BSL。 如果您可以使用 I2C 接口更新它、这意味着您已经创建了定制 I2C BSL、这取决于您的定制 I2C 的外观。 您是否了解有关该技术的更多详细信息?

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

    您好、Gary、

    我们不知道为什么可以更新 EVT1、但无法更新 EVT2的问题。

    在 JTAG 使用相同的代码重新编程之前、不能更新 EVT2。

    也许我们可以找出根本原因、但我想知道 是否有任何可能的方法通过 I2C 更新 MCU。 由于我们已经向客户提供了一些 EVT2电路板、因此我们需要为客户提供一些权变措施来更新 MCU。

    我需要您的支持、并应包括以下项目:

    如何 调试这些 EVT2板不支持通过 I2C 进行更新的原因

    2.如果项目1很难实现、如何通过 I2C 对这些 MCU 进行更新、尽管 在更新过程中该 MCU 已终止。 任何命令都可以解决问题?  

    谢谢、

    -布赖恩特

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

    这取决于您如何使用自定义 I2C 引导加载程序实现。 最好是获取我可以帮助调试的引导加载程序源代码。

    对于 EVT1、 您能否提供分步 程序详细信息和 源代码?

    对于 EVT2、 您能否提供分步 程序详细信息和 源代码?

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

    Gary、

    我们从另一个项目中获得了代码、并针对我们的应用进行了修改。

    EVT1和 EVT2均由编程器进行离线编程。  除了不同的图像之外、MCU 也有一些差异。  

    对于 EVT1、MCU 为空。

    对于 EVt2、MCU 在运送到我们的仓库之前就已经过编程。 因此、我们需要使用代码对其进行擦除和重新编程。 我想这可能是个问题、我还检查了我们的程序工程师、他们认为这两个编程过程是相同的。 但 它非常简单、可在 JTAG 使用 EVT2映像进行编程后通过 I2C 对其进行编程。

    请注意、上面的 MCU 是相同的器件型号。

    我上传了代码以供参考。

    e2e.ti.com/.../48_5F00_PSE_5F00_Manager_5F00_v210901_5F00_out.txt

    e2e.ti.com/.../EVT2_5F00_24_5F00_PSE_5F00_Manager_5F00_v211104.txt

    -布赖恩特

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

    我无法对固件 txt 文件执行任何调试。 顺便说一下、为什么这里有两个固件? 一个用于 EVT1、另一个用于 EVT2?

    我认为应该是应用源代码的问题、您可以先咨询软件工程师、看看 EVT1和 EVT2之间是否存在任何软件差异。

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

    Gary、

    是的、一个用于 EVT1、另一个用于 EVT2。

    实际上、我们有一个包含 BSL 和应用程序代码的映像。

    主要区别在于配置设置、例如移动电源、端口限制和类别/端口限制 模式等

    对于 EVT1、这是我们修改端口映射的初始版本。 对于 EVT2、我们使用 EVT1映像根据 EVT1上的测试结果进行修改。

    因此、我认为 EVT1和 EVT2之间的代码库是相同的。  

    我不知道我们能否从同事那里获得应用程序源代码、因为他已经辞职。  

    谢谢、

    -布赖恩特

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

    我认为 这里的关键点是找到您的应用程序源代码、并仔细检查错误所在的位置。 对于  您使用的 MSP430-i2cbsl、我们可以确认没有错误。 它用于 MSP430FRAM 系列器件有关更多详细信息 、请参阅此应用手册。 顺便说一下、您可以检查硬件 连接是否正确。