在使用多个用例测试 OTA 时、我们发现以下两个观察结果。 这些行为可能是预期行为、但如果有人能够验证这些行为、则会有所帮助。
1) 1) OTA WDT 在与应用程序看门狗一起使用时始终会干扰应用程序看门狗。 这也意味着 应用程序代码中的 Watchdog_clear 将清除 WDT、 Platform and CommitWdtStop 将尝试停止应用程序看门狗 、这 在大多数情况下会导致系统崩溃。 虽然强烈建议不要使用这种方法、但 在某些情况 下、主线程中需要应用程序看门狗、并且 OTA 映像提交预计会在稍后阶段根据某些延迟事件进行。
2) 2) 似乎即使在成功提交 OTA 更新后、也不会删除 Platform_CommitWdtConfig()创建的 mcubootinfo.bin 文件。 理解是、 除非器 件在 IMAGE_TEST 状态下唤醒、否则不会触发此 WDT、这是仅在 OTA 下载后才可能实现的。 但是 、我们需要记住、即使我们 下次不在 OTA 周期中调用 Platform_CommitWdtConfig()、OTA WDT 也会被触发。
我们几乎没有什么疑问
a)如果方案1由于设计限制而不可避免、是否可以 在 挂起提交阶段设置映像提交时不调用 Platform_CommitWdtStop。 应用程序看门狗将清除 WDT 以避免 在挂起提交阶段复位、并且 OTA WDT 将从下次启动时跳过。
b)如果 由于某些数据损坏或其他原因无法加载更新的固件、是否会触发 OTA WDT?
此致、
Zac