你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STM32C5教程】2. STM32CubeMX2 安装与使用

[复制链接]
HuangXF 发布时间:2026-10-11 11:10

STM32CubeMX(包括STM32CubeMX和STM32CubeMX2)是一款图形化工具,可简化STM32产品的配置,并通过分步引导的过程生成相应的初始化代码。

一、引言

上一篇介绍了STM32C5系列在主流MCU产品线中的定位。硬件规格之外,配套的开发工具同样关键。STM32CubeMX2正是ST为C5及后续新系列推出的全新配置工具,它并非经典版CubeMX的版本升级,而是一个独立的、面向HAL2软件层的全新工具。

简单来说,经典版CubeMX服务的是基于HAL1的现有全系列芯片,而CubeMX2专为HAL2架构的新芯片设计。两者可以并存安装,互不冲突。对于使用 STM32-C5 系列的开发者而言,CubeMX2 是唯一可用的图形化配置工具。

二、CubeMX2的核心变化

相比经典版CubeMX,CubeMX2带来了几个实质性的改进。

性能提升。 CubeMX2放弃了此前的Java框架,改用Electron构建,启动和运行速度有了显著提升。界面风格也更接近现代桌面应用,整体操作流畅度明显改善。

实时代码预览。 这是CubeMX2最实用的新特性。在配置引脚或外设时,右侧同步显示生成的代码片段,修改参数能立刻看到代码变化,无需先生成整个工程。开发者可以直接从预览窗口复制初始化代码粘贴到现有工程中,大幅加速原型开发。

引脚与时钟配置优化。 引脚配置新增了表格视图,支持搜索功能和复用引脚高亮显示。时钟配置除了图形树视图外,还提供了Table View和Highlight Path功能,可以清晰地追踪特定外设使用的时钟源。此外,GPIO配置信息中直接标注了引脚是否支持5V容忍及电源域信息,省去了查阅手册的步骤。

工程输出格式的变化。 CubeMX2不再支持MDK5工程,仅支持IAR、CMake和Open-CMSIS三种格式。这反映了ARM官方对AC5进入维护期的态度,也是推动开发者向更通用的CMake工作流迁移的信号。

三、CubeMX2安装

3.1 系统要求

CubeMX2支持Windows 10/11、Linux 64位和macOS。需要注意的是,CubeMX2不兼容Ubuntu 20.04,因为其依赖较新版本的glibc。界面设计的最低分辨率为1920×1080,在更低分辨率下使用可能会影响体验。

安装前需要确保磁盘有足够空间:不仅用于安装CubeMX2本身,还需要容纳多个设备包和软件包,以及后续创建的用户工程。

3.2 安装步骤

从ST官网的STM32CubeMX页面下载安装程序。安装包为约356MB的EXE文件,双击后进入四步向导:Welcome → Configuration → License → Installation。

安装过程中有几个细节需要留意:

路径规范。 安装路径和项目路径最好不包含中文、空格或特殊字符。STM32CubeMX2在Windows账户名或项目名包含非拉丁字符时可能出现编码问题。如果Windows用户名包含非ASCII字符,可以开启“Beta: 使用Unicode UTF-8提供全球语言支持”选项。

管理员权限。 安装程序需要修改系统级环境变量。如果不是以管理员权限运行安装器,可能导致安装失败。此外,安全软件也可能拦截环境变量的修改。

网络连接。 首次运行CubeMX2时会自动同步Pack包,需要保持网络畅通。

安装完成后启动软件,如果能看到首页的Board / MCU选择界面,说明安装成功。

image.png

四、创建工程与点灯实验

4.1 从开发板创建NUCLEO-C542RC工程

CubeMX2提供两种项目创建入口:Board和MCU。

在首页点击 Board,搜索框中输入 NUCLEO-C542RC 并选中,点击Continue进入下一步。在项目详情窗口中输入项目名称(如GPIO_IOToggle),选择项目保存路径。建议使用纯英文路径。

点击“Automatically Download, Install & Create Project”后,CubeMX2会自动联网下载STM32C5系列的固件包。首次使用需要花费一些时间,完成后界面会显示“Project Successfully Created”。

image.png

image.png

image.png

4.2 从MCU创建 STM32-C542RC工程

本系列从零开始,介绍通过选择 MCU 创建 STM32-C542RC 初始工程。

1、进入 MCU 选择界面:

启动 STM32CubeMX2,在首页点击 “MCU”,进入芯片型号选择列表。

2、搜索并选中芯片 在 MCU name 输入框中输入 STM32C542RC(或完整型号 STM32C542RCT6),从筛选出的列表中选择对应型号。

image.png

3、填写项目信息 输入项目名称和项目保存路径。项目名称避免使用特殊字符,路径同样建议使用纯英文目录。

image.png

4、创建项目 点击 “Automatically Download, Install & Create Project”。工具会自动下载该芯片对应的固件包并创建工程。

