工具与软件:
您好!
我正在开发一种基于 TI OAD 的 TI15.4 OTA 更新解决方案。 我想尽量减小 OTA 有效载荷大小、因此打算使用 TOAD。
我是否还应为 TI15.4堆栈和我的应用程序使用单独的二进制映像、以便在应用程序很可能需要比堆栈更新更频繁的情况下减小 OTA 更新的大小、或者是否会实际处理此问题并仅更新应用程序更改?
换句话说、如果使用 TOAD、是否需要使用单独的堆栈和应用映像?
感谢您的帮助、
Andy
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.
工具与软件:
您好!
我正在开发一种基于 TI OAD 的 TI15.4 OTA 更新解决方案。 我想尽量减小 OTA 有效载荷大小、因此打算使用 TOAD。
我是否还应为 TI15.4堆栈和我的应用程序使用单独的二进制映像、以便在应用程序很可能需要比堆栈更新更频繁的情况下减小 OTA 更新的大小、或者是否会实际处理此问题并仅更新应用程序更改?
换句话说、如果使用 TOAD、是否需要使用单独的堆栈和应用映像?
感谢您的帮助、
Andy
Andrew、您好!
我不知道我能不能完全跟随你。
TI 15.4-Stack OAD 的实现方式如用户指南中所述: https://dev.ti.com/tirex/explore/content/simplelink_cc13xx_cc26xx_sdk_8_30_01_01/docs/ti154stack/html/ti154stack-guide/oad-secure-index.html
Linux 网关 SDK 提供了 OAD 服务器的示例。
默认情况下、在该示例中、OAD 客户端(传感器)将请求 OAD 数据包、并且在接收到整个二进制文件后、它将以新映像引导。
您能给我讲一讲如何拆分应用程序吗?
在启动过程中、应用程序的起始地址存储在 CCFG 中。 如果您想拆分在芯片上运行的应用、您需要在此应用中实施一种机制(我假设这 在您的建议中是"堆栈应用")、它会启动另一个存储在不同地址的二进制文件(您的"应用")。
这是您尝试做的事情吗?
此致、
等等
您好!
感谢您的答复。 我已经在 CC1312PSIP 上自己实现了 TI15.4 OAD 服务器、并使用 rfOADServer 和 Linux 示例作为参考。 它目前在 OAD 上运行、我即将添加 Toad 功能以加快更新过程。
我在 oad_image_header.h 中看到有一些选项可用于从堆栈映像定义单独的应用程序映像。
/*! * OAD user application image * * A user application of split app/stack type */ #define OAD_IMG_TYPE_APP 1 /*! * OAD stack image * * An OAD enabled stack image of split image type */ #define OAD_IMG_TYPE_STACK 2
我想知道将单个堆栈/应用映像拆分为两个映像是否有好处、因为大多数情况下只 需要更新应用程序代码、因此更新会更小。 可能有几百个节点需要更新。
Toad 也可能足够、因此没有将应用与堆栈分隔的点(如果可能)、因为 Toad 过程只会生成不同的文件。 我还没有尝试过。
抱歉、解释我的问题有点棘手、但希望这能够提供帮助、
Andy