STM32
登录
直播中
golabs
8年用户
876经验值
擅长:可编程逻辑 电源/新能源 MEMS/传感技术 测量仪表
私信
关注
[问答]
HAL库是什么?HAL库的开发工具有哪几种呢
开启该帖子的消息推送
HAL库
stm32cubemx
微处理器
HAL库是什么?HAL库的开发工具有哪几种呢?HAL库的开发流程是怎样的?
回帖
(1)
王明
2021-12-13 10:49:54
前言
第一次写博客,记录自己的STM32HAL库学习之旅。之前使用的都是标准库,利用寒假想扩展一下,开始学习HAL库,而且看了很多资料,都说HAL库比标准库更好用,配合着ST官方的STMCubeMX和True Studio能使开发变得更加方便,提高开发效率,之后我的学习之路也是完全基于HAL库+官方开发工具进行的。由于我专业水平的局限性,可能教程中会有错误,望大佬能够指正,传授经验。
HAL库介绍
HAL是Hardware Abstraction Layer的缩写,中文名:硬件抽象层。HAL库是ST为STM32最新推出的抽象层嵌入式软件。可以说HAL库就是用来取代之前的标准外设库的。相比标准外设库,STM32Cube HAL库表现出更高的抽象整合水平,HAL API集中关注各外设的公共函数功能,这样便于定义一套通用的用户友好的API函数接口,从而可以轻松实现从一个STM32产品移植到另一个不同的STM32系列产品。目前,HAL库已经支持STM全系列产品,应用范围广,是ST官方主推固件库。
(关于HAL库的结构及API函数等详细介绍我就省略了,有兴趣的可以去网上查找相关资料,网上资料很齐全的)
HAL库开发工具介绍
1.STM32CubeMX
STM32CubeMX一个图形工具,它具有丰富的而又易于使用的图形用户界面,允许用户在图形界面配置STM32微处理器和微控制器,在图形界面进行时钟,寄存器,IO等的初始化操作,自动生成初始化C代码及工程文件,可适用于符合 IAR ™、Keil 和 GCC 等编译器。
【图形界面】
具体安装教程会在之后的文章专门做详细教程。
2.True Studio
上述STM32CubeMX属于配置工具,不能像MDK keil5、IAR等IDE一样进行C用户代码编辑和编译。我们普遍采用MDK keil5进行STM32程序的编辑和编译,但它是收费的(虽然我们用的几乎都是破解的),而且keil5的UI比较古老,有时候还经常出现一些bug。现在推荐使用True Studio编译器,用了之后发现这绝对是HAL库开发首选IDE。True Studio是Atollic开发的一款强大的基于Eclipse的C / C++集成开发工具,首先Atollic被ST收购后,这款IDE是免费的,而且可扩展,系统分析等功能,支持ST-Link和J-Link调试。除了功能强大外,UI也非常漂亮(eclipse界面)。
【True Studio界面】
具体安装及配置教程会在之后的文章专门做详细教程。
3.STM32CubeProgrammer
STM32CubeProgrammer是ST官方推出的新一代烧写工具,开发过STM32的都知道,我们平时烧录程序一般由这几种方式:通过ST-LinkJ-Link直接在编译器进行下载、通过串口烧录工具FlyMcu、通过USB DfuSe等。而STM32CubeProgrammer是一个高度集成的全新的程序下载工具,它集成了多种下载方式,同时具有如下多种功能:1、可对片内flash进行擦除或编程以及查看flash内容;2、支持S19,HEX,ELF、BIN等格式的文件;3、支持调试接口或bootloader接口、STLINK 调试接口【JTAG/SWD】、UART或USBDFU bootloader 接口;4、支持对外部的存储器的擦除或编程;5、支持STM32芯片的自动编程【擦除、校验、编程、选项字配置】;6、支持对STM32片内OTP区域的编程等。
安装教程后续更新。
HAL库开发流程
关于HAL库开发,和标准库开发没有多大区别,主要区别在于HAL库API函数大多比标准库功能强大,实现某种功能往往只需简单的几步函数调用,不需像标准库那样频繁调用函数;再配合ST官方开发工具:STM32CubeMX+True Studio+STM32CubeProgrammer,使得开发效率大大提高。而且使用STM32CubeMX进行处理器配置,能快速入门单片机,使小白更容易上手。
开发流程主要就是:1.使用STM32CubeMX对处理器进行配置,生成工程文件;2.用True Studio打开工程文件(当然,其他IDE也是OK的)进行用户程序设计、编译;3.使用STM32CubeProgrammer进行程序下载(其他途径也是OK)、在开发板运行;4.根据需求对程序进行优化和升级。
后话
后续会更新HAL库开发工具的安装教程及标准库例程向HAL库例程的移植,感谢支持!!!
前言
第一次写博客,记录自己的STM32HAL库学习之旅。之前使用的都是标准库,利用寒假想扩展一下,开始学习HAL库,而且看了很多资料,都说HAL库比标准库更好用,配合着ST官方的STMCubeMX和True Studio能使开发变得更加方便,提高开发效率,之后我的学习之路也是完全基于HAL库+官方开发工具进行的。由于我专业水平的局限性,可能教程中会有错误,望大佬能够指正,传授经验。
HAL库介绍
HAL是Hardware Abstraction Layer的缩写,中文名:硬件抽象层。HAL库是ST为STM32最新推出的抽象层嵌入式软件。可以说HAL库就是用来取代之前的标准外设库的。相比标准外设库,STM32Cube HAL库表现出更高的抽象整合水平,HAL API集中关注各外设的公共函数功能,这样便于定义一套通用的用户友好的API函数接口,从而可以轻松实现从一个STM32产品移植到另一个不同的STM32系列产品。目前,HAL库已经支持STM全系列产品,应用范围广,是ST官方主推固件库。
(关于HAL库的结构及API函数等详细介绍我就省略了,有兴趣的可以去网上查找相关资料,网上资料很齐全的)
HAL库开发工具介绍
1.STM32CubeMX
STM32CubeMX一个图形工具,它具有丰富的而又易于使用的图形用户界面,允许用户在图形界面配置STM32微处理器和微控制器,在图形界面进行时钟,寄存器,IO等的初始化操作,自动生成初始化C代码及工程文件,可适用于符合 IAR ™、Keil 和 GCC 等编译器。
【图形界面】
具体安装教程会在之后的文章专门做详细教程。
2.True Studio
上述STM32CubeMX属于配置工具,不能像MDK keil5、IAR等IDE一样进行C用户代码编辑和编译。我们普遍采用MDK keil5进行STM32程序的编辑和编译,但它是收费的(虽然我们用的几乎都是破解的),而且keil5的UI比较古老,有时候还经常出现一些bug。现在推荐使用True Studio编译器,用了之后发现这绝对是HAL库开发首选IDE。True Studio是Atollic开发的一款强大的基于Eclipse的C / C++集成开发工具,首先Atollic被ST收购后,这款IDE是免费的,而且可扩展,系统分析等功能,支持ST-Link和J-Link调试。除了功能强大外,UI也非常漂亮(eclipse界面)。
【True Studio界面】
具体安装及配置教程会在之后的文章专门做详细教程。
3.STM32CubeProgrammer
STM32CubeProgrammer是ST官方推出的新一代烧写工具,开发过STM32的都知道,我们平时烧录程序一般由这几种方式:通过ST-LinkJ-Link直接在编译器进行下载、通过串口烧录工具FlyMcu、通过USB DfuSe等。而STM32CubeProgrammer是一个高度集成的全新的程序下载工具,它集成了多种下载方式,同时具有如下多种功能:1、可对片内flash进行擦除或编程以及查看flash内容;2、支持S19,HEX,ELF、BIN等格式的文件;3、支持调试接口或bootloader接口、STLINK 调试接口【JTAG/SWD】、UART或USBDFU bootloader 接口;4、支持对外部的存储器的擦除或编程;5、支持STM32芯片的自动编程【擦除、校验、编程、选项字配置】;6、支持对STM32片内OTP区域的编程等。
安装教程后续更新。
HAL库开发流程
关于HAL库开发,和标准库开发没有多大区别,主要区别在于HAL库API函数大多比标准库功能强大,实现某种功能往往只需简单的几步函数调用,不需像标准库那样频繁调用函数;再配合ST官方开发工具:STM32CubeMX+True Studio+STM32CubeProgrammer,使得开发效率大大提高。而且使用STM32CubeMX进行处理器配置,能快速入门单片机,使小白更容易上手。
开发流程主要就是:1.使用STM32CubeMX对处理器进行配置,生成工程文件;2.用True Studio打开工程文件(当然,其他IDE也是OK的)进行用户程序设计、编译;3.使用STM32CubeProgrammer进行程序下载(其他途径也是OK)、在开发板运行;4.根据需求对程序进行优化和升级。
后话
后续会更新HAL库开发工具的安装教程及标准库例程向HAL库例程的移植,感谢支持!!!
举报
更多回帖
rotate(-90deg);
回复
相关问答
HAL库
stm32cubemx
微处理器
HAL
库
的GPIO
具有
哪几种
工作模式?
2022-02-08
1126
请问一下STM32
HAL
库
IIC有
哪几种
模式
2021-10-26
1130
串口接收
HAL
库
的数据分为
哪几种
方式
呢
2021-12-06
1127
STM32
HAL
库
与标准
库
的区别有哪些
2021-10-25
2049
浅析STM32
HAL
固件
库
2021-10-20
1918
如何对基于
HAL
库
的GPIO进行配置
呢
2022-01-19
943
请问一下STM32软件
开发
的模式有
哪几种
呢
2022-01-24
2135
如何去
开发
一种嵌入式程序?有
哪几种
方法?
2021-07-02
2044
stm32-
hal
库函数支持
哪几种
编程模式
呢
2021-11-16
665
请教下为什么编译存在
HAL
库
文件报错
呢
2022-08-01
1318
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分