等待完成并启动:等待进度条完成,界面提示 “Project Successfully Created” 后,点击 Launch Project 进入配置界面。

image.png

![image.png](data/attachment/forum/202610/11/105642hpnpo86r3rppaj3v.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300

4.3 配置PA5引脚

项目创建完成后,软件自动进入Pinout视图,后续可继续配置时钟、外设和引脚功能。

image.png

(1)在芯片引脚图中找到 PA5。NUCLEO-C542RC 板载用户 LED(LD1)连接在 PA5 上,通过焊桥 SB8 与 LED 相连,默认 SB8 ON。根据 UM3615 手册,向 PA5 写入高逻辑电平(“1”)即可点亮 LD1。 (2)右键点击 PA5 引脚,在弹出菜单中选择 Assign signal,然后选择 GPIO。这一步是把引脚的功能分配给 GPIO 模块。 (3)再次右键点击 PA5,选择 Configure GPIO(或 Go to configuration GPIO),进入引脚功能详细设置界面。

image.png

image.png

4.3 时钟配置

在Clock Configuration界面中,选择HSE为时钟源,配置主频为144MHz。需要注意,HSE默认使用板载24MHz晶振,确保晶振参数与配置一致,否则可能无法跑到目标主频。

如果点开过Clock Configuration界面但未做任何修改,可能触发配置警告。这是CubeMX2的一个已知现象,点击界面中的Reset按钮恢复默认时钟配置即可消除。

4.4 生成工程

进入Project Settings,在 IDE Format 下拉选项中选择 CMake,CMake Toolchain 选择 GCC。确认配置无误后点击Generate Code。

生成前CubeMX2会执行配置检查,如果出现错误提示,需先定位问题再生成。常见触发点包括引脚冲突、时钟配置异常,以及FreeRTOS等中间件导致的SysTick冲突。

生成结果说明

生成完成后,项目路径下会出现标准 CMake 工程结构,包含:

  • Core/:main.c、main.h 等用户代码
  • Drivers/:HAL 库和 CMSIS
  • CMakeLists.txt:CMake 构建脚本
  • cmake/:工具链和编译选项配置

与旧版 CubeMX 生成的 .uvprojx 或 .ioc 文件不同,CubeMX2 输出的是可直接用 VS Code 或 STM32CubeIDE 打开的标准 CMake 工程。

image.png

4.5 编写点灯代码

在VS Code中安装STM32Cube插件,打开生成的工程文件夹。在Core/Src/main.c的while(1)循环中添加:

while (1)
{
    // 每 500ms 翻转一次 PA5
    HAL_GPIO_TogglePin(LD1_GPIO_Port, LD1_Pin);
    HAL_Delay(500);
}

由于第4.2步设置了别名LD1,生成的宏LD1_GPIO_Port和LD1_Pin分别对应GPIOA和GPIO_PIN_5,可直接使用。

image.png

4.6 生成代码、编译与烧录

点击VS Code底部状态栏的 Build 按钮进行编译。

点击VS Code左侧工具栏的 调试按钮打开“运行与调试”侧边栏,再点击“运行与调试”按钮,选择调试器为“STLink”。

烧录成功后,开发板上的 LD1 以500ms间隔翻转,闪烁周期约为1秒。将HAL_Delay(500)改为HAL_Delay(100),重新编译烧录,闪烁周期变为约200ms。

image.png

image.png

六、总结

本文从零开始,完整走了一遍 STM32CubeMX2 的安装、NUCLEO-C542RC 的工程创建、PA5 引脚配置、点灯代码编写、编译烧录到 LED 闪烁的全过程。

回顾整个流程,核心步骤可以概括为:

  1. 安装 CubeMX2:注意路径不含中文和空格,保持网络畅通,首次运行会自动同步 Pack 包。
  2. 创建工程:可以基于 Board(NUCLEO-C542RC)快速开始,也可以基于 MCU(STM32C542RC)精确指定芯片型号。
  3. 配置 PA5:右键分配 GPIO 信号,设置模式为 Output,并设置别名为 LD1,生成 LD1_GPIO_Port 和 LD1_Pin 两个宏。
  4. 生成工程:Project Settings 中选择 IDE Format 为 CMake、CMake Toolchain 为 GCC,生成标准 CMake 工程。
  5. 编写代码:在 while(1) 中调用 HAL_GPIO_TogglePin 和 HAL_Delay,实现 LED 闪烁。
  6. 编译烧录:在 VS Code 中打开工程,Build 后 Flash,观察 LD1 按设定频率闪烁。

STM32CubeMX2 原生支持 CMake 工程,配合 VS Code 的 STM32Cube 插件,整个开发流程比旧版工具链更轻量、更贴近现代嵌入式开发习惯。

赞 收藏 评论0 发布时间:2026-10-11 11:10

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版