UCOSII 多任务中断跑飞HardFault_Handler

很多人遇到这个问题都会想到是不是堆栈不够,就会跑去加堆栈。

; 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); 

你可能感兴趣的:(STM32应用,debug留档)