STM32 官方标准固件库简介

这篇博客介绍了STM32官方标准固件库的关键文件,包括core_cm4.h(CMSIS核心文件)、system_stm32f4xx.h(系统及总线时钟配置)、stm32f4xx.h(片上外设及寄存器定义)、stm32f4xx_it.c/h(中断服务函数)、stm32f4xx_conf.h(外设驱动配置)、misc.c/h(中断优先级和Systick定时器)、stm32f4xx_rcc.c/h(RCC时钟配置)以及应用层代码如main.c。此外,还提及了FPU和MPU的功能。
摘要由CSDN通过智能技术生成

关键文件

 

 

 

core_cm4.h 文件位于\STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Libraries\CMSIS\Include 目录下面的,这个就是 CMSIS 核心文件,提供进入 M4 内核接口,这是 ARM 公司提供,对所有CM4 内核的芯片都一样,你永远都不需要修改这个文件。

system_stm32f4xx.h 是片上外设接入层系统头文件。主要是申明设置系统及总线时钟相关的函数。

stm32f4xx.h 是 STM32F4 片上外设访问层头文件。这个文件里面主要是系统寄存器定义申明以及包装内存操作。该文件还包含了一些时钟相关的定义,FPU 和 MPU 单元开启定义,中断相关定义等等。

 

补充FPU(Float Point Unit,浮点运算单元)FPU是专用于浮点运算的处理器,以前的FPU是一种单独芯片,在486之后,英特尔把FPU集成在CPU之内。

MPU (微处理器)。MPU有两种意思,微处理器和内存保护单元。MPU是单一的一颗芯片,而芯片组则由一组芯片所构成,早期甚至多达78颗,但目前大多合并成2颗,一般称作北桥(North Bridge)芯片和南桥(South Bridge)芯片。MPU是计算机的计算、判断或控制中心,有人称它为计算机的心脏

 

stm32f4xx_it.c stm32f4xx_it.h 里面是用来编写中断服务函数,中断服务函数也可以随意编写在工程里面的任意一个文件里面。

stm32f4xx_conf.h 是外设驱动配置文件。文件打开可以看到一堆的#include,这里你建立工程的时候,可以注释掉一些你不用的外设头文件。

 misc.c misc.h 是定义中断优先级分组以及 Systick 定时器相关的函数。

stm32f3xx_rcc.c stm32f4xx_rcc.h 是与 RCC(RCC是时钟配置寄存器,) 相关的一些操作函数,作用主要是一些时钟的配置和使能。在任何一个 STM32 工程 RCC 相关的源文件和头文件是必须添加的。

文件 stm32f4xx_ppp.c stm32f4xx_ppp.h,是 stm32F4 标准外设固件库对应的源文件和头文件。包括一些常用外设 GPIO,ADC,USART 等。

文件 Application.c 实际就是说是应用层代码。这个文件名称可以任意取了。我们工程中,直接取名为 main.c。

启动文件主要是进行堆栈之类的初始化,中断向量表以及中断函数定义。启动文件要引导进入main 函数。Reset_Handler 中断函数是唯一实现了的中断处理函数,其他的中断函数基本都是死循环。

 

 

Version: 2.5.0 (2020-10-21) Keil.STM32L4xx_DFP.2.5.0.pack Updated Pack to STM32Cube_FW_L4 Firmware Package version V1.16.0 using HAL Drivers V1.12.0 Package Description (pdsc): Added global define USE_HAL_DRIVER to the component ::Device:STM32Cube HAL:Common. Device support: Aligned devices with CubeMX DB. CMSIS Flash Algorithm: Removed targets (STM32L4xx_512, STM32L4xx_256) from STM32L4Rx Flash Algorithm project. Added source code for: STM32L476G-Disco QSPI, STM32L4P5G-DK OSPI, STM32L4P5G-DK PSRAM STM32L4R9I-DK PSRAM, STM32L4R9I-DK OSPI1 and STM32L4R9I-EVAL OSPI. Added PSRAM external Loader support for STM32L4R9I-Disco. Fixed STM32L4P5 1M internal flash Loader sector erase with DBANK mode. Fixed STM32L4xx 512K and 128K internal flash Loader sector erase. CMSIS-Driver: MCI: Replaced empty delay loops with _NOP(). Added handling for separate SD and MMC HAL layers. Added busy signal handling after CMDREND interrupt. SPI: Corrected PowerControl function (to return error if Initialize was not called, to abort active transfer if power off was requested). Updated GetDataCount function to give accurate count. Corrected Uninitialize function (to power off the peripheral if it is powered). USART: Added Driver_USART6 (uses LPUART1). Corrected GetTxCount/GetRxCount implementation. USBD: Removed include of stm32l4xx_hal_pcd.h header. Corrected documentation of STM32CubeMx configuration. Updated Boards Examples: Migrated CubeMX projects to V6.0.1. Changed variant selection to "MDK-Plus" where possible. Updated all USB Host/Device examples with user templates from MDK-Middleware v7.11.1.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值