一、四种库比较
LL库,即STM32Cube Low-Layer,也叫Cube LL、Cube底层库等。
开发STM32通常有四种“库”,寄存器、标准外设库、HAL、LL。
早在2014年,ST推出了STM32CubeMX这款工具,同步推出了对应的STM32Cube HAL库。
但是,HAL存在一些问题:代码量大、执行效率低等缺点。
因此,在2017年,ST推出了STM32Cube LL库,目的就是为了解决的HAL库的缺点,让开发STM32的工程师有更多的选择。
之前有工程师总结了寄存器、标准外设库、HAL、LL四种库的代码性能:
(来源ST社区)
针对上图(Flash、 SRAM 占用量和执行代码的效率这三项指标对比测试)简单讲几点:
1.ROM代码和RAM占用量最小的属于直接操作寄存器WED,对于ROM资源较小的芯片具有优势;
2.执行效率最高的也属于WED,但是代码编辑、移植性和可读写都较差。(其实汇编语言比这还有优势,一般没有特殊要求,不建议使用该寄存器编程)
3.三项指标中,除了WED之外,SPL和Cube LL相近(不相上下),也相比Cube HAL就有优势。所以,SPL和Cube LL是四种之中最佳选择的两种。
4.SPL和Cube LL各有特点:SPL库成熟,可读性(特别针对初学者)很好,查找问题也方便;Cube LL可以使用STM32CubeMX图形化工具直接生产初始化代码和工程,在这方便也具有明显优势。
-----------------------------------------------------------------------------------------------------------------
二、为什么要用LL库?
上面讲述了关于LL库,以及其他几种库的内容,你会发现,几种库开发STM32各有各的优势。
1.对于RAM和Flash这种资源比较少的STM32,除了用标准外设库之外,LL库就是一个很好的选择。
2.使用LL库配置的代码,相对自己参考寄存器手册配置的代码,LL库API接口更规范,更具有移植性。
3.有些芯片,没有标准外设库,只有早期推出的STM32才有标准外设库,包含F0、 F1、 F2、 F3、 F4、 L1:
新出来的(像F7、L4、G0等)这些芯片只能使用目前的HAL、LL库,或者你自己参考手册配置寄存器(不是特殊情况,我不建议自己配寄存器)。
-----------------------------------------------------------------------------------------------------------------
三、利用SPL2LL工具转换代码
SPL2LL即标准外设库转LL库的转换器工具。
SPL2LL主要特点:
免费
显示源代码迁移状态
生成C代码,适用于IAR,Keil和GCC编译器
支持Windows、Linux和MacOS操作系统
-----------------------------------------------------------
1.ActivePerl下载安装
在使用SPL2LL工具之前,需要安装【ActivePerl】这个工具,不然会提示错误:
Error : cannot find perl, please verify that you have perl (>5.24.1) installed and added to path
Then restart the application
-----------------------------------------------------------
2.安装
SPL2LL工具不需要安装,直接点开即可使用,但前提需要安装【ActivePerl】工具。
【ActivePerl】安装比较简单,一路Next下去即可。
-----------------------------------------------------------
3.使用SPL2LL
SPL2LL使用方法很简单,选在源和目标的型号、路径,然后执行即可。
选择好之后,点击“Migrate”即可执行转换。
这里需要耐心等待,比较费时间,原理就是遍历你源码中标准库,然后转换成LL库。
-----------------------------------------------------------
4.转化代码前后对比
你会发现,即使被屏蔽的代码也进行了SPL转LL。
主要内容就分享到了,希望对你有帮助。
相关转换软件与说明移步:download.csdn.net/download/liht1634/34007995。
HAL与LL库文档移步:download.csdn.net/download/liht1634/34024517。
上一篇:STM32单片机介绍1
下一篇:STM32单片机-加密烧录Hex
推荐阅读最新更新时间:2024-11-23 11:42
推荐帖子
- MSP430F2232时钟频率问题
- MSP430F2232外接晶振,在第5、6脚32.768KH的晶振可以测试出波形,换用16MH的晶振就测试不出波形。不知为什么?MSP430F2232时钟频率问题你设置过XTS=1(在BCSCTL1中)了没有?TheLFXT1oscillatoralsosupportshigh-speedcrystalsorresonatorswheninHFmode(XTS=1,XCAPx=00).Thehigh-speedcrystalorresona
- sunline 微控制器 MCU
- C6000 DSP似乎在国内木有多少人用,对吧?
- 大家好!!用C6000DSP的人是不是越来越少了?为什么?是因为ARMA系列吗?C6000DSP似乎在国内木有多少人用,对吧?太高端,不会玩。不懂算法,玩不起来。价格太高,买不起。
- 平湖秋月 DSP 与 ARM 处理器
- 基于STM32F7的视觉小球颜色识别系统--硬件完结篇
- 硬件部分采用的手工点锡膏和收工回流焊的方法制作,简单方便,适合样板的制作和少量PCB的制作;公司有2种工具可以制作,一种直接烤PCB也是很方便的,如图所示,另外一种就是小型的回流焊机器了,也蛮不错的。图1普通的回流焊图2专业回流焊机器硬件部分的难点在于FPC的焊接,收工焊接0.5mm的FPC座有一定的难度,特别是以前没有焊接过的,不小心PFC座很容易报废掉,红圈部分要注意;yyefree说的
- DavidZH stm32/stm8
- 【MSP430共享】上传一个MSP430资料和学习板的例子
- 上传蔡大侠的资料例子、望谅解【MSP430共享】上传一个MSP430资料和学习板的例子aaggggggggggggggggggggg 好东西,好好看看!谢谢分享!哇,这么好的资料,必须回帖,顶起来!楼主辛苦了帮顶!回复板凳机动哥的帖子资料虽好但是看过的人有几个!楼主这个阵容强大这。。。太强大了!!赞楼主~~下载完,分就没了楼主强大下的手都麻了部分还不了解,看看吧楼主收藏这么多资料啊!谢谢!新手围观谢谢了啊,正是需要的帅啊~~~谢谢
- 机动哥 微控制器 MCU
- 时钟分频的好资料
- 时钟分频的好资料
- 至芯科技FPGA大牛 FPGA/CPLD
- 当你面试电源类岗位时,你遭遇到过什么样的问题?
- 今天来聊点工作上的事儿:当你面试电源类岗位时,你遭遇到过什么样的问题?前人的面试经验对其他想要面这类岗位的小伙伴们是非常宝贵的,热心的大侠们,快来分享分享你的面试经历,给其他小伙伴们参考一下吧!在这里也先预祝下大家们都面试顺利~一路绿灯通过,收入和福利待遇都杠杠好~~下面是管管在网络上搜索到的一些电源面可能出现的问题,小伙伴们也可以试试来回答一下哦~~一、基础知识类 请简要介绍电源开发岗位的基本职责和工作内容。 请描述一下您
- okhxyyo 电源技术
设计资源 培训 开发板 精华推荐
- ZXSC400EV4,基于 ZXSC400 电压模式升压转换器的评估板
- 使用 BFP405F 的 3 - 4GHz UWB 低噪声放大器从 1.5V 电源仅消耗 2mA
- L7812C远程关断稳压器的典型应用
- 1.24 至 15V DC 至 DC 单输出便携式电源
- AM6TW-2415DZ ±15V 6 瓦双路输出 DC/DC 转换器的典型应用
- CZR - V1.0
- 【DIY设计】基于HLW8032电能计量系统
- 使用 Analog Devices 的 LTC3374AIUHF 的参考设计
- S08QL8-Lite评估板
- ATF15XXDK3-SAA100,100 针 TQFP 插座适配器板,用于 DK3 板,用于复杂可编程逻辑器件的 ATF15xx 系列