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.

[参考译文] CC2652RSIP:ZigBee OTA 更新卡在~60%的位置(片外 OTA、Zr_Genericapp 示例)

Guru**** 2832845 points

Other Parts Discussed in Thread: Z-STACK, LP-CC2652RSIP, SYSCONFIG

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/1630270/cc2652rsip-zigbee-ota-update-stuck-at-60-off-chip-ota-zr_genericapp-example

器件型号: CC2652RSIP
主题中讨论的其他部分: Z-stackSysconfig

尊敬的团队:

我在使用 Zigbee OTA 时遇到了一个问题、固件更新始终会卡住 60、一些 timwe 20、45、49、11、3   进度。

设置详细信息:

  • 器件:基于 CC13x2/CC26x2 的定制硬件
  • 使用示例:zr_generic(针对 OTA 片外而修改)
  • OTA 类型:片外 OTA
  • 外部闪存:已配置和验证
  • OTA 服务器:工作(相同的映像用于示例) zr_sw_ota_client_offchip
  • 堆栈版本:Z-Stack 3.x(如果需要,请指定确切版本)

观察到的行为:

  • OTA 成功启动并通常进展至~60%
  • 之后、进度便会停止、而不会恢复
  • 器件在 OTA 期间不会复位
  • 在 OTA 期间未观察到按钮或应用程序活动(似乎被阻止)
  • 在某些尝试中、它也会卡在非常低的百分比 (~0.01%)

我尝试过的方法:

  • 已验证外部闪存配置和链接器设置
  • 与比较zr_sw_ota_client_offchip(工作案例)
  • 确保正确包含 OTA 集群 (inCluster)
  • 已检查状态轮询延迟(行为无变化)

问题:

  1. 什么会导致 OTA 以~60%等特定百分比失速?
  2. zr_generic与相比、在中启用 OTA 时是否存在任何已知问题zr_sw
  3. 这是否与缓冲区大小、块请求处理或时间(例如,状态轮询延迟)有关?
  4. 在 OTA 期间、是否预计应用程序循环会被阻止(无按钮响应)?

有关调试此问题或要检查的特定区域的任何指导都会非常有用。

提前感谢!

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

    你好、Sushmitha、

    我们已经确定了基准、您已经在您的系统上确认 ZR_SW_OTA_CLIENT_offchip 示例会执行 OTA 更新直至完成?  您是否已在 LaunchPad 或定制硬件上验证过这一点?  如果您是按照 Z-Stack 用户指南的说明在 LP-CC2652RSIP 上测试修改后的 ZR_generic、结果是什么?   您引用的是哪个 SimpleLink F2 SDK 栈版本?  此外、您的定制硬件上有什么外部闪存器件?  OTA 在失败后是否有任何调试日志或调用堆栈分析、例如 UI 会报告什么内容、或者可以在 ota_client.c 中添加其他打印 (ota Client_Upgrade Complete 应包含状态 ZOtaAbort)。  您能否使用嗅探器设备捕获无线流量?

    什么会导致 OTA 以~60%等特定百分比停止?

    听起来它可以在多个不同的百分比下退出、这表明可能存在 Zigbee 数据包通信故障。

    在中启用 OTA 时是否存在任何已知问题zr_genericzr_sw

    如果完全遵循“向应用程序添加客户端功能“指南、则不会执行此操作。  我也不了解您的外部闪存器件。

    这是否与缓冲区大小、块请求处理或时间(例如状态轮询延迟)有关?

    您需要仔细比较 ZR_generic 和 ZR_SW 之间的配置差异、因为它们应该相同。

    在 OTA 期间、是否预计应用程序循环会被阻止(无按钮响应)?

    否、执行 OTA 时应用程序仍应在运行。  关于如何初始化任务、需要进一步探讨这一点。

    下面是 Zigbee 无线 (OTA) 升级 SimpleLink Academy 实验 、供您参考。

    此致、
    Ryan

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

    您好、Ryan、

    ZR_SW_OTA_CLIENT_offchip 示例在 LP-CC2652RSIP 和定制电路板中均运行、我已成功测试。 当我检查 ZR_genericapp 示例时、OTA 过程开始成功地卡在 60%的某个百分比下。 这意味着不会出现任何错误或不退出或失败。 始终保持在 60%。  

    控制器是 cc2652r1f

    闪存为 w25q80dv

    ZR_genericapp 为定制电路板以及  LP-CC2652RSIP 提供相同的行为。

    此致、

    Sushmitha.

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

    尽管没有返回失败状态、但当您在调试器中暂停 OTA 应用程序时、调用栈的情况是什么?  是否有任何栈溢出或堆问题的迹象?  下面是 调试指南。  您能否在工作版本和非工作版本之间执行比较、以确定任何关键的栈或堆配置更改、以及 SysConfig 或链接器命令文件差异。  您是否遵循了 我之前提到的“向应用程序添加客户端功能“指南?

    此致、
    Ryan