HAL库学习

2023-12-16

CMSIS简介

CMSIS:Cortex Microcontroller Software Interface Standard,微控制器软件接口标准。 由ARM和其合作的芯片厂商(ST、NXP)、软件工具厂商(KEIL、IAR),共同制定的标准。

在这里插入图片描述

  • 用户层(用户代码)
  • 中间层(CMSIS)
  • 硬件层

HAL库简介

ST公司为了方便用户开发STM32芯片,提供了三种库:

  1. 标准外设库(Standard Peripheral Libraries)
  2. HAL库(硬件抽象层):Hardware Abstraction Layer
  3. LL库:Low Layer

直接操作寄存器:执行效率高,但时间成本高。
标准外设库:仅支持F0/1/2/3/4/L1,且目前已经停止维护。
HAL库:全系列兼容,ST目前主推的库,兼容性、易移植性,执行效率较低。
LL库:全系列兼容,与HAL库捆绑发布,轻量级,效率高,不匹配部分复杂外设。

获取STM32Cube固件包

STM32Cube固件包是ST公司根据CMSIS,制定的CMSIS Pack,不同公司推出的Pack是不一样的。

访问ST公司的官网:https://www.st.com/content/st_com/en.html
搜索STM32Cube
在这里插入图片描述

  • BSP:板级支持包,用于适配ST官方的开发板(可参考)。
  • CMSIS:符合CMSIS的组件,包括:DSP库、Cortex-M内核及其设备文件、微控制器专用头文件、启动文件、专用系统文件等。
  • STM32F1xx_HAL_Driver:HAL库外设驱动源码,包括F1系列HAL库源文件和头文件。

CMSIS文件夹关键文件

在这里插入图片描述
在这里插入图片描述
Device文件夹

  • stm32f1xx.h:是所有F1系列的顶层头文件,通过条件编译来包含某个芯片的头文件,定义通用的枚举类型,定义通用的宏定义。
  • stm32f103xe.h:包含:中断编号定义,外设寄存器结构体类型定义、寄存器映射、寄存器位定义、外设判断。
  • startup_stm32f103xe.s:大容量F103系列芯片的启动文件。
  • system_stm32f1xx.c/.h:定义了系统初始化函数SystemInit和系统时钟更新函数SystemCoreClockUpdate。

在这里插入图片描述

HAL库框架结构

在这里插入图片描述
HAL库文件介绍

  • hal.c/h:HAL库初始化、系统地点、HAL库延时等相关函数。
  • hal_conf.h:HAL库的用户配置文件,用于裁剪HAL库,配置晶振参数等。
  • hal_def.h:包含HAL库通用的枚举类型数据和宏定义
  • hal_cortex.h/c:内核通用函数定义和声明,如NVIC、MPU、系统软复位、systick等,主要是对core_cm3.h文件的相关函数再次封装。
  • ppp.c:任意外设驱动源码
  • ll_ppp.c:LL库驱动源码在hal_ppp.c或hal_ppp_ex.c中调用

如何使用HAL库

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HAL库学习 的相关文章

  • 使用Vue实现一个当鼠标悬浮时出现,鼠标离开时消失的双层菜单

    前言 分享一个基于Vue实现一个当鼠标悬浮时出现 鼠标离开时消失的双层菜单 同时也是为了以后需要类似的需求时 可以提供一个实现思路 以及可以快速ctrl c和ctrl v操作 提高工作效率 一 示例代码 1 src views Exampl
  • 【无标题】

    一 软件简介 PyCharm是一款Python IDE 其带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具 比如 调试 语法高亮 Project管理 代码跳转 智能提示 自动完成 单元测试 版本控制等等 此外 该IDE提供
  • WPF中DataGrid设置默认选中行

    1 DataGrid命名为planDataGrid

