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

CC2640 SBP_TASK_STACK_SIZE

Dear ALL:

         小弟最近在编写OAD模式工程实验时,发现若直接使用官网的配置

#ifndef SBP_TASK_STACK_SIZE

#define SBP_TASK_STACK_SIZE 644

#endif //SBP_TASK_STACK_SIZE

这个配置在使用PC软件 BLE Device Monitor 升级时是可以成功的,但是在手机端升级时无法成功,升级完毕后整个工程无法启动。

但是把此配置改成

#ifndef SBP_TASK_STACK_SIZE
#define SBP_TASK_STACK_SIZE 1500//644
#endif //SBP_TASK_STACK_SIZE

就都可以成功了,

不知道此线程堆栈是什么意思?怎么使用的?

void TTCBlePeripheralCreateTask(void){
Task_Params taskParams;
Task_Params_init(&taskParams);
taskParams.stack = sbpTaskStack;
taskParams.stackSize = SBP_TASK_STACK_SIZE;
taskParams.priority = SBP_TASK_PRIORITY;
Task_construct(&sbpTask, TTCBlePeripheralTaskFxn, &taskParams, NULL);
}

#define Task_construct ti_sysbios_knl_Task_construct

TI工程无法开源,不知道这段是处理了什么,麻烦TI员工协助给出个答复,或者各位大神们知道答案的谢谢告知。谢谢!

kqian0327:

你好,

SBP_TASK_STACK_SIZE是该任务的堆栈大小。

可能由于BLE DEVICE MONITOR发的数据块尺寸和手机端发的数据块尺寸不一致,后者比较大,导致该任务的堆栈不够用。

另外,TI的RTOS的本质和Free rtos一模一样。

赞(0)
未经允许不得转载:TI中文支持网 » CC2640 SBP_TASK_STACK_SIZE
分享到: 更多 (0)