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.

[参考译文] TM4C1294NCPDT:将应用程序闪存到引导加载程序后调用重置

Guru**** 2544340 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1079840/tm4c1294ncpdt-invoke-reset-after-flashing-application-onto-bootloader

部件号:TM4C1294NCPDT

您好,

我想知道在使用 LM Flash Programmer 将应用程序闪存到引导加载程序后是否有调用重置的方法。 目前,我们使用的是定制板,但没有设计对重置引脚的访问,等等。

它使用 LM Flash Programmer 和 TM4C 芯片(即)之间的有效 Arduino 网桥

LM 闪存编程器-> UART -> Arduino -> UART -> TM4C  

我们使用的示例是 boot_serial/boot_demo1示例,我们在 XL 增压器板上自己尝试过,并且工作正常,我们只是想将其转换到我们的定制板上。  

我从程序集代码中推断,引导加载程序在允许它刷新获得的应用程序之前会查找重置 ISR,是否有办法解决这一问题?

此致,

Tyson

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

    Tyson 您好,

    LM Flash 编程器允许您重置目标 MCU,因此请确保选择了:

    如果选择了该选项,则问题将出在 Arduino 网桥上。

    对于我们的引导加载程序,可以发送两个触发系统重置的命令: command_run 和 command_reset

    如果即使 LM Flash 尝试重置 MCU,主板也没有重置,则 Arduino 无法正确发送这些命令。 此时,我无法提供有关如何让 Arduino 实现这一目的的任何建议。

    此致,

    拉尔夫·雅各比

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

    你好,拉尔夫,

    感谢您的回复。  

    是的,我们尝试了选择“程序后重置 MCU”按钮,但这项操作没有成功。 我们还尝试通过重置引脚和开关使用硬件触发的重置,但也没有运气。

    我收集到,使用 Arduino 应该与 板载 TM4C123x 在评估板上的工作方式类似,因此从技术上讲,我们应该能够做到这一点。

    基于评估板,TM4C123x 是简单地用作1294芯片的桥接器,还是 USB 和123芯片之间有过滤功能?

    TM4C123x 是否根据 LM Flash Programmer Acknowledgement 手动设置 command_run 和 command_reset 功能?或者在看到 UART 数据包通过时立即设置命令运行和命令重置功能?

    谢谢,

    Tyson

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

    Tyson 您好,

    我从来没有为 ICDI 接口编写过源代码,但有一些代码执行来处理编程,这不仅仅是一个传递。

    我认为用于 command_run 和 command_reset 的 UART 命令是由 ICDI 接收的,然后它会根据需要处理这些命令的使用。 LM Flash 编程器经过专门设置,可与 ICDI 接口和 ROM 引导加载器配合使用。 支持其他调试探测器不是其中的一部分。

    对我来说,问题很明显是 Arduino 板实施问题,这并不令我感到意外,因为我之前没有听说过使用这种板-所有使用 LM Flash 对非评估板进行编程的客户都使用另一个 LaunchPad 进行调试或 ROM 启动加载程序。 您可以在本文档 中看到如何操作:https://www.ti.com/lit/pdf/spma075

    此致,

    拉尔夫·雅各比

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

    你好,拉尔夫,

    再次感谢您的回复。  

    我同意 Arduino Bridge 实施是这里的问题。 为了提供更多的背景信息,我们计划通过 USB 实施 FOTA,而在使用 XDS110之外访问 TM4C 的唯一方法是通过 USB 访问 Arduino。  

    从技术上讲,如果没有 ICDI 接口的代码,这是可能的,我认为它根本不起作用。 是否有其他方法可以通过 USB 使用 Arduino Bridge 将应用程序闪存到启动加载程序中?或者我们是否需要考虑不同的方法来为我们的目标提供解决方案?

    谢谢,

    Tyson

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

    Tyson 您好,

    也许您可以查看我们在蒂瓦尔的闪存应用程序: C:\ti\蒂 瓦瓦尔_C_Series-2.2.0.295\tools\sflash

    通常用于通过 FTDI 电缆的 USB -> UART,但它可能与 Arduino 配合使用? 这是我唯一的其他建议。

    此致,

    拉尔夫·雅各比