【嵌入式学习笔记】嵌入式基础7——认识HAL库

1.初识HAL库

1.1.CMSIS

CMSIS (微控制器软件接口标准):Cortex Microcontroller Software Interface Standard,是由ARM和与其合作的芯片厂商、软件工具厂商,共同制定的标准。
在这里插入图片描述

1.2.HAL库简介

  • 直接操作寄存器:执行效率高,时间成本高
  • 标准外设库 (Standard Peripheral Libraries):F0/F1/F3/F2/F4/L1,目前已停止维护
  • HAL库(Hardware Abstraction Layer):全系列兼容、ST主推的库、兼容性、易移植性、效率低
  • LL库(Low Layer):全系列兼容、与HAL库捆绑发布、轻量级、效率高、不匹配部分复杂外设

2.STM32Cube固件包浅析

在这里插入图片描述
重点是其中的Drivers文件夹,其中CMSIS和STM32F1xx_HAL_Driver最重要,下面依次讲解
在这里插入图片描述

3.CMSIS文件夹

该部分最重要的是Device和Include文件夹
在这里插入图片描述
Device文件夹主要文件如下:
在这里插入图片描述

Include文件夹下重要的文件如下:
cmsis_armcc.h、cmsis_armclang.h、cmsis_compiler.h、cmsis_version.h、core_cm3.h 、 mpu_armv7.h

4.HAL库框架结构(STM32F1xx_HAL_Driver)

  • Src(Source):外设驱动源码
  • Inc(Include):外设驱动源码头文件
    在这里插入图片描述

4.1.HAL库文件介绍

在这里插入图片描述

4.2.HAL库API函数和变量命名规则

在这里插入图片描述

4.3.HAL库对寄存器位操作的相关宏定义

在这里插入图片描述

4.4.HAL库回调函数

在这里插入图片描述
此类函数通常被_weak修饰(弱函数),允许用户重新定义该函数

5.HAL库开发的文件框架

基于CMSIS应用程序文件描述
在这里插入图片描述
CMSIS分级下的stm32f1的文件分布
在这里插入图片描述
HAL库的用户配置文件(stm32f1xx_hal_conf.h)

  • 裁剪HAL库外设驱动源码(不进行编译)
  • 设置外部高速晶振频率(根据开发板实际情况设置)
  • 设置外部低速晶振频率(根据开发板实际情况设置)
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值