Keil的stm32工程中一些文件的作用

stm32工程中有一堆文件如下:

Keil的stm32工程中一些文件的作用_第1张图片

Keil的stm32工程中一些文件的作用_第2张图片 

Keil的stm32工程中一些文件的作用_第3张图片 

一直没搞明白他们的作用,现整理如下:

       从start文件夹开始,第一个文件startup_stm32f10x_md.s,这是启动文件,是用汇编语言编写的,里面定义了中断向量表,中断服务函数,单片机的堆栈大小等,中断服务函数里有个复位中断,这就是整个stm32程序的入口,当stm32上电复位或者按下复位键后,程序就会进入复位函数执行,复位中断函数里就做了两件事情,第一个是调用systemInit函数(用来配置时钟树的),第二个就是调用main函数。

Keil的stm32工程中一些文件的作用_第4张图片

 core_cm3.c和core_cm3.h是与内核有关的文件,core_cm3.c 里是内核的配置函数,core_cm3.h是内核寄存器的描述文件,用来描述有哪些寄存器和他对应的地址

stm32f10x.h文件是stm32芯片外设的寄存器描述文件,用来描述有哪些寄存器和相对应的地址。注意一个stm32芯片里面可以分为两个部分,一个是arm公司设计的内核部分,还有就是ST公司设计的外围电路(可以理解为内核的外设),ST公司将他们封装起来做成了stm32芯片。

system_stm32f10x.c和system_stm32f10x.h文件是用来配置时钟的,stm32的主频72mhz就是这两个文件里的函数配置的,即systemInit函数。

libaray目录下的misc文件是内核的库函数,里面主要是关于内核外设NVIC和systick的库函数,其他的就是内核外的外设库函数,比如rcc,gpio等等。

Users目录下的:两个it文件是用来存放中断函数的stm32f10x_conf.h是用来配置库函数头文件的包含关系的,使用这个文件是需要配置相关的宏,在魔术棒按钮->c/c++中的define里添加USE_STDPERIPH_DRIVER

用一张表格和一个图片总结:

startup_stm32f10x_md.s 启动文件
core_cm3.c 内核的配置函数
core_cm3.h 内核寄存器的描述文件,用来描述有哪些寄存器和他对应的地址
stm32f10x.h stm32芯片外设的寄存器描述文件,用来描述有哪些寄存器和相对应的地址

system_stm32f10x.c

system_stm32f10x.h

配置时钟的,stm32的主频72mhz就是这两个文件里的函数配置的
library目录下的misc文件 内核外设NVIC和systick的库函数
library目录下的其他文件 内核外的外设库函数,比如RCC,GPIO,TIM,ADC等等

stm32f10x_it.c

stm32f10x_it.h

用来存放中断函数
stm32f10x_conf.h 配置库函数头文件的包含关系

Keil的stm32工程中一些文件的作用_第5张图片

 

你可能感兴趣的:(单片机,stm32,单片机,嵌入式硬件)