尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

IAR Embedded Workbench 常用宏变量(Argument Variables)备忘录

IAR Embedded Workbench 常用宏变量(Argument Variables)备忘录
📅 发布时间:2026/6/21 23:11:33

IAR Embedded Workbench 常用宏变量(Argument Variables)备忘录

在 IAR 开发过程中,配置 Pre/Post-build command(预/后构建命令行)或 External Tools(外部工具)时,经常需要使用动态路径。IAR 提供了一套类似环境变量的 Argument Variables,熟练使用它们可以让工程配置更灵活,不受绝对路径限制。

1. 核心路径类 (Project & Workspace)

这是最常用的变量,用于定位工程和工作空间的位置。

变量名 说明 示例 (假设工程在 C:\Project)
$PROJ_DIR$ 项目目录 (.ewp 文件所在目录) C:\Project
$PROJ_FNAME$ 项目名称 (不带扩展名) MyProject
$PROJ_PATH$ 项目文件全路径 C:\Project\MyProject.ewp
$WS_DIR$ 工作空间目录 (.eww 文件所在目录) C:\Project (通常同项目目录)
$WS_FNAME$ 工作空间名称 (不带扩展名) MyWorkspace

2. 构建配置与输出类 (Configuration & Output)

用于区分 Debug/Release 版本以及定位编译生成的二进制文件。

变量名 说明 示例
$CONFIG_NAME$ 当前配置名称 (Debug / Release) Debug
$TARGET_DIR$ 输出目标目录 (生成 .out/.hex 的文件夹) C:\Project\Debug\Exe
$TARGET_BNAME$ 输出文件名 (带扩展名) MyProject.out
$TARGET_BPATH$ 输出文件全路径 C:\Project\Debug\Exe\MyProject.out
$OBJ_DIR$ 中间对象目录 (生成 .o 文件的文件夹) C:\Project\Debug\Obj
$LIST_DIR$ 列表文件目录 (生成 .map/.lst 的文件夹) C:\Project\Debug\List

3. 环境变量与工具类 (Environment & Tools)

用于引用 IAR 安装目录或编译器路径。

变量名 说明 示例
$EW_DIR$ IAR 安装根目录 C:\Program Files\IAR Systems\Embedded Workbench 9.0
$TOOLKIT_DIR$ 特定架构工具链目录 C:\...\Embedded Workbench 9.0\arm
$DATE$ 当前系统日期 Oct 25 2023
$TIME$ 当前系统时间 09:30:00

4. 当前处理文件类 (Current File)

注意:这类变量通常只在“自定义构建规则”或对单个文件执行操作时有效。

变量名 说明
$FILE_DIR$ 当前正在处理文件的目录
$FILE_FNAME$ 当前文件名 (不带扩展名)
$FILE_PATH$ 当前文件的绝对路径

💡 实战使用技巧

1. 永远记得加引号!

Windows 路径中经常包含空格(例如 Program Files 或 My Documents)。如果不加引号,命令行会把空格视为参数分隔符,导致报错。

  • ❌ 错误:$PROJ_DIR$\output.bin
  • ✅ 正确:"$PROJ_DIR$\output.bin"

2. 经典应用:Post-build 自动复制文件

在 Options -> Build Actions -> Post-build command line 中:

将生成的固件重命名并复制到项目根目录下的 Firmware 文件夹:

cmd /c copy "$TARGET_BPATH$" "$PROJ_DIR$\Firmware\App_$CONFIG_NAME$.hex"

效果: 编译 Release 版时,自动生成 App_Release.hex。

3. 经典应用:将配置传递给 C 代码

想在代码里知道当前是 Debug 还是 Release?
在 Options -> C/C++ Compiler -> Preprocessor -> Defined symbols 中添加:

BUILD_CONFIG="$CONFIG_NAME$"

在 C 代码中:

#include <stdio.h>
#define XSTR(x) STR(x)
#define STR(x) #xvoid main() {printf("Build Config: %s\n", XSTR(BUILD_CONFIG));
}

4. 经典应用:调用 Python 脚本处理 Bin 文件

python "$PROJ_DIR$\script\checksum.py" "$TARGET_BPATH$"

相关新闻

  • 最新AI换脸软件,全面升级可直播,Mirage下载介绍(支持cpu)
  • 2025年装修设计企业客户首选品牌TOP5,别墅装修/豪宅设计/家居装修/家居设计品牌哪个好 - 品牌推荐师
  • Open-AutoGLM模式匹配加速实战(从毫秒到微秒的跨越)

最新新闻

  • 一文讲透|2026年最值得体验的专业AI论文写作软件
  • 超音速腔体流动中的Rossiter振荡与控制技术
  • 徽顺虹防水有限公司 连云港地区业务全景介绍 - 徽顺虹
  • 小米运动自动刷步数终极指南:3分钟搞定微信支付宝同步
  • 嵌入式AI实战:基于MFCC与DS-CNN的性别语音识别模型部署
  • 2026苏州营业性演出许可证一站式整套代办推荐 - 速递信息

日新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号