STM32F407IG临时堆栈划分

今天调试STM32F407IG,发现编译器编译完成后占用RAM空间28K,但是在仿真的时候总是死或跳到内存错误的中断里死在那里。

后来发现是在某个函数中开辟的临时变量过大,导致内存溢出,将下面红色字体把堆栈的空间划分的大一些就好了。

startup_stm32f4xx.s

; 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_Size      EQU     0x00001400 ; 划分堆栈空间


                AREA    STACK, NOINIT, READWRITE, ALIGN=3
Stack_Mem       SPACE   Stack_Size
__initial_sp


; Heap Configuration
;     Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
;


Heap_Size       EQU     0x00000200

                AREA    HEAP, NOINIT, READWRITE, ALIGN=3
__heap_base
Heap_Mem        SPACE   Heap_Size
__heap_limit

你可能感兴趣的:(STM32)