关于STM32的四类嵌入式软件 (库)

关注我的朋友中,初学者比较多,今天就写点基础知识。
1写在前面
陆续收到一些朋友的问题:
1.我是选择寄存器开发stm32,还是标准外设库呢?
2.你有stm32l0标准外设库吗?
3.hal库和ll库有什么差异?
。。。
针对stm32开发使用的嵌入式软件,或者我们说的库,可以分为四类:
stm32snippets
standard peripheral library
stm32cube hal
stm32cube ll
下面就写一下关于这四种库的相关内容、以及对比应用等。
2
stm32snippets
什么是stm32snippets?
stm32snippets是高度优化的代码示例集合,使用符合cmsis的直接寄存器访问来减少代码开销,从而在各种应用程序中最大化stm32 mcus的性能。
每个stm32系列的100多个片段演示了如何以最小的内存占用有效地使用stm32外围设备。
地址:
https://www.st.com/en/embedded-software/stm32snippets.html?querycriteria=productid=ln1898
stm32snippets可以理解为我们常说的“寄存器”开发stm32的底层驱动代码。
主要针对的底层开发人员,或者从51转过来,直接操作寄存器开发的人员。 是没有经过封装,可见底层寄存器的一套示例代码。
stm32snippets目前官方只提供:stm32f0和l0的示例代码包。
3
standard peripheral library
standard peripheral library:简写spl,也叫标准外设库。
标准外设库相信学习过stm32的朋友都不陌生,是一组外围设备的c语言代码集合。
标准外设库是在寄存器的基础上进行了一次简单封装,主要是面向过程的嵌入式系统开发人员。
地址:
https://www.st.com/en/embedded-software/stm32-standard-peripheral-libraries.html?querycriteria=productid=ln1939
目前标准外设库支持stm32f0、 f1、 f2、 f3、 f4、 l1,不支持f7、 h7、 l0、 l4、 g0等系列。
所以,不要再问:在哪里下载l0的标准外设库了。
4
stm32cube hal 和 ll
hal:hardware abstraction layer,硬件抽象层库
ll:low-layer,底层库
stm32cube hal 和 ll配合stm32cubemx工具对stm32进行开发。
hal针对的是具有一定嵌入式基础的开发人员,hal具有很好的移植性。
ll库相对hal,具有简单的结构,针对之前从事spl,或寄存器开发的人员。
地址:
https://www.st.com/stm32cubemx
最近新增了stm32cube mp1。
stm32cube hal 和 ll是目前官方重点维护和更新的库,也建议大家都学习一下。而且新出来的型号(如l4、g0等)就只有stm32cube hal 和 ll库了。
5
四种库对比
来自官方的对比信息,包含可移植性、优化、难以程度等。
其中:
portability:可移植性
optimization :优化
easy:难易程度
hardware coverage:硬件覆盖
定位:
支持器件:
最近新增了stm32cube mp1,官方没有统计上。
库之间的转移:
本文就到这里,希望以上内容对你有所帮助!

SKI动力电池业务分拆有利还是有弊?
什么是非接触式液位传感器?是什么原理可以隔容器感应液位?
东芝部分产业停产 预估将在7月中旬恢复所有设备生产
雄安电网开启能源互联时代引领未来智慧生活
记忆科技携手中国电信,一站式存储打造坚实数字底座
关于STM32的四类嵌入式软件 (库)
最佳手机评比,iPhone X仅获“最佳拍照手机”分类冠军
分析师为何预计三星在第二季度利润超越苹果?
如何保证“备份服务器”性能最佳?数据安全专家建议参考分析
这三款手机可以说是极致的性价比,哪一款更让你心动呢?
Daydream控制器出问题了 教你几招江湖救急
Salto:一款垂直弹跳能力最强的机器人 能连续起跳高度超1M
图片处理能力提升50%,杉岩智能存储是如何做到的?
Python为区块链编写智能合约第一步是怎样的
宜家黑科技,将虚拟家具带入您的家庭
泰凌微电子2.4GHz 4对1会议麦克风方案介绍
辰芯科技获得CEVA DSP授权许可 用于高性能无线和汽车通信平台
GPS天线的分类及特点
我国三大运营商正式公布了2019年第一个月的运营数据情况
全国光伏产业实现快速发展,未来国产浆料市占率有望持续突破