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.

[参考译文] CC3220SF:困难的 OTA 设计

Guru**** 2587365 points


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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/828979/cc3220sf-difficult-ota-design

器件型号:CC3220SF

您好!

我对 OTA 库的设计很好奇。

要使用它、需要修改 SDK 本身(otauser.h)内的头文件。

这使得更改 SDK 文件变得非常困难、因为更改不在源代码控制范围内、因为它不在工程复制中。 每次更新 SDK 时、任何更改都会丢失、必须重新应用。

它还使得创建多个测试环境变得很难、例如 dev/stage/prod、因为每个环境都需要一个单独的二进制文件。

为什么它是这样设计的? 您是否会考虑在未来版本中仅从函数获取输入? 而不是让开发人员直接修改 SDK 代码。

可以创建如下函数:

ota_setinfo (char const* host、char const*目录、char const* token)

或您需要的任何其他信息。

它可以构建单个库、调用代码可以与其余源代码一起检查到存储库中。 调用代码还可以轻松地为不同的环境使用不同的参数。

OTA 只是另一个 API、不确定其设计为何必须如此不同。

西里尔

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

    您好、西里尔、

    这种方法背后的理念是减少库的占用空间。

    该库包含每个 CDN 服务器的大量代码、otauser.h 设置用于编译非相关代码。

    我理解您的沮丧、并知道还有其他方法可以解决这一问题、但所有方法都有优缺点。

    我们会不断对此进行审查、并可能决定在未来对此进行更改。

    目前、我建议将库(无论如何都需要构建)导入到您的存储库中(并在需要时负责更新)、或者在 编译库之前覆盖 SDK 的"otauser.h"(使用存储库中的一个)。   

    BR、

    Kobi