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.

[参考译文] CC2652P:NV 文件系统会导致器件启动和终止

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/1044417/cc2652p-the-nv-file-system-causes-the-device-to-start-and-terminate

器件型号:CC2652P

在测试过程中、我们发现无法启动器件、最后一个 NV 项如下所示:
0x01、0x00、0x00、0x00、0x01、 0x00、0x0A、0x00、0xFF、0xFF、 0x0A、0x00、0xFF、0xFF、0x00、 0x00、0x00、0x00、0x00、0x00、 0x00、0x00、0x01、0x00 0x00、0x00、 0x00、0x00、0x00、0x0A、0x00、 0x00、0x00、0x0A、0x00、0x01、 0x00、0x00、0x00、0x01、0x00、 0x00、0x00、0x04、0x00、0x15、 0x80、0x 0x96

相应的信息为 REPORT_CONFIG_TABLE:
端点= 0x01
集群= 0x0000
attrID = 0x0001
minReportInt = 10.
maxReportInt = 65535
defaultMinReportInt = 10
defaultMaxReportInt = 65535
报告更改= 0
defaultReportableChange = 0

端点= 0x01
集群= 0x0006
attrID = 0x0000
minReportInt = 3.
maxReportInt = 5
defaultMinReportInt = 0
defaultMaxReportInt = 10
报告更改= 1.
defaultReportableChange = 1.

此 NV 项目看起来正常。

:1 μ s
如果我们将 NV 条目修改为0xFF、则签名字节除外:
0xFF、0xFF、0xFF、0xFF、0xFF、 0xFF、0xFF、0xFF、0xFF、0xFF、...、0xFF、 0xFF、0xFF、0xFF、0xFF、0xFF、 0xFF、0xFF、0xFF、0xFF、0x96

再次通电、器件正常启动。

CASE2:
如果我们只需修改 NV 条目:
端点= 0x01
集群= 0x0008
attrID = 0x0000
minReportInt = 10.
maxReportInt = 65535
defaultMinReportInt = 10
defaultMaxReportInt = 65535
报告更改= 0
defaultReportableChange = 0

端点= 0x01
集群= 0x0006
attrID = 0x0000
minReportInt = 3.
maxReportInt = 5
defaultMinReportInt = 0
defaultMaxReportInt = 10
报告更改= 1.
defaultReportableChange = 1.

0x1、0x8、0x0、0x0、0x0、 0x0、0xA、0x0、0xFF、0xFF、0xA、 0x0、0xFF、0xFF、0x0、0x0、0x0、 0x0、0x0、0x0、0x0、0x0、 0x1、0x0、0x6、0x0、0x0、0x0、 0x0、0x0、0xA、0x0、0x0、0x0、 0xA、0x0、0x1、0x0、0x0、 0x0、0x1、0x0、0x0、0x0、0x4、 0x0、0x15、0x80、0xB1、0xAE、 0x96

再次通电、器件仍然无法正常启动。

我们检查 NV 上的所有商品、它们看起来都正常、接下来我们该怎么办?

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

    您是手动更改 NV 存储器的内容、还是在应用内部如何实现此操作?  使用默认 SampleLight 工程时、您是否能够观察到此问题、该工程会初始化 ZCL_CL_CLUSTER_ID_General_ON_OFF -> ATTRID_ON_OFF_ON_OFF 和 ZCL_CL_CLUSTER_ID_General_level_CONTROL -> ATTRID_LEVEL_CURRENT_LEVEL 的属性报告?  如果是、中断功能需要进行哪些更改?  这些属性记录是否包含 zcl_[application]_data.c 文件中的 access_relable?  报告可更改的值在两种情况下都至少应为一个。

    此致、
    Ryan

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

    我 通过闪存编程器2修改.bin 文件中的 NV 项、然后重新启动以观察器件的启动(onOffLight)。

    当测试仪在器件上执行 WWAHU 测试时、就会出现这种情况。 目前、该器件和第三方网关还用于执行必要的兼容性测试。

    尚不能确定 report_config_table 中 basic->ApplicationVersion 的信息来自何处。
    我们已将报告配置信息添加到正常工作的器件中、并且器件仍正常工作。 尽管信息看起来有点非法、但器件仍能正常工作。


    我将 basic->ApplicationVersion 更改为 ZCL_CLUSTER_ID_General_level_control ->ATTRID_LEVEL_CURRENT_LEVEL 主要是因为 ApplicationVersion 不支持报告。
    明天、我将尝试将其更改为 ZCL_CLUSTER_ID_General_ON_OFF -> ATTRID_ON_OFF_ON_OFF 以查看发生了什么。


    由于我们的项目与样片项目之间存在巨大差异、进行比较测试需要很长时间、这种现象很难重现。

    谢谢、

    Howjie

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

    我建议不要对 NV 存储器进行硬编码。  此外、ZCL 7规范中列出了 Basic cluster ApplicationVersion 属性、作为只读访问、不可报告。

    此致、
    Ryan