STM32-启动文件
- ■ STM32-启动文件
- ■ STM32-启动文件主要做了以下工作:
- ■ STM32-启动文件指令
- ■ STM32-启动文件代码详解
- ■ 栈空间的开辟
- ■
- ■
- ■
- ■
- ■
- ■
- ■
- ■
■ STM32-启动文件
STM32 启动文件由 ST 官方提供
启动文件由汇编编写,是系统上电复位后第一个执行的程序。
■ STM32-启动文件主要做了以下工作:
1、初始化堆栈指针 SP = _initial_sp
2、初始化程序计数器指针 PC = Reset_Handler
3、设置堆和栈的大小
4、初始化中断向量表
5、配置外部 SRAM 作为数据存储器(可选)
6、配置系统时钟,通过调用 SystemInit 函数(可选)
7、调用 C 库中的 _main 函数初始化用户堆栈,最终调用 main 函数
■ STM32-启动文件指令
关于其他更多的 ARM 汇编,我们可以通过 MDK 的索引搜索工具中搜索找到。打开索引搜索工具的方法:
MDK->Help->uVision Help,
■ STM32-启动文件代码详解
例如:startup_stm32f103xe.s 把启动代码分成几个功能段进行详细的讲解
■ 栈空间的开辟
33 行 EQU:宏定义的伪指令, 给数字常量取一个符号名, 类似与 C 中的 define。 定义栈大小为 0x00000400 字节,即 1024B(1KB),常量的符号是 Stack_Size。