本文主讲ST官方提供的STM32F4固件库V1.4版本的结构
如需要V1.4版本固件库,可在博主的资源中下载(如果您没有积分购买,请私信我)
本文总结于:北京航空大学出版社 精通STM32F4库函数版

主要内容:
一.文件夹介绍
1.1 Libraries文件夹
1.2 Project文件夹
1.3 Utlities文件夹

二.关键文件介绍
2.1 core_cm4.h文件
2.2 stm32f4xx.h和system_stm32f4xx.h文件
2.3 stm32f4xx_it.c、stm32f4xx_it.h以及 stm32f4xx_conf.h文件
2.4 misc.c、misc.h、stm32f4xx_ppp.c、stm32f4xx_ppp.h、stm32f4xx_rcc.c和 stm32f4xx_rcc.h文件
2.5 Application文件
2.6 启动文件

一.文件夹介绍

1.1 Libraries文件夹

1.Libraries文件夹下有CMSIS和STM32F4xx_StdPeriph_Driver两个目录,包含固件库核心的所有子文件和文件。


CMSIS文件夹存放的是符合CMSIS规范的一些文件,包括STM32F4核内外设访问层代码、DSP软件库、RTOS API以及STM32F4片上外设访问层代码等。
注:新建工程时会从这个文件夹复制一些文件到工程中

STM32F4xx_Stdperiph_Driver文件夹存放的时STM32F4标准外设固件库源码文件和对应的头文件。其内又分inc和src文件

inc文件夹存放的是stm32f4xx_ppp.h头文件,无需改动。
src文件夹下存放的是stm32f4xx_ppp.c格式的固件库源码文件。每一个.c文件都对应一个.h文件,这里的文件也是固件库外设的关键文件,每个外设对应一组文件。
注:Libraries文件夹里面的文件在我们建立工程的时候都会用到

1.2 Project文件夹

Project文件夹里面的文件下面有两个文件夹


顾名思义STM32F4xx_Stdperiph_Examples文件夹下存放的是ST官方提供的固件实例源码,在开发过程中可以参考修改这个官方提供的实例来快速驱动自己的外设,很多开发板的实例都参考了这个官方提供的历程源码,这些源码对以后学习非常重要。
STM32F4xx_Stdperiph_Templates文件夹下存放的是工程模板

1.3 Utlities文件夹

Utlities文件下存放的是官方评估板的一些对应源码,可以忽略不看,学习过程中较少接触。

根目录中还有两个文档,只可惜是英文的,如果看得懂的话会非常有用,工程师们在开发过程中会经常用到。

二.关键文件介绍

2.1 core_cm4.h文件

core_cm4.h位于STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Libraries
CMSIS\Include文件夹下,是CMSIS核心文件,提供进入Cortex-M4
内核接口。所有Cortex-M4内核芯片通用,永远不需要修改.

2.2 stm32f4xx.h和system_stm32f4xx.h文件

stm32f4xx.h和system_stm32f4xx.h文件存放在STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Libraries
CMSIS\Device\ST\STM32F4xx\Include文件夹下

stm32f4xx.h文件是片上外设访问层头文件。这个文件相当重要,只要做STM32F4开发,几乎时刻都要查看这个文件相关的定义,打开可以看到俩面有非常之多的结构体和宏定义。里面主要是系统寄存器定义申明以及包装内存操作,同时该文件还包含了一些时钟相关的定义、FPU和MPU单元开启定义、中断相关定义等
stm32f4xx.h文件

system_stm32f4xx.h文件是片上外设接入层系统头文件,主要是申明设置系统及总线时钟相关的函数,这里面有一个非常重要的SystemInit()函数申明,这个函数在我们系统启动的时候都会调用,用来设置系统的整个系统和总线时钟。

2.3 stm32f4xx_it.c、stm32f4xx_it.h以及 stm32f4xx_conf.h文件

stm32f4xx_it.c、stm32f4xx_it.h以及stm32f4xx
_conf.h文件可以从STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Project\STM32F4xx_Stdperiph_Templates文件夹中找到,新建工程时会用到。

stm32f4xx_it.c、stm32f4xx_it.h时用来编写中断服务函数,中断服务函数也可以随意编写在任意一个文件中。
stm32f4xx_conf.h时外设驱动配置文件,打开可以看到很多#include,这里用于建设工程时可以注释掉不用的外设头文件

2.4 misc.c、misc.h、stm32f4xx_ppp.c、stm32f4xx_ppp.h、stm32f4xx_rcc.c和stm32f4xx_rcc.h文件

misc.c、misc.h、stm32f4xx_ppp.c、stm32f4xx_ppp.h、stm32f4xx_rcc.c和stm32f4xx_rcc.h文件存放在Libraries\STM32F4xx_StdPeriph_Driver的两个文件夹下,这些文件时标准的外设库文件。
misc.c和misc.h是定义中断优先级分组以及Systick定时器相关的函数。
stm32f4xx_ppp.c、stm32f4xx_ppp.h是stm32F4标准外设固件库对应的源文件和头文件,包括一些常用外设GPIO、ADC、USART等
stm32f4xx_rcc.c和stm32f4xx_rcc.h时与RCC相关的一些操作函数,作用主要是一些时钟的配置和性能,在任何一个STM32工程,RCC相关的源文件和头文件都是必须添加的。

