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.
工具与软件:
我的项目要求是、我需要一个 dll、exe 或能够在程序中编译的代码、以便客户能够通过 USB 连接到利用 TM4C 处理器的器件、并将固件更新到我们提供的任何固件
UniFlash 似乎是最推荐的 TI 软件、但我不确定能否将其取出以放入我的软件而不完整拖放整个 UniFlash、或者只是迫使我们的客户安装和使用 UniFlash 而不是我们的软件。 我也不能肯定这是最适合我需求的解决方案、因为它自带 GUI、似乎设计为独立运行、而不是集成到其他系统中。
我的公司已经拥有了预先存在的软件、其中包含用于使用 MSP430f6636处理器的旧产品的 C++代码(来自 TI、2010年)。 但该代码显然与 TM4C1294NCPDT 处理器不兼容。 我会将建议的任何内容集成到该软件中。
您似乎在寻找一个可通过 JTAG 接口加载固件的 PC 程序。 这是正确的理解吗? 我有点不清楚为什么您还没有考虑使用引导加载程序、该引导加载程序可以通过 MCU 上任何一个受支持的串行接口升级您的应用固件。 例如、如果要更新固件、可在 DFU 模式下使用 USB 端口来更新固件。 同样、如果您可以使用 UART、SPI、I2C 甚至以太网来编写固件、 Uniflash 是一个非常庞大的 PC 程序 、旨在支持大多数 TI 产品通过 JTAG 接口加载固件。 如果您仅打算通过 USB 接口现场更新 TM4C129固件、则应考虑使用 USB 引导加载程序。 有两种类型的引导加载程序:基于闪存的引导加载程序、其中一小段驻留在0x0处的代码将跳转到固件以供执行、或者在满足条件时通过 USB 接口重新加载/更新固件。 还有一个基于 ROM 的引导加载程序、驻留在0x0处的应用程序可以跳转到存储在 ROM 中的引导加载程序。 引导加载程序用户指南可在 https://www.ti.com/lit/pdf/spmu301上找到
我建议您查看 C:\ti\TivaWare_C_Series-2.2.0.295\examples\boards\ek-tm4c1294xl\boot_demo_usb 中的 USB 引导加载程序示例。 这是一个基于 ROM 的引导加载程序示例。 请仔细阅读有关 DFU 模式的 boot_demo_usb 示例说明。 首次在不进行修改的情况下按原样运行示例以了解引导加载程序。 有一个基于 PC 的命令行程序与示例(dfuprog.exe)一起 用于为您下载固件。 如果在 LaunchPad 上运行时看到多个 USB 设备、请小心。 LaunchPad 上还有一个板载 ICDI 调试探针、这也是一款支持 DFU 的器件。 不要将固件更新到错误的芯片。
如果效果仍然不是您所需要的、而是类似于 Uniflash 的 PC 实用程序、那么我会将您推迟到 Uniflash 专家那里。 如果您需要的是 GUI、则可以在命令行模式下运行 Uniflash、而不需要 GUI。 正如我所说、Uniflash 只能通过 JTAG 接口将固件下载到 MCU。 至少这就是我所知道的适用于 TM4C129 MCU 的 Uniflash。 我不知道它是如何支持 MSP430处理器的。
谢谢你。 很抱歉、我还在努力弄清楚这个问题。 您是对的、我需要引导加载程序。 我只引用了 UniFlash、因为它在固件程序员发送给我的某些文件中(以及其他一些地方)。 我将尝试跟踪您建议的 TivaWare (我只是软件程序员、因此我的 PC 上还没有安装它)。
我怎么知道我是否需要使用基于闪存的引导加载程序或基于 ROM 的引导加载程序、或者我需要与固件编程器握手吗?
我如何知道我是否需要使用基于闪存的引导加载程序或基于 ROM 的引导加载程序、或者我是否需要与固件编程人员握手?
闪存引导加载程序将占用较小的闪存、但在您需要自定义时会更加灵活。 基于 ROM 的引导加载程序将整个代码库存储在 ROM 中、从而为应用释放了整个闪存。 对于基于 ROM 的引导加载程序、您只需调用应用程序中的 ROM_UpdateUSB ()、它将跳转到 ROM 中的引导加载程序。 只需尝试一下我推荐的示例即可。 另请参阅引导加载程序用户指南、了解更多详细信息。