STM32三种库:
库的类型:
ST已经推出了三种库函数,以方便客户快速开发STM32系列MCU。从15、16年开始,ST逐渐停止了对标准外设库的更新和维护,转向了HAL和LL库。
(1) 标准外设驱动库SPL Standard Peripheral Library
(2) Cube HAL Hardware Abstraction Layer硬件抽象层库
(3) Cube LL以及直接操作寄存器 Low-layer底层库
几种库的区别:
①Cube LL库的效率优于HAL库的,几乎和直接写寄存器的效率相差无几。
②HAL库函数因为要顾及整个STM32系列间的代码高度兼容与可移植性,代码相对庞大。对于刚接触STM32的人来说,非常易于上手做些基本的评估和验证,入门快捷。
③LL库的出现,是对HAL库的有力补充。相比HAL库用户,LL库用户需要对MCU及相应外设有更为细致的了解
目前,STM32cubeMX不但支持基于HAL库的初始化文件的生成,也已支持基于LL库的初始化文件及工程的生成,对于已经比较熟悉STM32应用或关注代码效率的开发人员来说,可以优先考虑使用LL库。
STM32CubeMX:
STM32CubeMX是一个图形化的软件配置工具,使用图形向导可以生成STM32初始化代码工程。STM32CubeMX这个工具是ST目前重点打造的工具,目的就是为了方便开发者,节约时间,提高开发效率
官方地址:https://www.st.com/stm32cubemx
STM32CubeMX特性:
1.直观的选择 STM32 微控制器(MCU)和微处理器(MPU)。
2.丰富易用的图形化界面: -自动解决配置冲突 -具有参数约束动态验证的外设和中间件功能模式 -时钟树与配置的动态验证 -功耗预测
3.生成初始化代码工程,包含:EWARM、 MDK-ARM、 TureSTUDIO、 SW4STM32等。
4.针对部分MPU生成Linux设备树。
5.可独立运行在Windows、Linux和macOS上使用,或作为 Eclipse 插件使用。
安装 JRE:
安装(安装一直下一步即可)
由于 STM32CubeMX 软件是基于 JAVA 环境运行的,所以需要安装 JRE (Java Runtime Environment)才能使用, 建议到官网下载最新版本JRE。
地址:https://www.java.com/en/download/manual.jsp
下载STM32CubeMx和HAL库
官方地址:http://www.st.com/stm32cubemx
HAL库下载:
CubeMX下载并安装(安装一直下一步即可):
HAL库的安装:(LL库也在)
HAL库,也可理解为软件包,有在线安装、离线安装两种方式。
在线安装
打开安装好的 STM32CubeMX 软件, 进入库管理界面(Help -> Manage embedded...),会有一个列表, 勾选上你要安装的HAL库, 点击“Install Now” 直到安装成功。 如下图:
这种方式比较简单,需要联网在线下载,可能需要等待一段时间。如果刷新之后,可以看到最新版本,以及一些老版本HAL库。
离线安装:
离线安装的前提是需要下载好离线包,方法有两种:1.从库管理界面直接导入离线包。2.直接解压离线包到指定路径下。
1.导入离线包
2.直接解压 Help -> Updater Settings得到HAL库路径(直接解压HAL库离线包,注意路径、文件夹名需一致)
原文:https://www.cnblogs.com/darren-pty/p/13302199.html