一、STM32CubeMX2 是什么STM32CubeMX2(简称 MX2)是意法半导体(ST)在 2026 年 3 月随 STM32C5 系列一起推出的新一代图形化配置与代码生成工具。它不是经典 STM32CubeMX 的版本号递增,而是一次从界面交互到工程结构的全新重做。ST 官方称其为 STM32CubeMX 的“新形态(new flavor)”:两者长期共存,经典 STM32CubeMX 继续支持已有的全系列芯片(F、G、L、H、U、WB 等),而 MX2 承接 STM32C5 以及未来所有新系列。 官方明确:从 STM32C5 系列开始,新发布的微控制器将只支持 STM32CubeMX2。也就是说,玩 NUCLEO-C542RC 这类 C5 板子,MX2 就是唯一的官方配置工具,经典 CubeMX 打不开 C5 的工程。 与 MX2 配套的是全新的 HAL2 硬件抽象层(STM32C5 的 HAL 版本为 2.0.0)。HAL2 的 API 命名和文件组织与经典 HAL 不同:例如定时器句柄由 TIM_HandleTypeDef 变成 hal_tim_handle_t,生成的文件变成 mx_tim2.c、mxrcc.c 这类 mx 前缀风格。因此 MX2 生成的代码与经典 HAL 工程不能混用,移植时不能直接复制粘贴。 MX2 的项目文件后缀是 .ioc2(不是经典 CubeMX 的 .ioc),两种格式不互通。 二、下载与安装下载入口是 ST 官网的 STM32CubeMX 产品页。 页面下载区同时列出 STM32CubeMX 和 STM32CubeMX2 两个安装包,按芯片系列选择:C5 选 MX2。 MX2 支持 Windows、Linux、macOS 三大平台,安装包在各自平台的下载行里。 安装环节有三点要提前知道。 第一,软件本体安装包不大,但只是“壳子”。第一次点 Create project 时,会弹出 Installation of missing pack(s) is required to continue 对话框, 第二,MX2 本身不带烧录和调试能力,生成的工程里没有 flash target,要另装 programmer bundle 才有下载手段。 第三,MX2 不支持自我更新,升级要重装,且不支持并行安装(同一台机器同时只装一个版本)。 三、使用方法(一)新建项目首页有三个入口:MCU(从芯片型号建项目)、Board(从开发板建项目)、Project(从文件系统打开已有项目)。用 NUCLEO-C542RC 时直接走 Board 入口最省事,开发板列表里能找到 NUCLEO-C542RC、NUCLEO-C562RE、NUCLEO-C5A3ZG。
选完 MCU 或 Board 后是三步向导:Select MCU / Board → Project Details(填项目名、选路径,自动生成 .ioc2 工程文件)→ Setup in Progress,最后点 Automatically Download, Install & Create Project,工具会自动下载安装缺失的 pack 并创建工程。 (二)六个配置功能区工程打开后,左侧导航栏是全部配置入口:Pinout、Clock、Peripherals、Middleware and utilities、Parts,以及右上角的 Project Settings / IDE project generation。 Pinout(引脚):图形视图加表格视图,表视图把全部引脚位号、名称、状态、信号、标签平铺对齐,做全量核对非常方便;右侧 Detail view 直接列出每个引脚的复用功能(如 USB_FS_N、DEBUG_SWIO),比经典 CubeMX 悬停看引脚效率高;还支持增强引脚搜索和备用引脚高亮。引脚状态用新配色区分:未分配、不可配置、可配置、保留、已配置、排除、配置警告、配置错误等。
Clock(时钟):提供 Graphic view 和 Table view 两种视图,表视图把每一级时钟的实际频率、取值范围、单位列出来,非常实用;点任意时钟节点可高亮它依赖的整条路径(Highlight Path),一眼看清外设与时钟源的关系。快捷键也有变化:按住鼠标中键拖拽平移、Ctrl 加滚轮缩放。
Peripherals(外设):按类别分组(Cortex、System、I/O、Analog、Timers、Connectivity、Computing、Memory、Security),可搜索、可按 Active / Inactive 过滤;右侧 Quick menu 能直达当前外设关联的 GPIO、DMA、NVIC 设置,不容易漏配置。
Middleware and utilities(中间件与工具组件):添加中间件;目前 MX2 只支持 FreeRTOS,其他中间件会陆续加入。
Parts:MX2 新增的 Part Drivers 能力,即针对具体芯片和开发板封装好的模块化驱动包(如 Button、LED),启用后直接调用标准 API 控制板载外设,减少样板代码。 Project Settings / IDE project generation:选择 IDE 与代码生成方式,支持 STM32CubeIDE、CMake(VS Code / 命令行)、IAR、Keil Studio;代码层可选 HAL2 或 LL。默认产出 CMake + Ninja 工程,配合 VS Code 的 STM32CubeIDE 扩展使用。
(三)代码预览MX2 的 Code Preview 不需要生成完整工程,就能在预览窗口直接看到初始化代码,配置改动实时反映;Show change(s) 提供 diff 视图,能看出配置变化对代码的影响;代码片段可直接复制进自己的工程。对把 CubeMX 当“代码片段生成器”用的开发者非常方便。
(四)命令行与自动化MX2 提供了比经典 CubeMX 更强的命令行接口,可以把“图形化配置 → 生成 CMake 工程 → 命令行编译”串成完整自动化链路,适合 CI 和脚本化构建。 四、与经典 STM32CubeMX 的对比核心流程相同:都是选芯片、配引脚、配时钟、配外设、生成初始化代码。主要区别在以下方面。 支持范围:经典 MX 支持全系列(F、G、L、H、U、WB、MP 等),MX2 目前只支持 STM32C5 系列;从 C5 开始的新系列只进 MX2。两者共存,不是替代关系。 底层驱动:经典 MX 配传统 HAL(TIM_HandleTypeDef 这类 API),MX2 配全新 HAL2(hal_tim_handle_t 这类 API),代码不能互通。 工程文件:经典 MX 用 .ioc,MX2 用 .ioc2,两种格式不互通,老工程无法直接迁移,需要重建。 默认构建方式:MX2 默认产出 CMake + Ninja 工程(VS Code、命令行友好),经典 MX 传统上生成 IDE 工程(CubeIDE、MDK、IAR 等)。 |
深圳见!走进GEIA创新周,现场体验ST人形机器人全套参考设计
意法半导体精彩亮相IOTE 2026深圳物联网展
探索连接与安全的未来|ST安全与连接事业部线下研讨会即将登陆深圳南山区
倒计时!ST邀您齐聚2026 SSA亚洲智能传感器与应用技术博览会,共探人形机器人感知新生态
下周启幕|ST邀您参加2026 ATC上海国际动力展,多款汽车创新方案等你来探
今日盛会开场|奔赴低空之约,相聚2026世界无人机大会ST展位
【toughGFX】使用cubeMX创建空白的touchgfx工程
【toughGFX】从touchGFX下载到开发板
【参会有礼】2025年STM32研讨会,北京&上海等你!
【参会有礼】STM32研讨会.北京参会体验
微信公众号
手机版