完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
前言
第一次写博客,记录自己的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库例程的移植,感谢支持!!! |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1117 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1143 浏览 1 评论
575 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
430 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1032 浏览 2 评论
1622浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
285浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
295浏览 3评论
280浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
259浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-21 16:18 , Processed in 0.751503 second(s), Total 46, Slave 40 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号