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

CC2652 SDK3.1 蓝牙连接内存泄漏问题

大家好,

我们在使用CC2652R SDK中的蓝牙project zero 工程开发产品是,发现蓝牙每次连接会丢失12字节内存;

SDK版本:simplelink_cc13x2_26x2_sdk_3_10_00_53

project zero工程配置:

  • 配置为onchip ota
  • ble_release.cfg中配置HEAPMGR_CONFIG=0x80,ICall_malloc函数使用rtos_heaposal.h中内存分配函数
  • 链接文件修改为' $SRC_BLE_DIR$\common\cc26xx\iar\cc26xx_app_and_stack_agama_oad_onchip.icf '

我们通过调试发现,蓝牙连接时,连接过程中,应用层收到BLE_ADV_EVT消息,事件为GAP_EVT_ADV_END_AFTER_DISABLE,之后 llSendAdvSetTermEvent申请了8字节内存,不知有没有释放;

由于蓝牙底层打包成库函数,无法跟踪分析,请确认下,8字节内存在底层没有释放,还是传到应用层,应用层没有处理?

Kevin Qiu1:

升级到最新版本的SDK试试,HEAP是自动分配的,不需要修改

pab guo:

回复 Kevin Qiu1:

我们产品已经出货,无法修改SDK了,请确认我们使用的SDK有无泄漏

Kevin Qiu1:

回复 pab guo:

之前CC2652 SDK4.20中有内存泄漏的问题,SDK3.1没有收到反馈有内存泄露的问题
你可以使用HeapMgr调试是否有内存泄漏
参考e2e.ti.com/…/3035472

pab guo:

回复 Kevin Qiu1:

我们调试发现是有内存泄漏的,通过HeapMgr调试发现每次连接,都会有12字节泄漏,调试整个连接过程中的内存申请和释放,得到如下结论:
蓝牙连接时,连接过程中,应用层收到BLE_ADV_EVT消息,事件为GAP_EVT_ADV_END_AFTER_DISABLE,之后 llSendAdvSetTermEvent申请了8字节内存,不知有没有释放;

底层没有代码无法分析,还需要你们具体确认;

Kevin Qiu1:

回复 pab guo:

我会和Team确认,你可以先用最新的SDK测试是否正常

pab guo:

回复 Kevin Qiu1:

谢谢,麻烦尽快确认,这个问题很着急。
我们使用SDK4.1、SDK4.2测试,蓝牙连接,没有出现内存泄漏现象。对于已经出货的产品,更新SDK是一个巨大的改动,需要几个版本测试才能稳定。

Kevin Qiu1:

回复 pab guo:

已经联系Team了,美国那边正在放假,得到答复后我会立即回复你

user1600444:

回复 Kevin Qiu1:

请问CC2652 SDK4.2 中内存泄漏的问题, 是在哪个点, 目前我们的产品是用的SDK 4.2 的。

Kevin Qiu1:

回复 user1600444:

在Bond Manager中 e2e.ti.com/…/936393
在SDK4.30中已经修复了

Kevin Qiu1:

回复 user1600444:

确认SDK3.10是有内存泄漏,也已经在SDK4.30中修复,建议你使用SDK4.30

赞(0)
未经允许不得转载:TI中文支持网 » CC2652 SDK3.1 蓝牙连接内存泄漏问题
分享到: 更多 (0)