当前位置:网站首页>STM32的HAL和LL库区别和性能对比
STM32的HAL和LL库区别和性能对比
2022-08-03 15:48:00 【路过的小熊~】
LL库和HAL库简介
LL:Low-Layer,底层库
HAL:Hardware Abstraction Layer,硬件抽象层库
LL库和hal库对比,很精简,这实际上是一个精简的库。
LL库的配置选择如下:
在STM32CUBEMX中,点击菜单的“Project Manager”–>“Advanced Settings”,在下面的界面中选择“Advanced Settings”,然后在每个模块后面选择使用的库
总结:
1、如果使用的MCU是小容量的,那么STM32Cube LL将是最佳选择;
2、如果结合可移植性和优化,使用STM32Cube HAL并使用特定的优化实现替换一些调用,可保持最大的可移植性。另外HAL和LL可以部分并发使用(对于同一个外设,HAL和LL不可能并发运行
),也可以使用混合的HAL和LL实现来获得上述相同的优势。
STM32使用HAL库、标准库、LL库和寄存器操作的性能对比
介绍
stm32开发时,选用不同库的开发难度和速度相差可能很大,相应的,开发出来的代码运行性能也会有很大差别。
下图是官方给出的几个常用功能:GPIO 翻转、TIM PWM 输出、ADC DMA 数据采集和 DMA M2M ,使用不同库开发出来的运行结果,可供大家参考对比,做出符合自己开发项目需要的选择。
总结
代码效率与移植性成反比的规律是明显的。但与 Cube HAL 相比, Cube LL 的效率优势还是很明显的,几乎和直接写寄存器的效率相差无几
。而且目前 STM32cubeMX 已经开始支持直接生成使用 Cube LL 的工程,对于以后追求效率的开发应用人员来说,非常值得推荐给大家使用。
边栏推荐
猜你喜欢
方舟生存进化开服需要多少钱
简介undo log、truncate、以及undo log如何帮你回滚事物?
基于牛顿方法在直流微电网潮流研究(Matlab代码实现)
A new round of competition for speech recognition has started. Will natural dialogue be the next commanding height?
cmd 关闭端口
Js array method is summarized
2021年12月电子学会图形化二级编程题解析含答案:消灭蝙蝠
DC-DC 2C(40W/30W) JD6606SX2退功率应用
FATFS | 中文显示 | 长文件名
LyScript 验证PE程序开启的保护
随机推荐
Windows服务器如何防止黑客入侵的安全设置
全新探险者以40万的产品击穿豪华SUV价格壁垒
随笔-UGUI中LayoutGroup来自适应长度图片长度
下午见!2022京东云数据库新品发布会
cmd 关闭端口
随笔-Unity中一个简易的Spine动画控制器
A new round of competition for speech recognition has started. Will natural dialogue be the next commanding height?
How Navicat connects to MySQL on a remote server
AWS China SDN Connector
30W 2C(JD6606S + FP6652X2)BOM
新版本MaxCompute 的SQL支持 UDF 分区裁剪的逻辑是怎样的?
2021年12月电子学会图形化三级编程题解析含答案:数星星
leetcode: 899. Ordered Queue [Thinking Question]
在 360 度绩效评估中应该问的 20 个问题
开源一夏 | 阿里云物联网平台之极速体验
深入浅出Flask PIN
AI+BI+可视化,Sugar BI架构深度剖析
Small Tools(4) 整合Seata1.5.2分布式事务
MATLAB gcf figure save image with black background/transparent background
ReentrantLock详解