//IAP任务
OSTaskCreate((OS_TCB *)&AppTaskIapTCB,
(CPU_CHAR *)"Iap_Update_Task",
(OS_TASK_PTR ) Iap_Update_Task,
(void *) 0,
(OS_PRIO ) APP_TASK_IAP_PRIO,
(CPU_STK *)&AppTaskIapStk[0],
(CPU_STK_SIZE) APP_TASK_IAP_STK_SIZE / 10,
(CPU_STK_SIZE) APP_TASK_IAP_STK_SIZE,
(OS_MSG_QTY ) 50u,
(OS_TICK ) 0u,
(void *) 0,
(OS_OPT )(OS_OPT_TASK_STK_CHK | OS_OPT_TASK_STK_CLR),
(OS_ERR *)&err);
OSTaskDel ( & AppTaskStartTCB, & err );
上面代码的APP_TASK_IAP_STK_SIZE 设置为256,在下面代码的APP_TASK_LED_STK_SIZE设置为128
static CPU_STK AppTaskIapStk[APP_TASK_LED_STK_SIZE];
结果整个UCOS运行不起来,删掉该任务创建函数UCOS运行正常,这是为什么?堆栈数组的定义的尺寸大小要和任务创建时候设置的任务堆栈空间大小一样吗? |
|