简单理解:IAR配置代码优化(-O2)步骤、生成 HEX 文件(Intel 格式)步骤
一、IAR Release 版本:配置代码优化(-O2)步骤
前置条件
打开 IAR 工程,先将工程配置切换为Release(工程名旁下拉框选择 Release)。
具体操作
- 右键工程名称 → 选择
Options(快捷键Alt+F7),打开工程配置窗口。 - 在左侧
Category列表中,展开C/C++ Compiler→ 点击Optimizations:- Level:下拉选择
High(对应-O2高级优化,Release 版本最佳选择); - High 子选项:
- 选
Balanced:平衡代码执行效率和体积(推荐); - 选
Size:优先减小代码体积(适合 Flash 资源紧张的 MCU);
- 选
- 其余选项保持默认(IAR 会自动启用循环展开、函数内联等优化手段)。
- Level:下拉选择
- 点击配置窗口右下角
OK,保存优化配置。
二、IAR 生成 HEX 文件(Intel 格式)步骤
前置条件
已完成 Release 版本优化配置,且解决了__write未定义问题(二选一):
- 方案 1(调试用):配置窗口中
General Options → Library Configuration,将Library low-level interface implementation设为Semihosted; - 方案 2(量产用):在
main.c中添加__write空实现(代码如下):#include <stdint.h> int __write(int handle, const unsigned char *buf, int len) { return len; // 仅满足链接要求,无实际输出 }
具体操作
- 右键工程名称 → 选择
Options(快捷键Alt+F7),打开工程配置窗口。 - 在左侧
Category列表中,点击Output Converter:- 勾选
Generate additional output(启用额外输出文件生成); Output format:下拉选择Intel extended(标准 Intel HEX 格式,兼容所有烧录工具);- (可选)勾选
Override default,点击...自定义 HEX 文件保存路径(默认保存在Release/Exe目录)。
- 勾选
- 点击
OK保存配置。 - 点击 IAR 工具栏
Project → Rebuild All(快捷键Ctrl+Shift+F7),重新编译工程。 - 编译完成后,打开工程目录下的
Release/Exe文件夹,即可找到生成的.hex文件(与工程同名)。
总结
- 优化配置核心:
C/C++ Compiler → Optimizations中选High (-O2),平衡效率与体积。 - HEX 生成核心:
Output Converter中勾选生成额外输出,并选择Intel extended格式。 - 必做前提:Release 版本需先解决
__write未定义问题,否则编译报错。
