TI中文支持网
TI专业的中文技术问题搜集分享网站

Z-Stack 3.0.2 开启内存检测功能后设备会偶尔卡死。

协议栈:Z-Stack 3.0.2

协调器:CC2538

问题描述:

添加宏定义 “OSALMEM_PROFILER=TRUE” 和 “OSALMEM_METRICS” 开启 CC2538 协议栈运行时内存检测的功能后设备偶尔会卡死,其中在有子节点入网时会卡死的很频繁,请问可能是什么原因造成的呢?

Alvin Chen:

这个应该与你开启内存检测关系不大,你是否有大量使用RAM类似于字符串。你先参考下面打上第一个补丁试试。
processors.wiki.ti.com/…/Zigbee_Known_Issues_and_Proposed_Fixes

OSALMEM_METRICS=TRUE 是可以提示你的heap的大小
OSALMEM_PROFILER=TRUE 可以知道伟分配的memory的的大小。

Jesse Huang:

回复 Alvin Chen:

“你是否有大量使用RAM类似于字符串。”这个是什么意思?会造成什么影响吗?

Alvin Chen:

回复 Jesse Huang:

你是否打了补丁?

Jesse Huang:

回复 Alvin Chen:

是的,这个是 3.0.1 的补丁,我升到 3.0.2 的时候特意去看了下,已经自动补好了的。

Alvin Chen:

回复 Jesse Huang:

看起来应该是内存泄漏的之类的问题,建议你自己检查一下吧,这个只能去捋一下程序了。

user5798117:

回复 Alvin Chen:

>> 其中在有子节点入网时会卡死的很频繁,请问可能是什么原因造成的呢?

我也发现过类似问题,平时网络正常。当打开组网后,设备入网后,协调器就很容易卡死。 对3.0.2程序,不做任何改动,也是这样。

注意到这一点:我觉得有子节点入网时,内部处理机制可能有些复杂,说不定有些问题。

不知道是否有入网文档, 看bdb吗?

Jesse Huang:

回复 user5798117:

我平时不会卡死啊,只有开启 “OSALMEM_PROFILER=TRUE” 和 “OSALMEM_METRICS”才会。

YiKai Chen:

回复 user5798117:

參考文档 www.ti.com/…/swra615.pdf

Jesse Huang:

回复 Alvin Chen:

我查过的,我申请的内存都在当个函数中释放的。应该不是内存泄漏的问题。

赞(0)
未经允许不得转载:TI中文支持网 » Z-Stack 3.0.2 开启内存检测功能后设备会偶尔卡死。
分享到: 更多 (0)