单片机固件库的详解

1. 固件库的介绍

固件库又称固件函数库,是⼀个固件函数包,它由程序、数据结构和宏组成,包括了微控制器所有外设的性能特征。该函数库还包括每⼀个外设的驱动描述和应⽤实例,为开发者访问底层硬件提供了⼀个中间API,通过使⽤固件函数库,⽆需深⼊掌握底层硬件细节,开发者就可以轻松应⽤每⼀个外设。因此,使⽤固态函数库可以⼤⼤减少⽤户的程序编写时间,进⽽降低开发成本。每个外设驱动都由⼀组函数组成,这组函数覆盖了该外设所有功能。每个器件的开发都由⼀个通⽤API (application programming interface 应⽤编程界⾯)驱动,API对该驱动程序的结构,函数和参数名称都进⾏了标准化

2. 固件库的获取

如果是STM的标准库,可以在它官网下载

https://www.st.com/content/st_com/zh.html

点击链接进入官网,在产品栏选择微控制器
单片机固件库的详解_第1张图片
进入之后,选择对应的型号
单片机固件库的详解_第2张图片
单片机固件库的详解_第3张图片
单片机固件库的详解_第4张图片
单片机固件库的详解_第5张图片
单片机固件库的详解_第6张图片
单片机固件库的详解_第7张图片
这里的邮箱需要填写对
单片机固件库的详解_第8张图片
然后进入邮箱,点击
单片机固件库的详解_第9张图片
其余厂家的,可以找相关厂家FAE要,或者网上(论坛或者下载网站)搜索下载
单片机固件库的详解_第10张图片

3. 固件库的目录介绍

单片机固件库的详解_第11张图片

文件名 说明
_htmresc ST公司logo,我们不需要
Libraries 里面包含各种我们需要的资源,这个是我们需要的
Project 里面有工程示例,我们可以参考
Utilities 里面有ST公司自己的开发板的相关示例代码,我们不需要
Release_Notes.html 介绍ST公司 以及 一些求助方式,我们不需要
Package_license.xxx 许可证介绍,我们不需要
stm32f10x_stdperiph_lib_um.chm 固件库函数手册,可以参考查阅

4. 固件库的文件分析

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

core_cm3.c | core_cm3.h

属于CMSIS的核心文件,由ARM提供,对于所有M3内核的芯片来说这个文件都是相同的,不需要我们修改

startup_stm32f10x_xxxd.s

属于编译器启动文件,创建工程模板时,要将STM32的启动文件添加进来,否则系统不能启动

文件 备注
startup_stm32f10x_ld.s STM32小容量产品启动文件 FALSH<=32K
startup_stm32f10x_md.s STM32中容量产品启动文件 64K<=FLASH<=128K
startup_stm32f10x_hd.s STM32大容量产品启动文件 256K<=FLASH

stm32f10x.h

属于STM32F10x的头文件,类似于51单片机的reg.51,在开发STM32F10x程序的时候基本上都会调用这个头文件,可见其重要性。此文件内部封装了STM32的总线、内存和外设寄存器等,实现了内核之外的外设寄存器映射,同时该文件还包含了一些时钟相关的定义和中断相关定义等

system_stm32f10x.h

申明设置系统及总线时钟相关的函数

system_stm32f10x.c

这个文件里面有一个非常重要的SystemInit()函数申明,这个函数在我们系统启动的时候都会调用,用来设置系统的整个系统和总线时钟

misc.h | misc.c

代替原来的stm32f10x_nvic.c

stm32f10x_xxx.c/h

相关外设驱动功能函数
单片机固件库的详解_第13张图片

stm32f10x_it.c | stm32f10x_it.h

用于存放中断函数,不过中断函数也可以放在其他工程文件内,所以这个文件很少操作

用户可以相应的加入自己的中断程序的代码,对于指向同一个中断向量的多个不同中断请求,用户可以通过判断外设的中断标志位来确定准确的中断源,执行相应的中断服务函数。

stm32f10x_conf.h

外设驱动配置文件,通过更改包含的外设头文件来选择固件库所使用的外设,在新建程序和进行功能变更之前应当首先修改对应的配置,这个文件被包含进 stm32f10x.h 文件中。

本来说是写一份详解的介绍,但是在网上查找资料的时候,发现有更详细的文章了,所以这里就不再重复写了,建议大家可以看

https://blog.csdn.net/weixin_46251230/article/details/126464390

5.固件库的使用

上面我们说了固件库有不同平台的工程模板,所以我们可以参考看看

这里点击打开keil工程文件
单片机固件库的详解_第14张图片
单片机固件库的详解_第15张图片
单片机固件库的详解_第16张图片
打开介绍说明,看看如何使用该演示工程模板
单片机固件库的详解_第17张图片
点击编译,没有问题后,就可以照葫芦画瓢,参考这工程模板的配置,搭建一个工程就可以了
单片机固件库的详解_第18张图片
单片机固件库的详解_第19张图片

你可能感兴趣的:(MCU笔记,单片机,嵌入式硬件,固件库,STM32,MCU)