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

CC2530 zstack 2.5.1.a 协调者通过一些裁剪,给theHeap留了4000字节,但是无法memalloc

1、最初缓存终端设备的数组 存的内容都是固定长度数组,此时INIT_HEAP_LEN=1000这时候协议栈是正常工作的。后来发现无法扩展我更多的业务需求,heap改为700时终端已经搜不到这个协调者了。

2、于是将以上数组中的固定长的数组改成指针型,现用现分配,同时通过缩减dmaUart的缓冲区大小、以及NWK_MAX_DEVICE_LIST,省出来很多空间

3、看XDATA是有4000多剩余,预编译选项设置INT_HEAP_LEN=4100

4、烧录运行后,终端设备无法发现该协调者,调试发现osal_mem_alloc无法分配空间,包括底层为message的分配,和我业务用到的分配。

已经困扰好多天了,求各位专家支支招,多谢了

Viki Shi:

我觉得是你的内存分配不太合理,有一个帖子讲得比较详细,建议看一下:
bbs.elecfans.com/jishu_579573_1_1.html

赞(0)
未经允许不得转载:TI中文支持网 » CC2530 zstack 2.5.1.a 协调者通过一些裁剪,给theHeap留了4000字节,但是无法memalloc
分享到: 更多 (0)