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.

[参考译文] TM4C129ENCPDT:远程无线代码(固件)更新

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/582471/tm4c129encpdt-remote-over-the-air-code-firmware-update

器件型号:TM4C129ENCPDT
Thread 中讨论的其他器件: EK-TM4C1294XL

我正在使用 连接到 GSM 模块(UART)的 TM4C129ENCPDT。 我想远程更新微控制器上的代码。 我的 GSM 模块可以通过 FTP 从我的服务器下载 bin 文件。 关于如何刷写由微控制器上的 GSM 模块下载的代码的任何建议?  

注意:我没有连接任何辅助控制器。

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

    Bobby、

    您可以:

    -使用某种协议通过 i2c 模块将新固件传输到 MCU,该协议表示数据是指新固件。

    然后、将固件存储在已知位置-如果您有可用的外部 NV 存储器、这是一个不错的选择-否则、您可以使用 TM4C 闪存的固定区域。

    然后、使用自定义引导加载程序读取 EEPROM 中指示新固件可用的标志-并让引导加载程序将新固件交换到程序执行区域。

    我们已经成功地完成了这项工作、开发引导加载程序、协议和控制需要大量时间、但它非常可靠。

    此致

    布鲁诺

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好、Bobby。
    有关使用 I2C 接口更新微控制器上的应用的更多信息、另请参阅引导加载程序用户指南。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    接口为 UART、而不是 I2C。 抱歉键入错误。 我还提供了 SD 卡接口。 为了使操作更简单、我可以将 bin 文件复制到 SD 卡。 是否有方法使用 SD 卡上的 bin 文件刷写 MCU? 是否有任何执行此操作的引导加载程序在线提供?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    抱歉、输入错误。 接口是 UART。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Bobby、
    支持通过 UART 的引导加载程序。 请参阅相同的引导加载程序用户指南。 TivaWare 包提供了一个名为 boot_serial 的示例引导加载程序、该引导加载程序利用 UART 接口来下载/更新 MCU 应用。 可在下找到该示例 \examples\boards\ek-tm4c1294xl\boot_serial。 boot_serial 与另一个名为 boot_demo1或 boot_demo2的应用程序示例结合使用。 boot_serial bootloader 将通过 UART 接口下载应用程序映像 boot_demo1或 boot_demo2。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢你的答复。 但是、我仍然需要将通过 FTP 下载的 bin 文件存储在某个位置、对吧? 在我的情况下、由于闪存中现有代码的大小、闪存存储器上的空间受到限制、因此 SD 卡将更可行。 那么、是否有任何有关如何从 SD 卡闪存的示例?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Bobby、
    如果您有 SD 卡、实际上您可以将新固件存储在其中。
    实际上、我们甚至可以选择父项:我们将新固件和以前的固件存储在附件存储器的不同位置-以便在更新后发生故障时、引导加载程序可以恢复到以前工作的固件。
    我还没有特别使用 SD 卡-它在我的待办事项列表中... 我不知道是否有专门使用引导加载程序与 SD 卡交互的示例。 我们使用的引导加载程序是自定义引导加载程序、而不是 ROM 上准备好的引导加载程序、因此一旦实施 SDCard 器件、就不难对其进行调整。
    但是、对于公司政策、很遗憾、我只能向您提供"战略"建议、而不是代码本身或完整的解决方案。
    布鲁诺
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Bobby、
    TM4C 上的 SD 卡实现使用 SPI 接口进行通信。 您可以在 bl_config.h 中选择 SSI 作为与引导加载程序连接的端口。 但是、我们没有特定的引导加载程序示例来从 SD 卡下载/更新应用程序。