Thread 中讨论的其他器件: SIMPLELINK-CC13XX-CC26XX-SDK
您好、我有一个应用在 CC2652R 上运行、但板载闪存会断断续续地损坏。 在大约50个样片尺寸的原型装置中、我们每周7天、每天24小时不间断地运行数个月、看到不同装置上的闪存损坏了3次。 在我们的应用中、这种腐败实质上正在削弱我们的器件。
我们的应用在 ZCL 移植层中直接调用 NV 函数、其函数指针设置为使用 nvocmp.c 中的 NVOCMP 驱动程序函数 我的代码中失败的调用是 zclport_initializeNVItem()。 我已经在调试器中追溯到这个调用,它在 NVOCMP_findItem ()出现故障,该值返回 NVINTF_ROPED 值。
我们的应用程序目前总共使用16个不同的 NV 项目。 当这种腐败发生时、我们的所有项目都报告 NVINTF_COROVER。 基本上、此应用程序在初始化时写入大多数 NV 项目、而在初始化之后仅在引导时读取这些项目。 有一个 NV 项目被写入的频率相对较高。
两个单元在写入其初始化值后被损坏、并在下一次启动时出现错误。 最后损坏的另一个单元正在运行每15分钟写入一个特定项目一次的测试。 为了重现闪存损坏,我设置了另一个测试单元连续写入同一个特定的 NV 项目,它写了数千次。 到目前为止、我还没有能够重现问题。
为清楚起见、我仅假设闪存最有可能损坏的时间是在写入操作期间。 我没有任何直接证据表明在写入操作中发生了损坏。
不管怎样,我试图理解什么可能导致这种腐败。 什么可能导致 NVOCMP 函数返回 NVINTF_ROPED?
虽然我通常不会怀疑硬件组件出现了这个问题、但值得注意的是、我们测试了相当长的时间、但我们有另一个基于 CC2652R 的设计、我从未在另一个设计上看到过损坏。 但是、我没有足够的单位来具有统计学显著性。
谢谢。
授予