8 . STM32固件库介绍

STM32固件库介绍

前面为大家简单介绍了如何使用寄存器点亮开发板上LED,这种开发方式显然是不适合大众,对于STM32 这样庞大的芯片,内部寄存器实在太多,如果操作的外设比较多,那么就需要花很多时间查询底层寄存器内容,而且即使程序写好,如果要换其他端口或者外设的话,修改起来非常麻烦,而且容易出错,移植性也差。基于这些原因,ST 公司推出了一套固件库,内部已经将STM32 的全部外设寄存器的控制封装好,给用户提供一些API 函数,用户只需要学习如何使用这些API 函数即可。这里将向大家介绍这套固件库,为后面库函数模板创建做好铺垫。分为如下几部分内容:
CMSIS 标准
库目录及文件介绍
库帮助文档使用

下面开始讲解:

CMSIS 标准

什么是CMSIS 标准?
CMSIS 标准英文全称是Cortex MicroController Software Interface Standard,翻译为中文意思就是ARM Cortex 微控制器软件接口标准。由于基于Cortex 核的芯片厂商很多,不只是ST 公司,为了解决不同厂家的Cortex 核芯片软件兼容的问题,ARM 和这些厂家就建立了这套CMSIS 标准。
我们可以通过一个基于CMSIS 标准的应用程序框图来看其重要性。如图所示:

可以看出,CMSIS 处于中间层,向上提供给用户程序和实时操作系统所需的函数接口,向下负责与内核和其他外设通信。假如没有CMSIS 标准,基于Cortex 的芯片厂商就会设计出自己喜欢的风格库函数。因此CMSIS 标准就是要强制他们必须按照这个标准来设计。在CMSIS 框架内又分为3 个基本功能层:
(1)内核外设访问层:ARM 公司提供的访问,定义处理器内部寄存器地址以及功能函数。
(2)中间件访问层:定义访问中间件的通用API,由ARM 提供,芯片厂商根据需要更新。
(3)外设访问层:定义硬件寄存器的地址以及外设的访问函数,比如ST公司提供的固件库外设驱动文件(stm32f10x_gpio.c 等文件)就是在这个访问层。
总的来说其实CMSIS 就是统一各芯片厂商固件库内函数的名称,比如在系统初始化的时候使用的是SystemInit 这个函数名,那么CMSIS 标准就是强制所有使用Cortex 核设计芯片的厂商内固件库系统初始化函数必须为这个名字,不能修改。又比如对GPIO 口输出操作的函数:GPIO_SetBits,此函数名也是不能随便定义的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值