使用STM32CubeMX搭建项目环境

前言

使用STM32单片机的朋友都知道,以前的使用STM32基本都是基于官方提供的库函数,也有寄存器版本的库函数,两者是类似的,入门也算很快的了。但是,从15、16年开始,ST逐渐停止了对标准外设库的更新和维护,转向了HAL和LL库。

SPL:Standard Peripheral Library标准外设库
HAL:Hardware Abstraction Layer硬件抽象层库 (通用所有硬件、资源大)
LL:Low-layer底层库 (需要指定硬件、资源小)
基于这样的背景,STM官方又推出了STMCube这样的IDE工具,进一步简化了开发的难度,使所有的HAL库和LL库开发变得非常容易,可以基于界面话的操作,自动生成,大大提高了开发的效率。

一、简介
STM32CubeMX是ST官方出的一款针对ST的MCU/MPU跨平台的图形化工具,支持在Linux、MacOS、Window系统下开发,支持ST的全系列产品目前包括:STM32L0,STM32L1,STM32L4,STM32L5,STM32F0,STM32F1,STM32F2,STM32F3,STM32F4,STM32F7,STM32G0,STM32G4,STM32H7,STM32WB,STM32WL,STM32MP1,其对接的底层接口是HAL库,STM32CubeMx除了集成MCU/MPU的硬件抽象层,另外还集成了像RTOS,文件系统,USB,网络,显示,嵌入式AI等中间件,这样开发者就能够很轻松的完成MCU/MPU的底层驱动的配置,留出更多精力开发上层功能逻辑,能够更进一步提高了嵌入式开发效率。


直观的选择MCU 型号,可指定系列、封装、外设数量等条件
微控制器图形化配置
自动处理引脚冲突
动态设置时钟树,生成系统时钟配置代码
可以动态设置外围和中间件模式和初始化
功耗预测
C 代码工程生成器覆盖了STM32 微控制器初始化编译软件,如IAR, KEIL,GCC。
可以独立使用或者作为Eclipse 插件使用

1.安装JAR

STM32CubeMX是基于Java的开发一个工具,所以需要安装JRE才能使用。

JRE 主要包含:java 类库的 class 文件(都在 lib 目录下打包成了 jar)和虚拟机(jvm.dll);JDK 主要包含:java 类库的 class文件(都在 lib 目录下打包成了 jar)并自带一个 JRE。JDK和JRE是Java开发和运行工具,其中JDK包含了JRE,但是JRE是可以独立安装的)

STM32CubeMX要求JRE最低版本是1.7.0_45,如果你电脑已安装JRE版本大于1.7.0_45,则可以不用再下载安装。
JAR官网下载地址:https://www.oracle.com/java/technologies/downloads/#jre8-windows(需要Oracle登陆)
JAVA官网下载地址:https://www.java.com/en/download/

2.安装STM32CubeMX

STM32CubeMX官网下载:https://www.st.com/en/development-tools/stm32cubemx.html
需要填写邮箱,安装连接会发送到邮箱


3.安装介绍

安装都比较简单,直接选择下一步和安装位置就可以,

二、STM32CubeMX使用

1. 安装对应STM芯片固件包

进入固件包的管理页面


假如出现这个页面没有关系需要等一下软件的自动更新,不相等的直接结束任务再重新打开


2. 修改固件包位置(可省略)

由于安装完固件包会自动安装在C盘,为了文件管理方便可以选择自己的位置

3. 安装固件包方式一共有三种方式,

(1)在线下载安装
选择需要下载的芯片系列,点击下载就可以,会自动解压到固件包的位置。目前的安装的速度还是算比较快,会安装最新的版本

(2)导入安装好的固件包
直接将挂件包复制到刚刚固件包位置的文件夹下就可以,再次进入Manger中就会看到的固件包的信息


(3)自定义地址
需要自己区添加地址一般是不会使用

三. 创建工程

直接选择就可以,或者选择Feil-New Project

1.选择使用的芯片

输入芯片的型号后会自动筛选系列的型号,


2 .配置

(1)配置时钟
选择 System Core-RCC设置时钟,这里有三种类型

Disable(禁用)
BYPASS Clock Source(旁路时钟源)
Crystal/Ceramic Resonator(晶体/陶瓷晶振)

对于BYPASS Clock Source(旁路时钟源),就是由外部给定一个时钟信号,是单向的,猜测一般用于作为同步时钟。在Clock Configuration中看到这个时钟是由外部输入的。

实际采用的是外部晶振,所以需要打开


需要更具芯片的频率设置


(2)配置烧录软件
选择 System Core-SYS设置调试工具,需要更具实际情况选择

(3)生成项目
需要项目名称、地址、IDE

Project Name:工程名称
Project Location:工程存放路径
Application Struture:应用程序结构

  • Basic:是基础的结构,一般不包含中间件(RTOS、文件系统、USB设备等)。
  • Advanced:相反就是包含中间件,一般针对相对复杂一点的工程。

