注:以下内容基于IAR 9.70.1
1. iarbuild
iarbuild 是 IAR Embedded Workbench 自带的命令行构建工具,它为嵌入式软件开发提供了一种脱离图形界面的自动化构建方式。它的核心作用是将IDE中的"点击按钮"操作,转化为可在脚本、终端或服务器上自动执行的命令,是持续集成 (CI) 和自动化流程中的关键一环。
该工具的可执行文件为 IarBuild.exe(Windows)或 iarbuild(Linux),通常位于 IAR 安装目录的 common\bin 路径下。

Eg:
bash
make_cmd = [
os.path.join(iar_path, "IarBuild.exe"),
project_path,
"-build",
"Debug",
"-parallel",
str(os.cpu_count()),
"-log",
"warnings",
]
最终执行:["C:\...\common\bin\IarBuild.exe", "project.ewp", "-build", "Debug", "-parallel", "16", "-log", "warnings"]
官方文档:上诉仅列出常用的命令,详细命令见EWARM_IDEGuide.ENU.pdf
2. icstat
icstat.exe 是 IAR 静态分析工具 C-STAT 的核心命令行引擎,直接执行代码分析。它可以被iarbuild、CMake 等工具调用,或在脚本中独立使用,以自动化检测代码缺陷和编码标准违规。
实际应用场景:利用icstat.exe实现单个C文件的静态分析,具体命令主要有下面三部分
1、指定icstat.exe路径
2、指定cstat.db路径
3、从cstatcommands.txt文件中获取整个分析过程需要的命令(每一行对应一个c文件的分析命令,可先读取最后一个参数,判断是否是指定的源文件,做到单个文件的静态分析分析)
备注:iarbuild的-cstat_analyze命令本质上是调用icstat.exe完成整个工程的静态分析

Eg:
bash
第一步:iarbuild.exe "MCAL_Project.ewp" -cstat_cmds Debug -log all
这不做任何分析,只是根据工程配置生成 cstatcommands.txt,里面记录了每个 .c 文件的编译器调用参数。
第二步:icstat.exe --db <project>\Debug\C-STAT\cstat.db <编译器参数> <源文件.c>
--db 指定分析结果写入的数据库(cstat.db)
<编译器参数> 来自步骤① 生成的 cstatcommands.txt(宏定义、include 路径、编译选项等),保证分析与实际编译环境一致
<源文件.c> 指定待分析的源文件