STM32学习:STM32固件库介绍

一、CMSIS标准介绍

CMSIS标准的英文全称是Cortex Microcontroller Software Interface Standard,翻译过来就是ARM Cortex微控制器软件接口标准。因为基于Cortex内核的芯片生产厂商有很多,不只是ST公司。为了解决不同厂家生产的Crotex芯片软件兼容问题,ARM公司和其他芯片厂商制定了这个CMSIS标准。

CMSIS标准的软件架构.png

基于CMSIS标准的软件架构主要分为以下4层:
用户应用层、操作系统及中间件接口层、CMSIS层、硬件寄存器层。

其中CMSIS层起着承上启下的作用:

  • 一方面该层对硬件寄存器层进行统一实现,屏蔽了不同厂商对Cortex-M系列微处理器核内外设寄存器的不同定义;
  • 另一方面又向上层的操作系统及中间件接口层和应用层提供接口,简化了应用程序开发难度,使开发人员能够在完全透明的情况下进行应用程序开发。

二、固件库内文件介绍

STM32F10xxx标准外设库体系结构.png
文件名 功能描述 具体功能说明
core_cm3.h、core_cm3.c Cortex-M3内核及其设备文件 访问Cortex-M3内核及其设备:NVIC,SysTick等;访问Cortex-M3的CPU寄存器和内核外设的函数
stm32f10x.h 微控制器专用头文件 这个文件包含了STM32F10x全系列所有外设寄存器的定义(寄存器的基地址和布局)、位定义、中断向量表、存储空间的地址映射等
system_stm32f10x.h、system_stm32f10x.c 微控制器专用系统文件 函数SystemInit,用来初始化微控制器;函数Sysem_ExtMemCtl,用来配置外部存储器控制器。它位于文件startup_stm32f10x_xx.s /.c,在跳转到main前调用SystemFrequncy,该值代表系统时钟频率。
startup_stm32f10x_Xd.s 编译器启动代码 微控制器专用的中断处理程序列表(与头文件一致);弱定义(Weak)的中断处理程序默认函数(可以被用户代码覆盖) 该文件是与编译器相关的。
stm32f10x_conf.h 固件库配置文件 通过更改包含的外设头文件来选择固件库所使用的外设,在新建程序和进行功能变更之前应当首先修改对应的配置。
stm32f10x_it.h、stm32f10x_it.c 外设中断函数文件 用户可以相应的加入自己的中断程序的代码,对于指向同一个中断向量的多个不同中断请求,用户可以通过判断外设的中断标志位来确定准确的中断源,执行相应的中断服务函数。
stm32f10x_ppp.h、stm32f10x_ppp.c 外设驱动函数文件 包括了相关外设的初始化配置和部分功能应用函数,这部分是进行编程功能实现的重要组成部分。
Application.c 用户文件 用户程序文件,通过标准外设库提供的接口进行相应的外设配置和功能设计。

三、参考文档

  • STM32固件库详解

你可能感兴趣的:(STM32学习:STM32固件库介绍)