0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 2020-03-04 09:27 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

关注我的朋友中,初学者比较多,今天就写点基础知识。

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,官方没有统计上。

库之间的转移:

本文就到这里,希望以上内容对你有所帮助!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5186

    文章

    20145

    浏览量

    328763
  • STM32
    +关注

    关注

    2305

    文章

    11120

    浏览量

    371128
  • stm32cubemx
    +关注

    关注

    5

    文章

    287

    浏览量

    17147
  • HAL库
    +关注

    关注

    1

    文章

    121

    浏览量

    7478
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    CW32嵌入式软件开发的必备知识

    嵌入式软件开发作为计算机科学和电子工程的交叉领域,要求开发人员具备一系列的专业知识和技能。 而基于CW32的嵌入式软件开发必备知识包括以下部分: 1 、编程语言 熟练掌握C(C++
    发表于 11-28 07:48

    嵌入式与FPGA的区别

    ,一是嵌入式软件开发,主要与嵌入式cao作系统、应用软件等有关。第二是嵌入式硬件开发,需要掌握硬件设计、模拟仿真、 PCB设计等技能。 ✅2
    发表于 11-20 07:12

    RT-Thread 2025嵌入式软件大赛重磅来袭

    为激发开发者潜能、促进技术交流,RT-Thread 正式启动2025年度嵌入式软件大赛! 本赛道为嵌入式软件大赛,聚焦嵌入式
    的头像 发表于 09-22 16:40 3248次阅读
    RT-Thread 2025<b class='flag-5'>嵌入式</b><b class='flag-5'>软件</b>大赛重磅来袭

    RT-Thread 2025嵌入式软件大赛重磅来袭

    为激发开发者潜能、促进技术交流,RT-Thread正式启动2025年度嵌入式软件大赛!本赛道为嵌入式软件大赛,聚焦嵌入式
    的头像 发表于 09-20 10:06 1280次阅读
    RT-Thread 2025<b class='flag-5'>嵌入式</b><b class='flag-5'>软件</b>大赛重磅来袭

    嵌入式达到什么水平才能就业?

    工具定位问题具备嵌入式软件模块化设计能力:能按功能划分代码模块,编写规范的头文件与源文件,实现模块间低耦合调用会使用Git 进行版本管理:能提交代码、解决冲突、回滚版本,熟悉敏捷开发流程中需求拆解与任务分配逻辑
    发表于 09-15 10:20

    新一代嵌入式开发平台 AMD嵌入式软件和工具2025.1版现已推出

    AMD 2025.1 版嵌入式软件和工具是面向新一代嵌入式系统开发而打造的综合平台,全面加速概念构想到部署落地。 2025.1 版嵌入式软件
    的头像 发表于 08-20 09:15 3625次阅读

    AMD 2025.1版嵌入式软件和工具的新增功能

    AMD 2025.1 版嵌入式软件和工具是面向新一代嵌入式系统开发而打造的综合平台,全面加速概念构想到部署落地。
    的头像 发表于 08-15 15:32 1030次阅读

    嵌入式软件开发常用的软件有哪些?

    配置STM32微控制器和微处理器硬件和软件设置。同时也可以用来写代码编译。 6. VMWare Workstation 嵌入式Linux开发,除了装双系统之外,还可以装一个虚拟机软件
    发表于 07-03 17:06

    嵌入式开发入门指南:从零开始学习嵌入式

    基础 3. 学习路径推荐第一阶段:熟悉开发环境(如Keil、IAR、STM32)第二阶段:掌握裸机编程与驱动开发第三阶段:学习RTOS(实时操作系统)如FreeRTOS第阶段:深入理解Linux嵌入式
    发表于 05-15 09:29

    嵌入式软件行业增长驱动因素

    嵌入式软件在物联网应用中至关重要,因为它管理设备操作、控制传感器、支持连接并确保数据安全。例如,在智能家居中,恒温器、安全摄像头和灯光等设备使用嵌入式系统独立运行,并通过云平台或本地网络与其他智能
    的头像 发表于 05-09 11:26 665次阅读

    嵌入式适合自学吗?

    基础。对于初学者来说,很难在短时间内建立起完整的知识体系。 2)学习曲线陡峭:嵌入式开发需要掌握多种编程语言、硬件知识、操作系统原理等,学习曲线非常陡峭。例如,学习STM32微控制器时,需要理解其基本架
    发表于 04-27 09:54

    STM32开发入门进阶必备!《STM32嵌入式系统开发—基于STM32CubeMX和HAL》新书发布!

    近日,由华清远见教育科技集团精心编撰的教育部高等学校电子信息类专业教学指导委员会规划教材、普通高等教育电子信息类专业系列教材——《STM32嵌入式系统开发—基于STM32CubeMX和HAL
    的头像 发表于 04-03 14:54 1364次阅读
    <b class='flag-5'>STM32</b>开发入门进阶必备!《<b class='flag-5'>STM32</b><b class='flag-5'>嵌入式</b>系统开发—基于<b class='flag-5'>STM32</b>CubeMX和HAL<b class='flag-5'>库</b>》新书发布!

    嵌入式机器学习的应用特性与软件开发环境

    设备和智能传感器)上,这些设备通常具有有限的计算能力、存储空间和功耗。本文将您介绍嵌入式机器学习的应用特性,以及常见的机器学习开发软件与开发环境。 嵌入式机器学习的应用特性与优势 由于嵌入式
    的头像 发表于 01-25 17:05 1209次阅读
    <b class='flag-5'>嵌入式</b>机器学习的应用特性与<b class='flag-5'>软件</b>开发环境

    清华大学出版社推出RT-Thread新作,助力嵌入式开发人才培养

    和RT-Thread操作系统》。作为第16本关于RT-Thread的权威著作,本书旨在培养和锻炼嵌入式系统应用的开发技术,以实践为主线,全面介绍了基于STM32F1HAL和国产R
    的头像 发表于 01-16 19:07 910次阅读
    清华大学出版社推出RT-Thread新作,助力<b class='flag-5'>嵌入式</b>开发人才培养

    嵌入式系统开发与硬件的关系 嵌入式系统开发常见问题解决

    嵌入式系统开发与硬件的关系 嵌入式系统是专为特定应用设计的计算机系统,它们通常嵌入在所控制的设备中。这些系统的关键特点是它们与硬件的紧密集成,这意味着软件必须为特定的硬件平台量身定制。
    的头像 发表于 12-09 09:38 1466次阅读