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

CC2640每个task的stacksize大小设置问题

请问CC2640中每个task的stacksize大小的最大值在哪里修改?

我有一个task线程,使用CCS进行debug时,通过ROV可以看到该task的stackpeak最大值在1100左右,但是我将task的steaksize设置超过1024芯片会出现某些功能不正常的情况。(比如串口打印过长数据会导致死机)

从网上找资料,看到修改SDK中source\ti\ble5stack\common\cc26xx\kernel\cc2640\config\cc2640_fpga.cfg文件中的以下内容可以修改stacksize的最大值,但是修改后发现没有作用。

请问如何可以修改每个task的stacksize的默认最大值?

Viki Shi:

可以用#define SBP_TASK_STACK_SIZE修改,另外关于堆栈大小的问题,建议参考下这里: processors.wiki.ti.com/…/Stack_and_Heap_size_requirements

user4961268:

回复 Viki Shi:

hi Viki,我使用的是multi_role工程,使用#define MR_TASK_STACK_SIZE 来修改了大小,但是没有效果。错误表现为当MR_TASK_STACK_SIZE设置大于1024时,主设备无法正确链接从设备,无法发现从设备服务,从机运行无法notify,串口打印大数据正常。设置MR_TASK_STACK_SIZE小于等于MR_TASK_STACK_SIZE时,设备连接等正常,但是当串口打印大量数据时会出现卡死情况。刚刚根据ViKi你给的文档修改了工程配置中Basic Options中的Set C system stack size的大小(默认值256,修改为512),还是有错误,请问如此修改是否正确?能否帮忙分析下出现以上错误是什么问题?谢谢!

user4961268:

有人知道是什么原因吗?

赞(0)
未经允许不得转载:TI中文支持网 » CC2640每个task的stacksize大小设置问题
分享到: 更多 (0)