单片机固件库的详解

1. 固件库的介绍

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

2. 固件库的获取

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

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

点击链接进入官网,在产品栏选择微控制器
在这里插入图片描述
进入之后,选择对应的型号
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里的邮箱需要填写对
在这里插入图片描述
然后进入邮箱,点击
在这里插入图片描述
其余厂家的,可以找相关厂家FAE要,或者网上(论坛或者下载网站)搜索下载
在这里插入图片描述

3. 固件库的目录介绍

在这里插入图片描述

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

4. 固件库的文件分析

在这里插入图片描述
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.sSTM32小容量产品启动文件 FALSH<=32K
startup_stm32f10x_md.sSTM32中容量产品启动文件 64K<=FLASH<=128K
startup_stm32f10x_hd.sSTM32大容量产品启动文件 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

相关外设驱动功能函数
在这里插入图片描述

stm32f10x_it.c | stm32f10x_it.h

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

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

stm32f10x_conf.h

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

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

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

5.固件库的使用

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

这里点击打开keil工程文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
打开介绍说明,看看如何使用该演示工程模板
在这里插入图片描述
点击编译,没有问题后,就可以照葫芦画瓢,参考这工程模板的配置,搭建一个工程就可以了
在这里插入图片描述
在这里插入图片描述

  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值