Toolchain Folder Location:工具链文件夹路径

Toolchain/IDE:工具链/开发环境选择
安装自己实际IDE环境来选择,我这里用的MDK-ARM,版本是V5。后面的笔记也是用这个环境(除非用说明)。

堆栈设置:Heap堆为0x200,Stack栈为0x400

MCU参考型号

固件包名称与版本

如你创建了工程后,更新到了最新的固件包。旧工程还是用旧固件包,系统就会提示你"Migrate to the latest supported Fimware version"(“迁移到支持的最新固件版本”)。

最后选择GENERATE CODE生成项目

(4)生成遇到的问题
目录不要包含中文和空格

四、测试编译

每次重新生成项目代码后,用IDE重新编译下确认没问题,确保项目没有问题
通过Keil Debug可以看到可以正确连接
默认不会烧录重启需要勾选上

小记:
STM32CubeMX极大的方便了代码的移植和开发的标准化。


                        
原文链接:

STM32CubeMX项目环境搭建(01)_stm32f401 cubemax-优快云博客

介绍STM32CubeMX 5.0.0 STM32CubeMX32位ARM®Cortex®STM32微控制器的图形工具。它是STMCube“计划的一部分,既可以作为独立应用程序使用,也可以作为集成开发环境(IDE)集成的Eclipse插件使用 .STM32CubeMX具有以下主要功能: 轻松的微控制器选择涵盖整个STM32产品组合 从STMicroelectronics板列表中选择电路板。 简单的微控制器配置(引脚,时钟树,外设,中间件)和相应的初始化C代码的生成。 通过将先前保存的配置导入新的MCU项目,可轻松切换到属于同一系列的另一个微控制器。 生成配置报告。 为选择的集成开发环境工具链生成IDE就绪项目STM32CubeMX项目包括生成的初始化C代码,STM32 HAL驱动程序,用户配置所需的中间件堆栈以及在所选IDE中打开和构建项目所需的所有相关文件。 用户定义的应用程序序列的功耗计算。 自我更新允许用户使STM32CubeMX保持最新状态。 下载和更新用户应用程序开发所需的STM32Cube“嵌入式软件”(有关STM32Cube嵌入式软件产品的详细信息,请参阅附录E:STM32Cube嵌入式软件包)。 安装并运行STM32CubeMX 5.0.0 支持的操作系统和体系结构 Windows®7:32位(x86),64位(x64) Windows®8:32位(x86),64位(x64) Windows®10:32位(x86),64位(x64) Linux®:32位(x86)和64位(x64)(在RedHat,Ubuntu和Fedora上测试) 由于STM32CubeMX32位应用程序,因此某些版本的Linux 64位 发行版需要安装32位兼容软件包,如作为ia32-libs。 MacOS:64位(x64)(在OS X Yosemite上测试) 软件要求 在Windows和Linux上:Java运行时环境(最低版本1.7.0_45) 在MacOS上:Java开发工具包(最低版本1.7.0_45) 安装STM32CubeMX 要安装STM32CubeMX,请执行以下步骤: 将最新的STM32CubeMX安装包的全部内容从http://www.st.com/stm32cubemx解压缩(解压缩)到同一目录中 在Windows上 确保您拥有管理员权限 双击SetupSTM32CubeMX-5.0.0.exe文件 在Linux上 确保您具有目标安装目录的访问权限,您可以以root(或sudo)身份运行安装,以在共享目录上安装STM32CubeMX 在SetupSTM32CubeMX-5.0.0.linux文件上双击(或从控制台窗口启动) 在MacOS上 确保您具有目标安装目录的访问权限,您可以以root(或sudo)身份运行安装,以在共享目录上安装STM32CubeMX 在SetupSTM32CubeMX-5.0.0应用程序上双击(或从控制台窗口启动) 安装后,您可以安全地从磁盘中删除zip的内容。 有关系统要求或其他可能安装的更多详细信息,请参阅STM32CubeMX用户手册。 运行STM32CubeMX 在Windows上 从Program Files> ST Microelectronics> STM32CubeMX中选择STM32CubeMX。 或者双击桌面上的STM32CubeMX图标。 在Linux上 从STM32CubeMX安装目录启动STM32CubeMX可执行文件 在MacOS上 从启动板启动STM32CubeMX应用程序 卸载STM32CubeMX 要卸载STM32CubeMX,请执行以下步骤: 在Windows上 打开Windows控制面板。 选择“程序和功能”以显示计算机上安装的程序列表。 右键单击STM32CubeMX并选择卸载功能。 在Linux上 使用文件资源管理器,进入STM32CubeMX安装的卸载程序目录,然后双击startuninstall桌面快捷方式 或使用java -jar /Uninstaller/uninstaller.jar手动启动卸载 在MacOS上 使用文件资源管理器,进入STM32CubeMX安装的Uninstaller目录,然后双击uninstaller.jar 或直接将STM32CubeMX应用程序移动到回收站中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值