最近在看GCC下的STM32F103的启动文件,来源是YAGARTO官网提供的例程,
里面有一个初始化stack和heap的汇编,不理解其中的用意,能帮忙解释下吗:
.section .stack
.align 3
#ifdef __STACK_SIZE
.equ Stack_Size, __STACK_SIZE
#else
.equ Stack_Size, 0xc00
#endif
.globl __StackTop
.globl __StackLimit
__StackLimit:
.space Stack_Size
.size __StackLimit, . - __StackLimit
__StackTop:
.size __StackTop, . - __StackTop
/////////////////////////////////////////////
.section .heap
.align 3
#ifdef __HEAP_SIZE
.equ Heap_Size, __HEAP_SIZE
#else
.equ Heap_Size, 0x800
#endif
.globl __HeapBase
.globl __HeapLimit
__HeapBase:
.space Heap_Size
.size __HeapBase, . - __HeapBase
__HeapLimit:
.size __HeapLimit, . - __HeapLimit
主要是对__StackLimit,__StackTop,__HeapBase,__HeapLimit的定义是做什么用的呢?
先谢过了! |