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.

[参考译文] RTOS/CC2640:长时间扫描后的内存分配问题。

Guru**** 2563960 points


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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/567503/rtos-cc2640-memory-allocation-issue-after-long-time-scanning

器件型号:CC2640

工具/软件:TI-RTOS

将2640与 BLE 栈2.2.1搭配使用时、经过数小时的被动扫描后、我们发现 HEAPMGR_MEMLO 保持不变、但 HEAPMGR_MEMMAX 和 HEAPMGR_MEM2B 持续增加、直到达到 HEAPMGR_SIZE。 这将导致堆栈崩溃。  

根据 MemAlo 的值、我们可以看到我们仍然有足够的内存、并且所有分配的内存都已释放。 但是、无论 HeapSize 大小如何、MemUB 的值都会不断增加。

有人能不能对此有所了解?

提前感谢。

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

    您能否详细介绍您使用的示例应用? (simple_central? simple_observer?)

    在数小时的被动扫描之前、您是否最终对该示例进行了任何修改?

    IAR 或 CCS 以及您的开发平台(launchpad 或 em)?

    向我们提供您认为相关的任何其他详细信息、以便我们可以在我们身边重现此问题。

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

    @A.反叛分子

    我们使用 host_test 项目。

    当我们使用连续 扫描时、我们注意到了这一点  

    HEAPMGR_MEMMAX 和 HEAPMGR_MEM2B 持续增加、直到堆栈崩溃。

    我们使用的是 IAR。

    下面是一段代码:在我们开始扫描后、发现事件被发送:

    案例 GAP_DEVICE_DISCOVERING_EVENT:

          {

            gapDevDiscEvent_t * pPktt = (gapDevDiscEvent_t *) pMsg;

    #ifdef DISC_REPEARE_ENABLE

            if ( (pkt->hdr.status == Success) && (g_repeer_scanning!=  repee_scanning_none))

            {//重复 扫描

              GAP_DeviceDiscoveryRequest ( &discReq );        

            }