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

cc1310 sensor/collector VERSION 2.4 内存不足问题?

在sensor和collector正常通讯中

sensor打印 Auth Error: 0x", 1A

就会出现如何信息。sensor发送能够接收到ACK,无法接收到collector数据。

我查看运行之前的sensor的map文件, falsh和SRAM和FLASH_LAST都有剩余空间,基本都有0001000多的剩余。FLASH_LAST是00000fa8.

我在sensor中,没有malloc,只在里面定义了5个全局buf,大小在256.。

Alvin Chen:

你加大你的#define APP_TASK_STACK_SIZE 900试试,不行的话只能选择更大的13×2了。

user5322468:

回复 Alvin Chen:

我现在的#define APP_TASK_STACK_SIZE 900

我的sensor不是所有的都变成这个样子,34支跑了30个小时,五分钟一次数据交互,出现3支这种现象。
你说13×2只指13×2系列的片子吗?

Alvin Chen:

回复 user5322468:

你这种现象应该是有buf 没释放掉吧,导致内存不足,这个只能去自己看看程序了,设备是创建这个list发现内存不足,先加大一些APP_TASK_STACK_SIZE试试。

/* Put the parent in the security device list */stat = Jdllc_addSecDevice(parentInfo.devInfo.panID,parentInfo.devInfo.shortAddress,&parentInfo.devInfo.extAddress, 0);if(stat != ApiMac_status_success){Ssf_displayError("Auth Error: 0x", (uint8_t)stat);}

user5322468:

回复 Alvin Chen:

你说我内存没有释放,主要是我没有没有malloc, 我应用层都是全局BUF,在运行。我现在把APP_TASK_STACK_SIZE加大试试看。

user5322468:

回复 Alvin Chen:

是不是这样子的额,在内存不足的时候,sensor的table没有更新,发送数据的时候,目标地址是对的,collector,回复的时候,sensor的地址错了。如果是这个样子,collector应该是可以收到sensor的信息的,只是sensor无法收。

Alvin Chen:

回复 user5322468:

通常情况下是由于你的使用的空间太多,导致无法添加表。如果你使用默认的demo,大概可以加到50个左右设备。

user5322468:

回复 Alvin Chen:

demo里面有什么方法,比如在Ssf_displayError("Auth Error: 0x", (uint8_t)stat);我主动释放内存。然后在SysCtrlSystemReset?

而且这个内存不足,是MAC?如果是我应该如何释放内存?demo有释放内存的函数吗?

Alvin Chen:

回复 user5322468:

不建议你这么做,MAC不开放,建议你减小你的那个buf 应该有改善。

user5322468:

回复 Alvin Chen:

我刚刚遇见一起奇怪的问题。

我重启sensor,串口打印了
信标回调成功,然后扫描回调成功,panid正确,然后发送关联请求的回调缺失败,

我重烧代码就可以了。

赞(0)
未经允许不得转载:TI中文支持网 » cc1310 sensor/collector VERSION 2.4 内存不足问题?
分享到: 更多 (0)