根据客户应用逻辑编写测试代码:上电启动广播->连接完成后启动不可连接广播->断开连接后启动可连接广播。
在用户应用逻辑上添加:启动不可连接广播后,在BleApp_AdvertisingCallback中调用循环调用MEM_BufferAlloc(4),直至MEM_BufferAlloc返回NULL。
使用nRF Connect测试,APP点击连接后可以扫描到设备的不可连接广播,但不能显示连接成功,不可连接广播一直维持,不会出现可连接广播,所以应用层没有收到断开连接事件,也无法再次连接。
测试结果和客户异常现象基本一致,在Memory Manager的内存耗尽时会协议栈底层会出现异常,建议客户检查MSG_Alloc、MEM_BufferAlloc、MEM_BufferAllocWithId等函数的使用情况。