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:定制引导加载程序:通过 Wifi 进行固件更新

Guru**** 2482155 points
Other Parts Discussed in Thread: TM4C1294NCPDT

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/718383/tm4c1294ncpdt-custom-bootloader-firmware-update-over-wifi

器件型号:TM4C1294NCPDT

您好!

我们在定制板中使用 TM4C1294NCPDT。 我们希望编写自定义引导加载程序以支持 OTA 固件更新。 基本思路是从联机服务器下载更新文件并将其复制到闪存中。 调用自定义引导加载程序例程。 引导加载程序例程将检查指定位置的固件是否可用。 然后、它会将固件从闪存位置复制到实际位置、并将控制移交给应用。

我们希望确保在引导加载程序复制新固件之前完成 CRC 检查。

请建议如何实施此解决方案。

谢谢。

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

    正确的做法是、您需要编写一个自定义引导加载程序来处理这种情况、因为闪存引导加载程序示例和 TivaWare ROM 引导加载程序不支持从闪存本身加载引导。 不过、在实现方面、我没有太多可提供的资源、我们的支持集中在 TivaWare 和这些引导加载程序上。 提供的引导加载程序提供了背景以及引导加载程序用户指南。 不过、如果您遇到问题、我们可以尝试回答具体问题。 您还可以在 E2E 中搜索相关主题并查看其他用户已完成的操作。

    我还希望你所描述的是可能的,但很困难。 根据引导加载程序所需的空间量、您最多可以将可用内存减半、这并不是很有效。 因此,我不能肯定您的应用程序在我看来有很多好处。

    另一个想法是、使用 WiFi 设备来处理无线数据等的 CRC 检查是否更有意义、以确保数据正确、然后通过 I2C 或 SSI 引导加载程序发送该数据? 我认为这将是一个更干净的解决方案。

    如果您不想依赖要从 WiFi 端完成的 CRC、 然后、这将成为另一个大型软件实现、它将占用更多可用空间、因为这需要成为引导加载程序的一部分、并且您需要从生成 CRC 值的位置存储 CRC 值以进行交叉检查。

    供参考另一个想法类似的主题出现在这里、这个人研究了使用外部存储器的问题、这也比使用 TM4C 闪存更好: e2e.ti.com/.../621939