IAR EW for Arm - IAR命令行

注:以下内容基于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> 指定待分析的源文件
相关推荐
振南的单片机世界7 小时前
EXTI“一线多挂”陷阱:PA0和PB0同时触发,中断函数懵了
arm开发·stm32·单片机·嵌入式硬件
LCMICRO-133108477469 小时前
国产长芯微LP4807完全P2P替代ADA4807,1mA、300MHz 增益带宽、电压反馈运算放大器
arm开发·嵌入式硬件·fpga开发·硬件工程·运算放大器·ada4807
LCMICRO-1331084774610 小时前
国产长芯微LP8628完全P2P替代AD8628,零漂移、单电源、输入输出轨到轨高精度运放
arm开发·嵌入式硬件·fpga开发·硬件工程·精密运放·ad8628
zlinear数据采集卡2 天前
数据采集卡从入门到精通(10):采样率与分辨率的核心关系——反比律、架构分布与过采样
arm开发·嵌入式硬件·算法·fpga开发·架构·开源
CIAS2 天前
uniontechos-server-20 1050 u2a pxe Server -x86 arm loongarch
arm开发
振南的单片机世界2 天前
推挽vs开漏:一个“强拉硬灌”,一个“只拉不管”
arm开发·stm32·单片机·嵌入式硬件
zlinear数据采集卡2 天前
数据采集卡从入门到精通(7):流水线型ADC——级级接力,高速与高精的平衡术
开发语言·arm开发·嵌入式硬件·fpga开发·c#
硅农程序猿3 天前
从需求到硅片| 一文讲清数字芯片设计流程
arm开发·硬件架构·risc-v
秋田君3 天前
QT_网络编程体系
网络·arm开发·qt
zlinear数据采集卡4 天前
D223上位机C#开发实战:从帧解析到波形显示的完整实现
开发语言·arm开发·嵌入式硬件·fpga开发·开源·c#