软件简介
IAR Embedded Workbench for Arm(简称IAR EWARM)是IAR Systems面向Arm嵌入式处理器和微控制器推出的一体化集成开发环境(IDE),集成C/C++编译器、汇编器、链接器、调试器、项目管理、代码编辑和分析工具,为嵌入式软件开发提供从编写代码、编译构建到下载调试和性能分析的完整工作流程。IAR官方文档显示,10.10.x系列的开发工具可以使用C、C++和汇编语言开发Arm应用程序,同时编译器、汇编器和链接器也可以通过命令行独立运行。
IAR Embedded Workbench for Arm v10.10.2是10.10系列的重要更新版本,发布时间为2026年8月17日。该版本重点加入了C++20支持、Arm China STAR-MC3处理器支持以及Commuter License离线授权功能,同时继续提供IAR C/C++ Compiler、C-SPY Debugger以及完整的Arm嵌入式开发工具链。公开版本资料显示,该版本Build为26960。
IAR Embedded Workbench的核心特点是针对嵌入式系统进行高度优化。其编译器能够针对Arm处理器生成紧凑、高效的机器代码,而C-SPY调试器则提供断点、单步执行、寄存器查看、内存分析以及目标硬件调试等能力。目前IAR平台还提供代码覆盖率、函数性能分析、RTOS感知等高级调试与分析能力。

