HAL库的简单介绍以及环境搭建
目录
引言
一、HAL库的基本介绍
二、HAL库开发环境搭建
1、安装JAVA运行环境
2、安装STM32CubeMX
3、在线下载芯片支持包
引言
前面,我们学习了STM32基于寄存器的开发方式,能够更接近底层,但是随着我们学习的越来越深、代码越来与复杂,这个时候我们继续基于寄存器开发就会显得非常麻烦,在一定程度上就会影响到我们的开发效率。因此,为了提高开发效率,实现stm32的快速开发,这里我们有必要在学习一种STM32开发方式——基于HAL库开发。
一、HAL库的基本介绍
为什么要学习HAL库?
寄存器开发效率比较低,在工作中如果想快速开发,还是要会用到HAL库开发。
HAL库是目前ST主力推广的开发方式,所以你如果还要用ST的芯片,会使用HAL库开发是势在必行的。而且最最关键的是,使用HAL开发有诸多的好处。
目前,HAL库已经支持STM32全线产品。
什么是HAL库?
HAL库的全称是Hardware Abstraction Layer,翻译成硬件抽象层。简单来说就是我们的HAL库给我们使用的一些硬件模块做了一个抽象,然后提供了这些硬件的接口供我们直接使用,这样就大大提高了我们的开发效率。HAL库是ST为STM32最新推出的抽象层嵌入式软件,可以更好的确保跨STM32产品的最大可移植性。该库提供了一整套一致的中间件组件,如RTOS,USB,TCP/IP和图形等。
HAL库是基于一个非限制性的BSD许可协议(Berkeley Software Distribution)而发布的开源代码,因此我们可以对其进行二次开发。 ST制作的中间件堆栈(USB主机和设备库,STemWin)带有允许轻松重用的许可模式,只要是在ST公司的MCU 芯片上使用,库中的中间件(USB 主机/设备库,STemWin)协议栈即被允许随便修改,并可以反复使用。至于基于其它著名的开源解决方案商的中间件(FreeRTOS,FatFs,LwIP和PolarSSL)也都具有友好的用户许可条款。
简单介绍一下CMSIS与HAL库的关系
CMSIS(Cortex Microcontroller Software Interface Standard)是 Cortex-M 处理器系列的与供应商无关的硬件抽象层。它是ARM公司制定的一个标准。它可以为处理器和外设实现一致且简单的软件接口,从而简化软件的重用、缩短微控制器新开发人员的学习过程,并缩短新设备的上市时间。简单来说,就是ARM公司制定标准,芯片厂商按照此标准编写相应的程序,实现统一的接口,方便开发人员的使用。
二、HAL库开发环境搭建
现在我们要基于HAL库开发,和前面配置Keil一样,也需要搭建以下开发环境,此时我们会用到一个软件STM32CubeMX,因此我们需要先安装好该软件。
1、安装JAVA运行环境
STM32CubeMX要求JAVA8的运行环境,这里给出其下载地址,可自行下载:
Java Archive Downloads - Java SE 8u211 and later
进入官网,找到jre-8u381-windows-x64.exe然后下载即可,初次下载可能需要注册账号,直接按要求一步一步来即可。
2、安装STM32CubeMX
该软件是ST公司提供的一个工具,非常方便的用图形化的方式帮我们创建工程,和完成各种配置。
下载地址:https://www.st.com/zh/development-tools/stm32cubemx.html#get-software
我这里使用的版本是6.10.0版本的软件,进入官网找到如下图所示对应的版本,下载即可
下载到自己电脑以后,就可以开始安装了
首先双击自己下载产生的.exe文件,然后按照如下图操作,顺序进行即可
这里选择安装的路径,可自行选择
这是说将要给我们创建一个STM32CubeMX的目录,我们点击确定即可
这里问我们是否创建桌面快捷方式和在开始菜单创建快捷方式,自行勾选即可,然后这个第二步可能是根据你刚双击.exe文件是选择的【个人使用】还是【所有人使用】来选择的,能选all users就选吧,不能就选current user也不影响使用。
3、在线下载芯片支持包
首先,双击图标进入软件
进入后是这样的界面
然后,如果是初次使用ST的软件,可能没有ST的账号,所以我们先注册一个,方便后续下载他们的相关软件或支持包
然后根据提示创建好自己的账号然后登录即可
然后就是安装一下芯片支持包,按照下图操作即可
找到对应的芯片名,然后安装对应版本的芯片支持包。我这里芯片是STM32F103ZET6,所以选择STM32F1系列的芯片,然后使用1.8.5版本的支持包
至此,芯片支持包就安装完成了。接下来我们看看是否真正安装成功
首先进入STM32CubeMX,点击help,进行如下图操作
然后就能看见如下界面
这里给了我们仓库文件路径,所谓仓库,就是存放我们下载的芯片支持包存放的地方。我们直接复制这个路径即可查看我们芯片支持包的安装情况
如上图所示,主要是看第一个文件夹是否存在,存在则说明所选版本的芯片支持包安装成功了!
4、离线下载芯片支持包
有时候,我们网络可能会比较慢,所以在线下载时得等很久,因此我们还可以以离线的方式去下载对应的芯片支持包。这里给下载地址:
下载地址:https://www.st.com/zh/development-tools/stm32cubemx.html#tools-software