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

《STM32CubeMX2 实战课程》学习笔记#6 课程05.STM32CubeMX2导出IAR工程

[复制链接]
北方 发布时间:2026-9-18 09:12

1 课程05 .STM32CubeMX2导出IAR工程 本课程是演示第三方 IDE 路线之一——IAR Embedded Workbench for ARM(EWARM),这个也是一种常用的工具。

方法是用 CubeMX2 重新生成 IAR 格式工程(自动切换工具链与输出目录),由于 STM32C5 较新,需先通过固件包内附带的 IAR 设备支持补丁包(STMicroelectronics.stm32c5xx.2.1.0.iar.zip,要求 EWARM ≥ 9.20.1)扩展 IAR 对 C5 的支持;

然后打开 .eww 工作区、接受工程格式转换、Rebuild All 编译、手动补回用户代码,最后 Download and Debug 下载调试,实现LED 闪烁的效果。

2 用 CubeMX2 生成 IAR 工程的内容

2.1 首先双击 .ioc2 重新打开 gpio_toggle 工程 执行如下的顺序: Project settings → IDE Project Generation 选择 IAR 对应的工程格式,CubeMX2 自动选择工具链并修改输出目录名 → Generate IDE project → 选择 IAR 格式后工具链和输出目录名会自动切换,点击生成等待完成

这样就是导出了IAR格式的工厂代码第一步。

2.2 在IAR内使用前的准备

打开IAR工程所在的目录,如下顺序 Show on disk → 进入 EWARM 目录,可见 CubeMX2 已生成 IAR 工程所需文件

需要注意,C5 系列较新,打开工程前要确认 IAR 已支持 C5,或已安装相应支持包

进入固件包的 DFP\IAR_patch\EWARM 目录,用 VS Code 打开 README.md:可以看到,补丁适用于 EWARM 9.20.1+;压缩包 STMicroelectronics.stm32c5xx.2.1.0.iar.zip 内含器件型号定义、链接配置文件、flash loader、SVD 系统视图描述文件等等。最低 IAR 版本要求 9.20.1,STM32C5 IAR 支持包版本 2.1.0。

然后进入 DFP\IAR_patch\EWARM,运行 install_patch 批处理,按提示输入 IAR 安装目录 → 回车,脚本自动把补丁文件复制到 IAR 对应目录。

可按 README 直接解压支持包到 IAR 安装目录,也可以运行 install_patch 批处理,输入 IAR 安装目录后脚本自动复制补丁文件,完成后关闭命令行。

2.3 编译运行

回到生成的工程目录,双击 gpio_toggle 的 .eww workspace 文件打开 IAR

→ 提示"当前工具版本较新而工程格式较旧,要进行格式转换"

→ 点击"是" 。用 IAR 打开工程时会提示格式转换,点击是

然后执行编译,菜单选择如下, Project 菜单 → Make 或 Rebuild All;Build 窗口显示构建成功 对整个工程编译链接,错误和警告数量都为 0 并提示构建成功,说明 CubeMX2 生成的 IAR 工程可以正常编译

界面左侧展开 User code → 找到 main.c → 加入 GPIO 翻转和延时代码 这与旧 CubeMX 的风格不一样:不同 IDE 之间并不共享(用户代码)文件,需手动补回

2.4 下载运行,

依次执行如下过程, 连接开发板 → Download and Debug(自动编译新修改并启动下载调试)

程序停在 main 入口,从调试的过程可以看到,下载完成后程序停在 main 函数入口,可以使用继续运行、暂停、单步执行或断点等调试功能。

这样,就完成从 CubeMX2 生成 IAR 工程,到安装支持包、编译、下载和调试的完整流程。

3 要点

3.1 导出 IAR 只需注意如下执行:IDE Project Generation 选 IAR 格式→ Generate,得到 EWARM 目录和 .eww 工作区文件。

3.2 新系列要先装设备支持包:STM32C5 需要 STMicroelectronics.stm32c5xx.2.1.0.iar.zip 补丁(EWARM ≥ 9.20.1)

安装方式:解压到 IAR 安装目录,或运行固件包 DFP\IAR_patch\EWARM 下的 install_patch 批处理。

3.3 首次打开 .eww 会有格式转换提示,确认即可。

用户代码不随 IDE 迁移:不同 IDE 生成的工程各自独立,main.c 中 while(1) 的 HAL_GPIO_TogglePin + HAL_Delay 要手动补回,再 Download and Debug 即可运行。

4 心得

执行的过程比较顺畅,但是需要patch器件包,这个过程相对采用cubeIDE算是多了个环节。

收藏 评论0 发布时间:2026-9-18 09:12

举报

0个回答

所属标签

相似技术帖

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