2.5 Application文件

文件Application实际就是应用层代码,这个文件名可任意取,工程直接取名为main.c

2.6 启动文件

最后,一个完整的STM32F4工程除了以上所述文件,还需要关键的启动文件,不同的STM32F4对应的启动文件是不一样的,博主学习选择的开发板是STM32F407系列,所以选择的启动文件为startup_stm32f40_41xxx.s,启动文件的非常重要的一个作用就是系统复位后引导进入main函数,同时回调用SystemInit系统初始化函数。

官方固件库V1.4版本介绍相关推荐

  1. STM32官方固件库

    1 基于标准外设库的软件开发 1.1 STM32标准外设库概述 STM32标准外设库之前的版本也称固件函数库或简称固件库,是一个固件函数包,它由程序.数据结构和宏组成,包括了微控制器所有外设的性能特征 ...

  2. STM32官方固件库代码解读--GPIO

    最近闲得无聊,又把 stm32 拿了出来.之前学的时候是看的库函数版本,现在和寄存器版本的一起看感觉比一开始接触的时候看得顺畅多了,详细了解了底层寄存器的功能.之前用 stm32 只是调用函数,看了寄 ...

  3. STM32固件库的安装与介绍

    文章目录 一.固件库介绍 二.固件库安装 三.keil4新建工程 四.初始化配置值 杨桃32学习笔记,本文图片文字皆为转述 一.固件库介绍 (1)功能配置寄存器:专门用来做软件和硬件之间的连接,就是多 ...

  4. STM32如何下载官方固件库

    ST官网拥有好多权威的资料库和例程固件库.在ST官网获取stm32f103c8t6标准例程固件库 1)登陆ST官网 官网参考网页 2)点击右上角登陆或者注册 3)当登陆成功时,点击Products-& ...

  5. 【STM32】获取STM32官方固件库

    以STM32F103ZET6为例: 第一步:进入ST官网  http://www.st.com/content/st_com/en.html 第二步:搜索需要下载固件库芯片型号,例如: 第三步:找到对 ...

  6. STM32F103读取富思i6(i-bus)协议,基于固件库开发的版本(V3.5)

    实验准备 i-bus接收机一个,富思i6遥控器(其他也行),我使用的是STM32F103系类的单片机,使用了中断,串口,0.96的OLED(IIC协议),PA12 - SCL,PA11 - SDA.使 ...

  7. STMF4x 固件库V1.25.0

    https://www.st.com/en/embedded-software/stm32cubef4.html

  8. STM32F103构建固件库模板(PS固件库文件树介绍)

    参考:STM32F103ZE新建固件库模板 作者:追兮兮 发布时间:2020-10-14 10:31:45 网址:https://blog.csdn.net/weixin_44234294/artic ...

  9. 【STM32】新建基于STM32F40x 固件库的MDK5 工程

    00. 目录 文章目录 00. 目录 01. 前提条件 02. 创建工程步骤 03. 系统时钟配置 04. 添加其他功能函数 05. 附录 06. 声明 01. 前提条件 1.1 官方标准固件库 文件 ...

  10. 1、新建基于标准固件库MDK5工程模板(STM32F103ZET6)

    新建基于标准固件库MDK5工程模板 1.STM32官方库文件夹介绍 如上图,是ST官方提供的STM32标准固件库的文件包结构: STM32官方固件库下载地址: "https://www.st ...

最新文章

  1. 计算机网络或计算机基础知识点滴1
  2. 手动删除SVCH0ST.EXE的方法
  3. ios 中的小技巧 - 总有你想要的 一
  4. 创智播客微服务_【传智播客】JavaEE在职加薪课
  5. 最大流之最长递增子序列问题
  6. abaqus pythonreader_【技术邻】Abaqus里应用Python的一些技巧
  7. 【九章算法免费讲座第一期】转专业找CS工作的“打狗棒法”
  8. mini2440-Openwrt启动信息
  9. erlang 编译 安装
  10. 列表ls按照升序排列的python内置函数是_Python习题集
  11. 基于微信小程序的用户列表点赞功能
  12. c语言z基本数据类型文档,C语言基本数据类型
  13. 老年人、色弱者和爱操心的妈妈:视频平台技术升级的新战场
  14. python安装不了whl文件_python安装.whl文件失败
  15. depmod 生成 modules.dep
  16. Android动态更换图标
  17. autojs的使用文档
  18. SpringCloud禁用Eureka自我保护模式
  19. 借助栈将一个带头节点的单链表倒置
  20. 卡壳卡壳(是读qia)

热门文章

  1. 【js】js获取今日和昨日0点和23点59分59秒
  2. 移动硬盘插入提示需要格式化RAW_移动硬盘数据恢复 – 图文教程
  3. Python-[jieba库应用]-统计水浒传中人物出现次数
  4. 计算机一级证件照尺寸,照相馆不会告诉你的哪些事:常用证件照尺寸汇总
  5. Vue实现图片放大镜效果
  6. Oblog 4.5-4.6 accessmssql getshell 0day
  7. Django发送电子邮件
  8. 登录邮箱用哪个好,好用的登录邮箱推荐
  9. Ngnix 搭建视频直播服务器
  10. 魔兽世界不显示服务器后缀,魔兽世界看不到世界频道?给你看到的方法