启动文件存在的目的就是构建可以供C语言代码运行的工作环境,且汇编语言是和CPU的指令集紧密相连,和硬件平台更接近,所以汇编为C准备运行环境是最合适的,汇编写的启动文件主要完成一下工作:
1)堆栈空间的定义;
2)初始化中断向量表;
3)复位中断函数(Reset_Handler){系统初始化,然后进入main函数};
4)中断函数的弱(WEAK)声明;
5)用户栈和堆初始化如传递参数时需要的栈空间初始化,动态分配内存时的堆初始化,一些初始化为0的变量空间的初始化;
如果这些没有配置好,无法达到C语言代码运行的工作环境,那么后面的C语言代码执行的结果就是不对的,也会导致总个系统无法工作,学习这部分主要明白其主要作了哪些工作,和相应的Arm/Thumb指令集中的某些指令,一般就可以了。
头文件在很多时候是提供一些基础环境的配置和 库调用函数的声明。
这里的汇编头文件主要作用是 基础运行环境配置。
主要是用文件来替换功能
这一部分是汇编代码,要通过学习汇编语法学习
功能是搭建C语言运行环境,完成初步的芯片初始化工作