- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
? ?
?
? ?
神器SPL2LL轻松实现STM32标准库代码迁移为LL库代码
?
? ?
?
?
?
?
?
?
?
? ? ?
?
?
?
?
?
?
?
[导读]早期开发STM32,大部分工程师都是基于标准库进行开发,如果要换成LL库,且需要复用以前代码,该怎么办呢?下面就来给大家分享一下使用【SPL2LL转换器】实现标准库代码迁移为LL库的方法,以及相关内容。
作者?| strongerHuang
微信公众号?|?嵌入式专栏
早期开发STM32,大部分工程师都是基于标准库进行开发,如果要换成LL库,且需要复用以前代码,该怎么办呢?
下面就来给大家分享一下使用【SPL2LL转换器】实现标准库代码迁移为LL库的方法,以及相关内容。
1关于LL库
LL库,即STM32Cube Low-Layer,也叫Cube LL、Cube底层库等。
开发STM32通常有四种“库”,可以阅读之前分享的文章《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图形化工具直接生产初始化代码和工程,在这方便也具有明显优势。
2为什么要用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库,或者你自己参考手册配置寄存器(不是特殊情况,我不建议自己配寄存器)。
3利用SPL2LL工具转换代码
SPL2LL,即标准外设库转LL库的转换器工具。
SPL2LL主要特点:
免费
显示源代码迁移状态
生成C代码,适用于IAR,Keil和GCC编译器
支持Windows、Linux和MacOS操作系统
网址:
/en/development-tools/spl2ll-converter.html
网址包含相关文档和SPL2LL工具。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
下载地址:
/products/perl/downloads/
如果觉得下载麻烦,可以在我网盘:
/s/1_R21S93V9hzlJ8ZL1D4dKA
提取码: cp37(包含SPL2LL和ActivePerl工具)2.安装
SPL2LL工具不需要安装,直接点开即可使用,但前提需要安装【ActivePerl】工具。
【ActivePerl】安装比较简单,一路Next下去即可。
3.使用SPL2LL
SPL2LL使用方法很简单,选在源和目标的型号、路径,然后执行即可。
选择好之后,点击“Migrate”即可执行转换。
这里需要耐心等待,比较费时间,原理就是遍历你源码中标准库,然后转换成LL库。4.转化代码前后对比
你会发现,即使被屏蔽的代码也进行了SPL转LL。主要内容就分享到了,希望对你有帮助。
-------
您可能关注的文档
- 社会稳定工作绩效评估报告(1)30字.docx
- 社会组织(基金会)公众筹募政策研究报告.docx
- 社会维稳风险评估报告社会维稳风险评估报告八篇.docx
- 社会舆论的内涵及其对教育发展的诉求.docx
- 社会资本视角下的农户借贷行为研究导论.docx
- 社会转型时期我国医患关系集体不信任现象研究.docx
- 社保负担与经济发展:来自战后全球经济增长的证据.docx
- 社区养老模式下户外活动空间设计探析.docx
- 社区协商:基层治理法治化的新探索.docx
- 社区卫生服务的发展.docx
- 2026届新高考生物热点冲刺复习植物生长素和其他植物激素.pptx
- 2026届新高考生物热点冲刺复习植物生长素.pptx
- 2026届新高考生物冲刺复习影响光合作用的因素及其应用.pptx
- 2026届新高考生物热点冲刺复习:组成细胞的元素与化合物.pptx
- 2026届新高考生物热点冲刺复习探究酵母菌细胞呼吸的方式.pptx
- 2026届新高考生物热点复习人类遗传病及遗传图谱分析.pptx
- 2026届新高考生物冲刺复习种群及其动态.pptx
- 2026届新高考生物热点冲刺复习+其他植物激素.pptx
- 2026届新高考生物热点冲刺复习DNA的结构.pptx
- 2026届新高考生物热点复习神经调节与体液调节.pptx
原创力文档


文档评论(0)