位置:
首页

>

>

四种STM32库的比较:寄存器,标准外设库,HAL,LL
时间:

作者| strongerHuang WeChat公共帐户| strongerHuang1。

我应该选择寄存器开发STM32还是标准外设库? 2.您有STM32L0标准外设库吗? 3. HAL库和LL库有什么区别? 。

让我们谈谈开发STM32的四个库:STM32Snippets标准外围设备库STM32Cube LL STM32Cube HAL 1STM32Snippets什么是STM32Snippets? STM32Snippets可以翻译成“代码段”。

和“切割”。

实际上,它们就是我们通常所说的“寄存器”。

开发STM32的基础驱动程序代码。

例如,用于配置ADC引脚的代码段:__INLINE void ConfigureGPIOforADC(void){/ *(1)启用GPIOA,GPIOB和GPIOC的外设时钟* / / *(2)为PA1选择模拟模式* / / *( 3)为PB1选择模拟模式* / / *(4)为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 Direct寄存器访问来减少代码开销,从而在各种应用中最大化STM32 MCU的性能。

STM32Snippets主要面向低级开发人员,或者是从51岁转向直接操作寄存器开发人员的开发人员。

是一组未封装的示例代码,可以看到基础寄存器。

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

STM32Snippets当前仅正式提供:STM32F0和L0示例代码包。

提供的示例代码在某种程度上类似于标准外设库样式。

让我向您展示F0的代码包:还提供了Keil MDK和IAR EWARM项目。

2Standard Peripheral Library标准外围设备库:缩写为SPL,也称为标准外围设备库。

我相信学习STM32的朋友对标准外围设备库并不陌生,标准外围设备库是一组外围设备的C语言代码的集合。

(因为ST正式推广STM32CubeMX,SPL的更新已停止)。

标准外设库是一个基于寄存器的简单软件包,主要用于面向过程的嵌入式系统开发人员。

目前,标准外设库支持STM32F0,F1,F2,F3,F4,L1,并且不支持F7,H7,MP1,L0,L4,L5,G0,G4和其他更高版本。

因此,不要再问:在哪里下载L0标准外围设备库。

3STM32Cube LL和HALLL:低层底层库HAL:硬件抽象层,硬件抽象层库STM32Cube HAL和LL与STM32CubeMX工具配合开发STM32。

它也是由ST正式推动的用于STM32开发的一组库。

HAL针对具有一定嵌入式基础的开发人员,并且HAL具有良好的可移植性。

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

STM32Cube HAL和LL当前是官方的主要推手,并且侧重于库的维护和更新,我也建议大家学习。

并且新模型(例如L5,G4等系列)没有标准的外围设备库,只有STM32Cube HAL和LL库。

4四个库的比较来自官方的比较信息,包括可移植性,优化和难度。

其中:可移植性:可移植性优化:优化容易:难易程度硬件覆盖率:硬件覆盖率定位:支持的设备:最近添加的STM32Cube MP1,尚无官方统计。

库之间的转移:这是本文的结尾,希望以上内容对您有所帮助! ------------结束------------跟随微信公众号“嵌入式列”,底部菜单查看更多内容,然后回复“添加组”。

按照规则加入技术交流小组。

免责声明:本文内容经21ic授权后发布,版权归原作者所有。

该平台仅提供信息存储服务。

本文仅代表作者的个人观点,并不代表该平台的立场。

如有任何疑问,请与我们联系,谢谢!

产品资料
行业信息