赞
踩
很多人遇到这个问题都会想到是不是堆栈不够,就会跑去加堆栈。
; Amount of memory (in bytes) allocated for Stack ; Tailor this value to your application needs ; <h> Stack Configuration ; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> ; </h> Stack_Size EQU 0x1000 AREA STACK, NOINIT, READWRITE, ALIGN=3 Stack_Mem SPACE Stack_Size __initial_sp ; <h> Heap Configuration ; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> ; </h> Heap_Size EQU 0x200
堆栈加得很大,但是然并卵,还是跑飞,还是进HardFault_Handler。其实UCOSII多任务要加的堆栈是给任务分配的任务堆栈空间。
//Ö÷ÈÎÎñ
//ÉèÖÃÈÎÎñÓÅÏȼ¶
#define MAIN_TASK_PRIO 4
//ÉèÖÃÈÎÎñ¶ÑÕ»´óС
#define MAIN_STK_SIZE 256
//ÈÎÎñ¶ÑÕ»
OS_STK MAIN_TASK_STK[MAIN_STK_SIZE];
//ÈÎÎñº¯Êý
void main_task(void *pdata);
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。