为了针对不同芯片厂商都采用Cortex系列芯片相同的内核却采用不同的软件架构,所以ARM与芯片厂商建立了CMSIS标准(Cortex MicroController Software Interface Standard)
而STM32标准库,其架构如上,就是按照CMSIS标准建立的
STM32标准库文件主要分为两种内核相关文件和外设相关文件
内核相关文件:
core_cm3.c:操作内核外设的函数库文件,使用较少
core_cm3.h:内核外设的寄存器映射
重要文件:
stdint.h:提供类型定义的头文件
stm32f10x.h:片上外设的寄存器映射
system_stm32f10x.c:片上RCC外设的函数库文件,用来进行STM32芯片上电后初始化系统时钟和扩展外部存储器用的函数,如SystemInit()函数,主要是来配置SYSCLK时钟,stm32f10x_rcc.c和system_stm32f10x.c的区别在于stm32f10x_rcc.c是用来配置AHB,APB1,APB2总线的
stm32f10x_it.c:专门用来编写中断服务函数,该文件已经定义了NVIC对应的系统异常和外部中断的接口,我们只需要向其中自己添加判断操作内容即可
stm32f10x_conf.h:若用到多个外设,需要多次书写包含多个外设的头文件,那么既麻烦也不美观,所以将所有外设的头文件都包含到这个stm32f10x_conf.h头文件中,所以仅仅包含该头文件便可一次性包含多个外设的头文件了