0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

讲讲开发STM32的四种库

电子设计 来源:电子设计 作者:电子设计 2022-02-10 10:16 次阅读

1.我是选择寄存器开发STM32,还是标准外设库呢?
2.你有STM32L0标准外设库吗?
3.HAL库和LL库有什么差异?

下面就来讲讲开发STM32的四种库:

STM32Snippets

Standard Peripheral Library

STM32Cube LL

STM32CubeHAL

1、STM32Snippets

什么是STM32Snippets?

STM32Snippets可翻译为“代码片段”、“裁剪”,其实他就是我们常说的“寄存器”开发STM32的底层驱动代码。

比如配置ADC引脚的代码片段:

__INLINE void ConfigureGPIOforADC(void) { /* (1) Enable the peripheral clock of GPIOA, GPIOB and GPIOC */ /* (2) Select analog mode for PA1 */ /* (3) Select analog mode for PB1 */ /* (4) Select analog mode for PC0 */ RCC->AHBENR |= RCC_AHBENR_GPIOAEN | RCC_AHBENR_GPIOBEN | RCC_AHBENR_GPIOCEN; /* (1) */ GPIOA->MODER |= GPIO_MODER_MODER1; /* (2) */ GPIOB->MODER |= GPIO_MODER_MODER1; /* (3) */ GPIOC->MODER |= GPIO_MODER_MODER0; /* (4) */ }

STM32Snippets是高度优化的示例代码集合,使用符合CMSIS的直接寄存器访问来减少代码开销,从而在各种应用程序中最大化STM32 MCUs的性能。

STM32Snippets主要针对底层开发人员,或者从51转过来,直接操作寄存器开发的人员。 是没有经过封装,可见底层寄存器的一套示例代码。

每个STM32系列的100多个片段演示了如何以最小的内存占用有效地使用STM32外围设备。

地址:
https://www.st.com/en/embedded-software/stm32snippets.html

STM32Snippets目前官方只提供:STM32F0和L0的示例代码包。

提供的示例代码有点类似标准外设库风格,给大家看下F0的代码包:

同样也提供Keil MDK、 IAR EWARM的工程。

2、Standard Peripheral Library

Standard Peripheral Library:简写SPL,也叫标准外设库。

相信学习过STM32的朋友,对标准外设库都不陌生,是一组外围设备的C语言代码集合。(因为现在ST官方主推STM32CubeMX,所以停止了对SPL的更新)

标准外设库是在寄存器的基础上进行了一次简单封装,主要是面向过程的嵌入式系统开发人员。

地址:
https://www.st.com/en/embedded-software/stm32-standard-peripheral-libraries.html

目前标准外设库支持STM32F0、 F1、 F2、 F3、 F4、 L1, 不支持F7、 H7、 MP1、L0、 L4、 L5、 G0、G4等后面推出的系列。

所以,不要再问:在哪里下载L0的标准外设库了。

3、STM32Cube LL 和 HAL

LL:Low-Layer,底层库
HAL:Hardware Abstraction Layer,硬件抽象层库

STM32Cube HAL 和 LL配合STM32CubeMX工具对STM32进行开发。也是目前ST官方主推的一套开发STM32的库。

HAL针对的是具有一定嵌入式基础的开发人员,HAL具有很好的移植性。

LL库相对HAL,具有简单的结构,针对之前从事SPL(标准外设库),或寄存器开发的人员。

地址:
https://www.st.com/en/development-tools/stm32cubemx.html

STM32Cube HAL 和 LL是目前官方主推,并重点维护和更新的库,也建议大家都学习一下。而且新出来的型号(如L5、G4等系列)没有标准外设库,只有STM32Cube HAL 和 LL库了。

4、四种库对比

来自官方的对比信息,包含可移植性、优化、难易程度等。

其中:
Portability:可移植性
Optimization :优化
Easy:难易程度
Hardware coverage:硬件覆盖

定位:

100059039-113443-6.jpg

支持器件:

100059039-113444-7.jpg

最近新增了STM32Cube MP1,官方没有统计上。

库之间的转移:

100059039-113445-8.jpg

本文就到这里,希望以上内容对你有所帮助!

审核编辑:何安

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    31

    文章

    5308

    浏览量

    119975
  • STM32
    +关注

    关注

    2265

    文章

    10870

    浏览量

    354687
  • HAL
    HAL
    +关注

    关注

    2

    文章

    70

    浏览量

    12591
  • 标准外设库
    +关注

    关注

    0

    文章

    16

    浏览量

    3534
