HAL库之是stm32cubemx安装

1HAL介绍

1)为什么要学习HAL库开发

HAL库是目前ST主力推广的开发方式,所以你如果还要用ST的芯片,会使用HAL库开发是势在必行的。而且最最关键的是,使用HAL开发有诸多的好处。

目前,HAL库已经支持STM32全线产品。
2)什么是HAL库

HAL库的全称是Hardware Abstraction Layer,翻译成硬件抽象层。HAL库是ST为STM32最新推出的抽象层嵌入式软件,可以更好的确保跨STM32产品的最大可移植性。该库提供了一整套一致的中间件组件,如RTOS,USB,TCP/IP和图形等。

HAL库是基于一个非限制性的BSD许可协议(Berkeley Software Distribution)而发布的开源代码。 ST制作的中间件堆栈(USB主机和设备库,STemWin)带有允许轻松重用的许可模式,只要是在ST公司的MCU 芯片上使用,库中的中间件(USB 主机/设备库,STemWin)协议栈即被允许随便修改,并可以反复使用。至于基于其它著名的开源解决方案商的中间件(FreeRTOS,FatFs,LwIP和PolarSSL)也都具有友好的用户许可条款。
3)CMSIS和HAL库的关系

CMSIS(Cortex Microcontroller Software Interface Standard)是 Cortex-M 处理器系列的与供应商无关的硬件抽象层。它是ARM公司制定的一个标准。它可以为处理器和外设实现一致且简单的软件接口,从而简化软件的重用、缩短微控制器新开发人员的学习过程,并缩短新设备的上市时间。简单来说,就是ARM公司制定标准,芯片厂商按照此标准编写相应的程序,实现统一的接口,方便开发人员的使用。

2HAL库开发环境搭建

HAL库环境一般都是直接使用STM32CubeMX 集成使用下面来安装它

安装STM32CubeMX 他是Java环境所以需要一个Java
2.1安装Java运行环境

STM32CubeMX 要求java8的运行环境。下载地址:https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html

我给大家准备的是:jre-8u381-windows-x64.exe。 (大家自己找一个Java版本安装就可以了 不是一定8)双击安装即可。

查看Java安装是否成功 在win + r 在输入cmd 黑窗输入 Java -version 即可查看如下

2.2安装STM32CubeMX

是ST公司提供的一个工具,非常方便的用图形化的方式帮我们创建工程,和完成各种配置。

下载地址:https://www.st.com/zh/development-tools/stm32cubemx.html#get-software

双击安装即可。








2.3在线下载芯片支持包

双击安装好的CubeMx。桌面会有快捷方式。

进入如下界面。

先安装下软件支持包:

点击安装之后,需要先登录你的ST账号,没有就先注册一个。

2.4离线安装芯片支持包

如果网速不好,下载会比较慢。也可以选择离线安装。

1)下载离线芯片支持包

下载地址:https://www.st.com/zh/development-tools/stm32cubemx.html#tools-software



2)导入芯片支持包

注意:

(1)上面的离线安装方式只能安装基础包(en.stm32cubef1.zip),升级包(en.stm32cubef1-v1-8-5.zip)无法安装.

(2)把en.stm32cubef1-v1-8-5.zip拷贝到stm32cube的仓库中,直接解压就行了.仓库位置: C:\Users\你的用户名\STM32Cube\Repository. 用解压的文件覆盖原来的基础包.

相关推荐
不脱发的程序猿1 分钟前
如何让Skill同时跑在Cursor、Codex和Claude Code里?
单片机·嵌入式硬件·嵌入式
longxiangam9 分钟前
esp-idf dsi 屏幕的驱动实现原理—— 关于零拷贝和 DMA 永续刷新
c语言·单片机·嵌入式硬件
星夜夏空9913 分钟前
FreeRTOS学习(6)——任务创建
单片机·嵌入式硬件·学习
Lance_mu2 小时前
UFS协议学习大纲
嵌入式硬件·七牛云存储
二进制10112 小时前
基于stm32的按键驱动框架的编写
stm32·单片机·嵌入式硬件
VALENIAN瓦伦尼安教学设备2 小时前
激光对中仪应用行业及全球市场份额解析
大数据·人工智能·嵌入式硬件
coward913 小时前
Linux内核驱动初始化流程认识(关于late_initcall和modul_init驱动初始化宏差异)
linux·嵌入式硬件
ACP广源盛139246256733 小时前
GSV2221@ACP# 高带宽低功耗显示转换芯片,赋能 TRAE SOLO 设备高清扩展升级
人工智能·嵌入式硬件·电脑·音视频
bbaydnog3 小时前
嵌入式面试高频题第4弹:函数指针进阶、堆栈分析、Makefile入门,这3个答不上来就悬了
单片机·面试·职场和发展
周周记笔记3 小时前
【元器件专题】比较NPN管与PNP管用作开关设计的区别
嵌入式硬件