随机推荐

  • 如何FL Studio显示中文?切换语言教程

    你是不是也在为fl studio的英文界面而苦恼 你是不是也想让你的fl studio 说中文 方便你制作音乐 你是不是也在网上找了很多教程 却发现都是复杂的 或者已经过时的 如果你的答案是肯定的 那么你来对地方了 今天 我要教你一个一步到
  • CleanMyMac X这一款mac电脑清理垃圾文件软件好用吗?

    CleanMyMac X您的 Mac 极速如新 点按一下 即可优化调整整个 Mac畅享智能扫描 这款超级简单的工具用于优化您的 Mac 只需点按一下 即可运行所有任务 让您的 Mac 保持干净 快速并得到最佳防护 CleanMyMac 是一
  • 【git教程】

    目录 git与SVN的区别 集中式与分布式的区别 Windows上安装Git 创建版本库 仓库 repository 将文件添加到repository 报错处理 查看仓库的状态 版本回退 工作区和暂存区 管理
  • EasyRecovery2024国内免费的电脑数据恢复软件(一键备份还原)

    EasyRecovery2024是coco玛奇朵Ontrack 的技术杰作 它是一个硬盘数据恢复工具 能够帮你恢复丢失的数据以及重建文件系统 其 Professioanl 专业 版更是囊括了磁盘诊断 数据恢复 文件修复 E mail 修复等
  • FL Studio2024年最新中文版本如何下载?

    FL Studio是款专业的音频录制编辑软件 受到了广大制作人的喜爱 但有很多人不知道FL Studio应该如何使用 和小编一起往下看吧 FL Studio是款专业的音频录制编辑软件 可以针对作曲者的要求编辑出不同音律的节奏 例如鼓 镲 锣
  • fl studio2024中文版下载安装教程 亲测有效

    fl studio是一款功能强大的编曲软件 今天小编就为大家带来了详细的安装教程 需要的朋友一起看看吧 fl studio2024是一款功能强大的编曲软件 也就是众所熟知的水果软件 它可以编曲 剪辑 录音 混音 让您的计算机成为全功能录音室
  • CleanMyMac X2024值不值得下载?

    macOS已经成为最受欢迎的桌面操作系统之一 它提供了直观 简洁的用户界面 使用户可以轻松使用和管理系统 macOS拥有丰富的应用程序生态系统 还可以与其他苹果产品和服务紧密协作 如iPhone iPad 用户可以通过iCloud同步和共享
  • FL Studio水果软件最新版本号V21.0.3.3517内置中文补丁,可以切换成中文界面。

    FL Studio 21 0 3 3517 Producer Edition 全称Fruity Loops Studio 21 Producer Edition 就是大家熟悉的水果编曲软件 一个全能的音乐制作软件 包括编曲 录音 剪辑和混音
  • CorelDRAW2024好不好用?比其他矢量图设计软件有哪些优势

    CorelDRAW作为一款专业的矢量设计图软件 备受招聘公司 业内人士青睐 CorelDRAW是一款广泛应用于图形设计 图像编辑和排版的软件 其强大的功能和灵活性使其在设计师和艺术家中备受欢迎 然而 在进行CorelDRAW账户注册时 一些
  • EasyRecovery(数据恢复软件) 2024中文绿色无需激活版下载

    EasyRecovery 是一款功能强大且专业的数据恢复软件 软件能够对电脑误删的文件进行恢复 包括格式化硬盘是数据恢复 手机U盘数据恢复等 小编今天给大家带来的是根据官软件解压后直接使用 感兴趣的朋友快来下载使用吧 EasyRecover
  • FL Studio20官方版怎么下载安装?2024最新版图文详细教程

    水果音乐制作软件FL Studio2024是一款功能强大的软件音乐制作环境或数字音频工作站 DAW 本文主要针对FL Studio 2024怎么安装 来为大家带来了水果软件FL Studio 2024安装图文详细教程 水果音乐制作软件FL
  • CorelDRAW2024中文版怎么免费下载?

    CorelDRAW是一款综合性强大的专业平面设计软件 其功能覆盖了矢量图形设计 高级文字编辑 精细绘图以及多页文档和页面设计 该软件不仅适用于广告设计 包装设计 还广泛应用于出版 网页设计和多媒体制作等多个领域 下面就给大家介绍一下Core
  • 操作系统内部机制学习

    切换线程时需要保存什么 函数需要保存吗 函数在Flash上 不会被破坏 无需保存 函数执行到了哪里 需要保存吗 需要保存 全局变量需要保存吗 全局变量在内存上 无需保存 局部变量需要保存吗 局部变量在栈里 也是在内存里 只要避免栈不会被破坏
  • 物联网网关

    物联网网关是 连接物联网设备和互联网的重要桥梁 它负责将物联网设备采集到的数据进行处理 存储和转发 使其能够与云端或其它设备进行通信 物联网网关的作用是实现物联网设备与云端的无缝连接和数据交互 物联网网关功能 数据采集 物联网网关可以从物联
  • CorelDRAW2024版本什么时候更新?有哪些新功能

    CorelDRAW2024 简称CDR 是一款专业的图形设计软件 该软件是加拿大Corel公司开发的一款功能强大的专业平面设计软件 矢量设计软件 矢量绘图软件 这款矢量图形制作工具软件广泛应用于商标设计 标志制作 封面设计 CIS设计 产品
  • BSP制作

    STM32系列驱动介绍 在RT Thread实时操作系统中 各种各样的设备驱动是通过一套I O设备管理框架来实现的 设备管理框架给上层应用提供了一套标准的设备操作API 开发者通过调用这些标准设备操作API 可以高效地完成和底层硬件外设的交
  • 正则表达式的资源

    https www regular expressions info index html https regex101 com
  • UART设备

    UART简介 UART Universal Asynchronous Receiver Transmitter 通用异步收发传输器 UART作为异步串口通信协议的一种 工作原理是将传输数据的每个字符一位接一位地传输 是在应用程序开发过程中使
  • 欧盟eDelivery的AS4解决方案

    为实现绿色和数字欧洲的愿景 欧盟启动了 数字欧洲计划 DEP 总预算为75 9亿欧元 重点是将数字技术带给企业 公民和公共行政部门 它将建立数字能力和基础设施 并以创建数字市场为目标 主要通过与成员国在先进计算和数据 人工智能和网络安全 私
  • HAL库学习

    CMSIS简介 CMSIS Cortex Microcontroller Software Interface Standard 微控制器软件接口标准 由ARM和其合作的芯片厂商 ST NXP 软件工具厂商 KEIL IAR 共同制定的标准