TI中文支持网
TI专业的中文技术问题咨询交流网站

CC2530 传输多个参数时当机问题

 我的ZStack3.0的SampleDoorLock EndDeviceEB,-DRFD_RCVC_ALWAYS_ON=FALSE,-DPOLL_RATE=5000,xNV_INIT、NV_RESTORE、xPOWER_SAVING,HAL_UART_BR_115200。
        1.在使用Write Attributes Undivided Cmd命令写入多个Attribute参数时就会在调用zclProcessInWriteUndividedCmd函数处理时当掉,不再发送data request等,复现率基本为100%,复位后又能正常工作。我通过断点调试发现是程序卡死在zcl_SendWriteRsp函数中的zcl_mem_alloc函数。我在OnBoard.h文件中将IN_HEAP_LEN 2048修改IN_HEAP_LEN 3072,但问题还是无法解决,同时我在OSAL_Memory.h使用#define OSALMEM_METRICS TRUE然后每500ms打印一次osal_heap_block_max()、osal_heap_block_cnt()、osal_heap_block_free()、osal_heap_mem_used()的值,分别基本上是63、54、17、703左右,我想请问下这个问题可能的原因是什么?
我使用Write Attributes Undivided Cmd写入单个Attribute参数时又基本正常,没有发现当掉的现象。
        2.在应用开发过程中,经常需要使用一些结构体参数,如zclClosures_SendDoorLockOperationEventNotification函数的zclDoorLockOperationEventNotification_t *pPayload参数等,我想咨询的是:
        a.定义一个合适大小数组由系统自动分配空间;
        b.定义指针采用zcl_mem_alloc和zcl_mem_free主动管理空间;
        这两种方式优先使用哪种方案呢?

Karl Deng:

没有人遇到过这样的问题么?

赞(0)
未经允许不得转载:TI中文支持网 » CC2530 传输多个参数时当机问题
分享到: 更多 (0)