Author:果果小师弟 电子信息专业在读研究生
有一点思考,有一点想法,有一点理性!
定个小小目标,努力成为习惯!在最美的年华遇见更好的自己!
CSDN@果果小师弟,CSDN首发,果果原创
个人主页的地址为: 👉 智果芯个人站 👈
1 什么是STM32Cube
STM32Cube是ST提供的一套性能强大的免费开发工具和嵌入式软件模块,能够让开发人员在STM32平台上快速、轻松地开发应用。它包含两个关键部分:
- 1-图形配置工具 STM32CubeMX。允许用户通过图形化向导来生成 C 语言工程。
- 2-嵌入式软件包(STM32Cube库)。包含完整的 HAL 库(STM32 硬件抽象层 API),配套的中间件(包括 RTOS,USB,TCP/IP 和图形),以及一系列完整的例程。嵌入式软件包完全兼容 STM32CubeMX。
ST先后提供了两套固件库:标准库和HAL库。STM32芯片面市之初只提供了丰富全面的标准库,大大便利了用户程序开发,为广大开发板所推崇,同时也为ST积累了大量标准库用户。有过STM32基础的同学想必对标准库非常熟悉。正点原子所有STM32F1开发板以及探索者STM32F407开发板都是采用的标准库。目前网络学习资料和源码,绝大多数都是采用的标准库。
2 HAL库是啥时候出现的?
大约到2014年左右,ST在标准库的基础上又推出了HAL库。实际上,HAL库和标准库本质上是一样的,都是提供底层硬件操作API,而且在使用上也是大同小异。有过标准库基础的同学对HAL库的使用也很容易入手。个人认为ST官方之所以这几年大力推广HAL库,是因为HAL的结构更加容易整合STM32Cube,而STM32CubeMX是ST这几年极力推荐的程序生成开发工具。所以这两年新出的STM32芯片,ST直接只提供HAL库。在新型的STM32芯片中,用HAL库逐步淘汰标准库。
那么有很多同学不禁要问,我们是使用HAL库还是标准库好呢?这里我们想说的是,HAL库和标准库都非常强大,对于目前标准库支持的芯片采用标准库开发也非常方便实用,而且目前网络资料和程序大部分都是讲解的标准库。大家不需要纠结自己学的是HAL库还是标准库,无论使用哪种库,只要理解了STM32本质,任何库都是一种工具,使用起来都非常方便。学会了一种库,另外一种库也非常容易上手,程序开发思路转变也非常容易。如果你是一个STM32熟手,长期从事STM32开发,那么有必要对标准库和HAL库都有一定的了解,这样才能在项目开发中得心应手游刃有余。同时,对于STM32熟手,Cube确实是个非常强大的工具,也是ST这几年大力推广的工具。
STM32CubeMX是ST意法半导体近几年来大力推荐的STM32芯片图形化配置工具,允许用户使用图形化向导生成C初始化代码,可以大大减轻开发工作,时间和费用。STM32CubeMX几乎覆盖了STM32全系列芯片。它具有如下特性:
- ①直观的选择MCU型号,可指定系列、封装、外设数量等条件
- ②微控制器图形化配置
- ③自动处理引脚冲突
- ④动态设置时钟树,生成系统时钟配置代码
- ⑤可以动态设置外围和中间件模式和初始化
- ⑥功耗预测
- ⑦C代码工程生成器覆盖了STM32微控制器初始化编译软件,如IAR、KEIL、GCC。
3 STM32Cube和STM32CubeMX
STM32Cube包含STM32CubeMX图形工具和STM32Cube库两个部分,使用STM32CubeMX配置生成的代码,是基于STM32Cube库的。也就是说,我们使用STM32CubeMX配置出来的初始化代码,和STM32Cube库兼容,例如硬件抽象层代码就是使用的STM32的HAL库。不同的STM32系列芯片,会有不同的STM32Cube库支持,而STM32CubeMX图形工具只有一种。所以我们配置不同的STM32系列芯片,选择不同的STM32Cube库即可。它们之间的关系如下图:
STM32CubeMX运行环境搭建包含两个部分。首先是Java 运行环境安装,其次是STM32CubeMX软件安装。对于Java 运行环境,大家可以到 Java官网 www.java.com 下载最新的Java 软件。这里需要注意,STM32CubeMX 的 Java 运行环境版本必须是V1.7 及以上,如果电脑安装过 V1.7 以下版本,请先删掉后重新安装最新版本。
4 STM32CubeMX软件的安装
STM32CubeMX软件的安装分为3个部分:
1-安装JRE,JAVA运行环境。
2-安装STM32CubeMX软件。
3- 安装芯片的固件支持包 ,也就是HAL库。
jre-8u45-windows-x64: 64位的JRE安装文件。
en.stm32cubemx_v6-0-1: STM32CubeMXV6.01安装文件。
STM32Cube_FW_F1_V1.8.0: STM32F1 包 系列芯片的固件支持包V1.80
STM32Cube_FW_F4_V1.25.0: STM32L1 包 系列芯片的固件支持包V1.25
4.1 下载Java安装文件JRE
JAVA下载:www.java.com/zh_CN/
-
32位:http://javadl.sun.com/webapps/download/AutoDL?BundleId=106257
-
64位:http://javadl.sun.com/webapps/download/AutoDL?BundleId=106248
4.2 下载STM32CubeMX软件
- STM32CubeMX软件下载:https://www.st.com/stm32cube
1 点击下载链接之后,进入官网。点击Associated products。
2 点击Associated products之后页面跳转到最下面,然后点击STM32CubeMX。
3 然后点击Get Software。
4 点击Get Software之后页面跳转到最下面,然后点击Get Software。
5 点击接受ACCEPT。
6 然后点击Download,就可以下载了。
4.3 下载安装芯片的固件支持包
下载地址:STM32Cube MCU和MPU包
上面这个地址是所有包的下载地址,但是怕有的小伙伴不知道点击哪里,这里我把几个常用的几个系列的包的下载地址放在这里,点击就可以下载,下载之后解压就可以。
STM32Cube_FW_L0
STM32Cube_FW_L4
STM32Cube_FW_L5
STM32Cube_FW_F1
STM32Cube_FW_F2
STM32Cube_FW_F3
STM32Cube_FW_F4
4.1.1 安装JAVA运行环境
下载完成之后,一键到底傻瓜式安装完成即可。
双击安装包“JavaSetup8u151.exe”,具体操作步骤如下:
4.2.1 安装STM32CubeMX
1 将我们下载的en.stm32cubemx_v6-0-1文件解压之后点击SetupSTM32CubeMX-6.0.1.exe可执行文件进行安装。
2 点击“Next”
3 打钩之后点击下一步
4 打钩之后点击下一步
5 修改软件的安装路径,最好不要装载C盘
6 这里我安装在D盘中,然后点击下一步
7 点击下一步Next
8 等待安装,等进度条走完之后点击Next
9 至此软件安装完成,点击“Done”
如果这三个步骤的文件你不想下载,请关注微信公众号,后台回复:STM32CubeMX,即可获取如下文件下载链接。
好书不厌百回读,熟读自知其中意。将学习成为习惯,用知识改变命运,用博客见证成长,用行动证明努力。
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
听说 👉 点赞 👈 的人运气不会太差,每一天都会元气满满呦!^ _ ^ ❤️ ❤️ ❤️
码字不易,大家的支持就是我坚持下去的动力。点赞后不要忘了👉 关注 👈我哦!
更多精彩内容请前往 果果小师弟的微信公众号
如果以上内容有任何错误或者不准确的地方,欢迎在下面 👇 留个言。或者你有更好的想法,欢迎一起交流学习~~~