天天看点

stm32的启动文件

Libraries\CMSIS\Core\CM3\startup\arm文件夹下是由汇编编写的系统启动文件,不同的文件对应不同的芯片型号。

cl:互联型产品,stm32f105/107系列 

vl:超值型产品,stm32f100系列 

xl:超高密度(容量)产品,stm32f101/103系列 

ld:低密度产品,FLASH小于64K md:中等密度产品,FLASH=64 or 128 

hd:高密度产品,FLASH大于128

启动文件是任何处理器在上点复位之后最先运行的一段汇编程序。在我们编写的c语言代码运行之前,需要由汇编为c语言的运行建立一个合适的环境,接下来才能运行我们的程序。所以我们也要把启动文件添加进我们的的工程中去。

启动文件的作用是:

1. 初始化堆栈指针SP;

2. 初始化程序计数器指针PC;

3. 设置堆、栈的大小;

4. 设置异常向量表的入口地址;

5. 配置外部SRAM作为数据存储器(这个由用户配置,一般的开发板可没有外部SRAM);

6. 设置C库的分支入口__main(最终用来调用main函数);

7. 在3.5版的启动文件还调用了在system_stm32f10x.c文件中的SystemIni() 函数配置系统时钟,在旧版本的工程中要用户进入main函数自己调用SystemIni() 函数。

继续阅读