主题中讨论的其他器件: CC1352P、 BLE-STACK
工具/软件:
尊敬的 TI 团队:
我正在开发基于 TI-RTOS 和 CC26xx 平台 (CC2652P) 的 BLE 应用、但我遇到了一个渐进的堆存储器泄漏、我一直使用 ROV 和 iCall_getHeapStats () 进行调试。
问题总结:
每 3–4 秒,我会观察到可用堆内存中有 24 字节的减少(通过 iCall_getHeapStats ())。
随着时间的推移,空闲堆稳步减少,永远不会回收。
一段时间后、系统崩溃、需要复位
️ ROV 中的观察结果:
这种情况会持续发生。
当我将任务堆栈大小从 1024 增加到 2048 时,系统无法启动(可能是由于 RAM 耗尽),这进一步指出了可能的内存泄漏。
我检查的内容:
对 iCall_malloc 和 GATT_BM_alloc 的所有调用都具有相应的 iCall_free 或 GATT_BM_free 调用(在我可以验证的范围内)。
我使用 iCall_getHeapStats () 来监视内存。 它确认堆以一致的 24 字节块泄漏。
还附加了运行时对象视图
环境:
芯片:[CC2652P ]
BLE SDK 版本:[5.10]
IDE:[CCS 5.10]
RTOS:TI-RTOS / SYS/BIOS
请求帮助:
关于什么原因可能导致 24 字节泄漏的任何想法?
可能导致这种情况的任何调试策略或 BLE 应用中的已知缺陷(例如,漏掉的 ATT 通知,事件结构等)?
提前感谢您!
此致、
Carlos。

