主要针对一些使用较多、但本人并不十分清楚其作用的stm32官方.c/.h文件进行系统的梳理。贴上官网标准库下载地址(操作如下图),或是直接下载这个附件。
目录
简介
首先要搞清楚文件之间的关系。上图。

打开固件库文件。Libraries 文件夹下面有CMSIS和 STM32F1xx_StdPeriph_Driver 两个目录,这两个目录包含固件库核心的所有子文件夹和文件。
Libraries
1)CMSIS存放的是符合CMSIS规范的文件。包括STM32F1核内外设访问层代码,DSP 软件库,RTOS API,以及 STM32F1 片上外设访问层代码等。
2)STM32F1xx_StdPeriph_Driver放的是 STM32F1 标准外设固件库源码文件和对应的头文件。inc 目录存放的是 stm32f1xx_ppp.h 头文件,无需改动。src 目录下面放的是 stm32f1xx_ppp.c 格式的固件库源码文件。每一个.c 文件和一个相应的.h 文件对应,每个外设对应一组文件。
***Project ***
1)STM32F1xx_StdPeriph_Examples 文件夹下面存放的的 ST 官方提供的固件实例源码,日后开发可修改这个官方提供的实例来快速驱动自己的外设。
2)STM32F1xx_StdPeriph_Template 文件夹下面存放的是工程模板。
Utilities
存放官方评估板的对应源码。
CMSIS共三层:核内外设访问层Core Peripheral Access Layer(CPAL),中间件访问层Middleware Access Layer(MWAL),设备访问层Device Peripheral Access Layer(DPAL)。
CPAL用于访问内核的寄存器和组件,如NVIC,调试系统等。
MWAL用于对中间件的访问。
DPAL用于定义一些硬件寄存器的地址和一些外设访问函数。由芯片制造商实现。
CPAL层的实现——Core_cm3.c文件,DPAL层的实现——system_stm32f10x.c文件
STM32全部的标准外设名称如下表所示。
工程目录
比较喜欢这样建工程
1、STARTUP----启动文件
startup_stm32f10x_hd.s
2、CMSIS------CMSIS标准文件
core_cm3.h 内核功能定义
system_stm32f1xx.c 系统,c文件
system_stm32f1xx.h 系统.h文件
stm32f10x.h 头文件
3、FWLIB------库文件
misc

本文详细介绍了STM32官方标准库的组织结构和关键文件,包括startup_stm32f10x_hd.s、system_stm32f10x.c/h、stm32f10x_conf.h、stm32f10x_it.c/h等,阐述了它们在系统启动、时钟配置、中断处理和外设驱动中的作用。同时,梳理了CMSIS和STM32F1xx_StdPeriph_Driver两个目录的内容,帮助理解STM32固件库的工作原理。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