主要功能
1. 一体化IDE开发环境
IAR Embedded Workbench将嵌入式开发过程中需要的多个工具集中到统一IDE中,包括:
- C/C++源代码编辑器
- 项目管理器
- C/C++编译器
- 汇编器
- 链接器
- 库管理工具
- C-SPY调试器
- Make构建工具
- 命令行构建工具
- 示例工程
- 开发文档
开发人员可以在同一个工作区完成工程创建、代码编写、编译、链接、下载和调试。10.10.x系列支持工作区管理多个项目、多个Build Configuration以及不同项目组。
2. 高性能IAR C/C++编译器
IAR C/C++ Compiler是IAR Embedded Workbench的核心组成部分之一,专门针对Arm嵌入式处理器进行优化。
主要特点包括:
- 支持C语言
- 支持C++
- 支持现代C++语言标准
- 支持C++20
- Arm处理器专用代码生成
- Thumb代码生成
- 代码尺寸优化
- 执行速度优化
- 多级优化选项
- 浮点运算优化
- 位置无关代码支持
- 丰富的Arm专用扩展
对于Flash、RAM资源有限的MCU项目,可以通过编译器优化功能,在代码体积、运行速度和功耗之间进行调整。
10.10.x系列的编译器支持Arm和Thumb处理器模式,并提供ROPI/RWPI等位置无关代码相关选项。
3. C++20开发支持
v10.10.2的重要更新之一是进一步完善现代C++开发能力。
该版本中,IAR C/C++ Compiler默认接受符合C++20标准的源代码;配合Libc++ C++20库,可以使用大部分C++20功能。
这对于采用现代C++进行嵌入式软件开发的项目尤其重要,可以使用更加现代化的语言特性,同时结合IAR编译器针对嵌入式平台进行的代码优化。
4. C-SPY Debugger调试器
C-SPY是IAR Embedded Workbench的重要组成部分,用于调试运行在实际Arm硬件或模拟环境中的程序。
主要功能包括:
- 软件断点
- 硬件断点
- 单步执行
- 单步跳过
- 单步进入
- 运行到光标
- 调用栈查看
- CPU寄存器查看
- 内存查看
- 变量查看
- Watch窗口
- 表达式计算
- 断点条件设置
- 反汇编查看
- 源代码与汇编代码关联
- Flash下载
- 外设寄存器查看
C-SPY支持JTAG、SWD等调试技术,可以直接连接目标MCU进行程序下载和在线调试。
5. 硬件调试与Trace
IAR Embedded Workbench可以配合多种调试探针、仿真器和评估板使用。
常见调试硬件包括:
- I-jet
- I-jet Trace
- SEGGER J-Link
- P&E Micro
- ST-LINK
不同硬件可以提供不同级别的下载、调试和Trace能力。
对于复杂嵌入式系统,可以通过Trace和实时分析功能观察程序运行情况,进一步定位性能瓶颈和实时性问题。
6. 项目管理与多配置构建
IAR Embedded Workbench提供完整的Project和Workspace管理功能。
可以针对同一套源代码创建多个配置,例如:
- Debug
- Release
- Production
- Test
- Development
- Bootloader
- Firmware
同时可以管理多个项目,并为不同硬件平台使用不同编译器和链接器配置。
这种方式适合大型嵌入式工程,可以避免不同硬件版本之间频繁修改工程文件。
7. 链接器与内存布局管理
嵌入式程序通常需要精确控制Flash、RAM、EEPROM以及特殊内存区域,因此链接器是IAR工具链的重要组成部分。
IAR Embedded Workbench提供:
- 自定义链接配置
- Flash区域定义
- RAM区域定义
- Section布局
- 启动代码配置
- 中断向量表布局
- Bootloader区域管理
- 固定地址变量
- 特殊内存区域分配
- 程序映像生成
开发人员可以通过链接配置文件控制程序不同Section的具体存储位置。
8. 丰富的Arm处理器支持
IAR Embedded Workbench for Arm面向广泛的Arm处理器和MCU生态。
v10.10.2进一步增加了:
Arm China STAR-MC3
该处理器基于Armv8.1-M架构,v10.10.2开始提供相应支持。
此外,IAR Embedded Workbench for Arm产品体系覆盖大量Arm MCU和处理器产品,可根据具体授权版本和Device Support Package选择对应芯片。
9. 静态代码分析
IAR工具链可以配合IAR C-STAT进行静态代码分析。
C-STAT主要用于发现:
- 潜在代码错误
- 编程规范问题
- 可疑代码结构
- 未定义行为
- 代码质量问题
- MISRA相关问题
对于汽车电子、工业控制、医疗设备等对软件质量要求较高的项目,静态分析可以作为开发流程中的质量检查环节。
10. 运行时分析
IAR还提供C-RUN运行时分析工具,可以针对程序运行过程进行检查。
可用于发现部分:
- 数组越界
- 指针相关错误
- 整数运算问题
- 内存访问错误
- 堆相关问题
- 运行时异常
C-RUN主要面向Arm和部分其他IAR架构产品,并根据具体产品版本和授权提供相应功能。IAR目前的产品体系也将静态分析和运行时分析作为完整开发流程的一部分。
11. RTOS开发支持
对于采用实时操作系统的Arm嵌入式项目,IAR提供RTOS相关调试能力。
可以帮助开发人员查看:
- RTOS任务
- 任务状态
- 线程切换
- 堆栈使用
- RTOS对象
- 系统事件
IAR当前平台提供RTOS感知和相关插件能力,并支持包括Zephyr等实时操作系统。
12. 命令行自动化
IAR的编译器、汇编器、链接器等工具不仅可以在IDE中使用,也可以通过命令行运行。
因此可以将IAR工具链集成到:
- 自动化构建
- 批处理脚本
- CI/CD
- 自动测试
- 固件发布流程
- 第三方构建系统
这对于大型团队建立标准化Firmware Build流程非常有帮助。
系统要求
操作系统
IAR Embedded Workbench for Arm 10.10.2主要面向Windows 64位系统使用。
结合IAR 10.x系列安装要求,建议使用:
- Windows 10 64位
- Windows 11 64位
早期IAR 10.x安装资料也列出了Windows 7/10/11 64位环境,但对于v10.10.2这类较新的版本,实际安装时应以该版本随附的Release Notes和安装程序检测结果为准。
CPU
建议:
- 64位Intel或AMD处理器
- 多核心CPU
- 支持x64指令集
对于大型项目以及启用较高级优化、静态分析和复杂调试功能的工程,多核心处理器能够提高编译和分析效率。
下载地址
原创文章,作者:steven,如若转载,请注明出处:https://rr3d.cn/58010.html