本文以stm32f4为例,讲解stm32标准库工程中各个文件的作用,学艺不精,如有错误,望大家私信或评论指出。
先看思维导图
启动文件
startup_stm32f427xx.s
该文件是stm32的启动文件,由汇编语言编写,主要是做stm32上电时的配置设置(如堆栈指针,中断向量表,时钟数)并跳转到main函数中,执行c代码。
stm32从该文件开始执行,单独包含该文件时(使用寄存器编程时),需在外部文件声明两个函数分别是void SystemInit(void) 和 int main();是因为startup_stm32f4xx.s文件中调用了上述两个函数用来配置芯片时钟树,main()函数执行用户代码。
时钟配置文件
system_stm32f4xx.h 和 system_stm32f4xx.c
这俩文件主要用于stm32的时钟管理,该文件会根据不同的芯片,配置不同的内核时钟。