ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

4、HAL固件库

4、HAL固件库

HAL库遵循 CMSIS 标准。

何为CMSIS标准?

基于 Cortex 系列芯片采用的内核都是相同的,区别主要为核外的片上外设的差异。这些差异却导致软件在同内核,不同外设的芯片上移植困难。为了解决不同的芯片厂商生产的 Cortex 微控制器软件的兼容性问题, ARM 与芯片厂商建立了 CMSIS 标准(即Cortex MicroController Software Interface Standard)。

CMSIS 标准中最主要的为 CMSIS 核心层。

内核函数层:其中包含用于访问内核寄存器的名称、地址定义,主要由 ARM 公司提供;
设备外设访问层:提供了片上的核外外设的地址和中断定义,主要由芯片生产商提供。

可见 CMSIS 层位于硬件层与操作系统或用户层之间,提供了与芯片生产商无关的硬件抽象层,可以为接口外设、实时操作系统提供简单的处理器软件接口,屏蔽了硬件差异,这对软件的移植是有极大的好处的。 STM32 的库,就是按照建立的。

STM32HAL库固件包如何获取?

在ST 公司官网主页搜索框中输入CubeF4, 在跳转的页面中单击查找到的STM32CubeF4,再单击 Download latest, 即可进入 CubeF4MCU 固件包下载页面。如下图:

笔者目前最新的版本是STM32Cube_FW_F4_V1.28.0,本教程将基于此版本。

HAL库文件介绍

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进