;**
;* @brief 数据段
;*
AREA StackSpace, DATA ; 数据段定义栈空间StackSpace
STM32_MspBot SPACE 256 ; 从栈底开始开辟256字节作为栈空间
STM32_MspTop ; 空间到栈顶结束
下面文章讲的比较清晰的传统方式供对比参考:
1.写在前面
首先,你要知道STM32启动文件中启动流程,你就需要掌握一点汇编基础知识。
汇编语言属于机器语言,或者说低级语言,C语言属于高级语言,所以,汇编和C语言在语法上差异很大。
如果你学底层开发,汇编的一些基础知识需要掌握。不需要精通,但需要看懂常见的汇编代码。
2.说明
STM32的启动文件与编译器有关,不同编译器,它的启动文件不同。
虽然启动文件(汇编)代码各有不同,但它们原理类似,都属于汇编程序。
我们拿基于MDK-ARM的启动文件来举例,说一下要点内容。
3.分配堆栈
在基于MDK的启动文件开始,有一段汇编代码是分配堆栈大小的。