很多人遇到这个问题都会想到是不是堆栈不够,就会跑去加堆栈。
;
Amount of memory (in bytes) allocated for Stack
;
Tailor this value to your application needs
;
Stack Configuration
;
Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
;
Stack_SizeEQU0x1000AREASTACK, NOINIT, READWRITE, ALIGN=3
Stack_MemSPACEStack_Size
__initial_sp;
Heap Configuration
;
Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
;
Heap_SizeEQU0x200
【STM32应用|UCOSII 多任务中断跑飞HardFault_Handler】堆栈加得很大,但是然并卵,还是跑飞,还是进HardFault_Handler。其实UCOSII多任务要加的堆栈是给任务分配的任务堆栈空间。
//?֏???
//éè??è???ó??è??
#define MAIN_TASK_PRIO4
//éè??è???????′óD?
#define MAIN_STK_SIZE256
//è???????
OS_STK MAIN_TASK_STK[MAIN_STK_SIZE];
//è???oˉêy
void main_task(void *pdata);