收藏 人收藏

    评论

    相关推荐

    双轴测径仪的四种样式!

    仪设计了四种外观样式。 45°角布置的开口测径仪 这个样式的双轴测径仪是目前大部分产线所使用的,样式简单大气。用于外径及椭圆度尺寸的检测。 45°角布置的闭口测径仪 该样式的双轴测径仪将上面的开口闭合
    发表于 08-27 17:42

    滤波电路的四种类型是什么

    滤波电路是电子电路中非常重要的一部分,它主要用于对信号进行频率选择,即允许特定频率范围内的信号通过,而阻止其他频率的信号。滤波电路根据其特性可以分为四种基本类型:低通滤波器(Low-Pass
    的头像 发表于 08-08 16:25 1651次阅读

    负反馈的四种类型是什么

    负反馈是电子系统中常用的一技术,它通过将系统输出的一部分信号以某种方式反馈到输入端,以减小输出信号与期望信号之间的差异,从而提高系统的稳定性和性能。负反馈主要分为四种类型:电压串联负反馈、电压并联负反馈、电流串联负反馈和电流并联负反馈。
    的头像 发表于 08-08 16:15 2584次阅读

    负反馈的四种类型及判断方法

    负反馈,又称为负反馈调节,是指在一个系统中,当系统输出的某些变化对输入产生抑制作用时,系统会自动调节以维持稳定状态的现象。负反馈在生物、工程、经济等多个领域都有广泛的应用。本文将介绍负反馈的四种
    的头像 发表于 08-02 11:01 1587次阅读

    简述四种基本触发器及其功能

    在数字电路设计中,触发器是一基本且重要的存储元件,用于存储二进制信息(即0和1)。根据功能和应用场景的不同,触发器可以分为多种类型,其中四种基本触发器包括RS触发器、JK触发器、D触发器和T触发器。以下是对这四种基本触发器及其
    的头像 发表于 07-27 14:59 6580次阅读

    介绍MCUboot支持的四种升级模式(2)

    介绍MCUboot支持的四种升级模式,分别是Overwrite、Swap、Direct XIP和加载到RAM中执行。由于FSP不支持第四种——加载到RAM中执行,因为我们重点介绍前三
    的头像 发表于 06-13 10:56 765次阅读
    介绍MCUboot支持的<b class='flag-5'>四种</b>升级模式(2)

    电气设备的状态有哪四种

    电气设备的状态可以分为四种:正常状态、异常状态、故障状态和紧急状态。这四种状态涵盖了电气设备在运行过程中可能遇到的各种情况。本文将详细分析这四种状态的特点、原因、影响以及相应的处理措施。 一、正常
    的头像 发表于 06-05 16:47 3862次阅读

    如何理解IGBT的四种SOA?

    如何理解IGBT的四种SOA? IGBT的四种SOA表示了IGBT器件在不同工作状态下的安全操作区域。这四种SOA是:Continuous SOA、Limited SOA、Pulse SOA
    的头像 发表于 02-18 11:04 965次阅读

    四种编程语言之间的区别和联系

    编程语言是一人与计算机之间进行交流的方式,不同的编程语言有着不同的特点和用途。本文将对四种常见的编程语言——Python、Java、C++和JavaScript进行比较,分析它们的区别和联系。 一
    的头像 发表于 02-05 14:16 1430次阅读

    A/D转换的四种误差

    针对A/D转换中可能出现的误差,主要分为以下四种情况,漂移误差、线型比例误差、非线性误差、非单调性误差。还有那些能够引起AD转换出现比较大的误差类别? 先说AD转换是怎么取值的,假设输入信号0-3V
    发表于 01-30 14:19

    电子负载的四种功能实现原理

    电子负载的四种功能实现原理  电子负载是一用于模拟负载、测试和评估电源、电池和其他电子设备的工具。它可以模拟电子负载的特性,并能够提供不同的负载条件。电子负载主要通过四种功能来实现:恒流负载、恒阻
    的头像 发表于 01-18 14:13 2328次阅读

    四种霍尔元件的感应方式分别是什么呢?

    四种霍尔元件的感应方式分别是什么呢? 霍尔元件是一基于霍尔效应的电子元件,常用于测量磁场、电流和位置等物理量。根据感应方式的不同,霍尔元件可以分为四种类型:线性霍尔元件、增量式霍尔元件、磁敏电阻
    的头像 发表于 12-18 14:49 726次阅读

    设备管理通道控制四种方式

    设备管理的主要任务之一是控制设备和内存或处理机之间的数据传送,外围设备和内存之间的输入/输出控制方式有四种,下面分别介绍。
    发表于 12-08 14:05 973次阅读
    设备管理通道控制<b class='flag-5'>四种</b>方式

    四种接近传感器PK,谁能胜出?

    四种接近传感器PK,谁能胜出?
    的头像 发表于 12-07 09:28 1618次阅读
    <b class='flag-5'>四种</b>接近传感器PK,谁能胜出?

    四种半导体器件基本结构

    按施敏教授的观点,半导体器件有个最基本的结构单元:金半接触、PN结、异质结、MOS结构。所有的半导体器件都可以看作是这四种基本结构的组合,比如BJT由两个背靠背的PN结构成,MOSFET由MOS结构和两对PN结构成。
    的头像 发表于 11-30 15:56 2951次阅读
    <b class='flag-5'>四种</b>半导体器件基本结构