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> 指定待分析的源文件
相关推荐
女神下凡17 小时前
芯参谋(61):PMSM永磁同步电机驱动电路设计指南
arm开发·单片机·嵌入式硬件·硬件工程·设计规范
早八晚十啊18 小时前
基于ARM Cortex-A53与LVGL 9.0的智能车载系统设计与实现
arm开发·车载系统
a59865219 小时前
ARM服务器部署Docker云手机,多开实例性能实测
服务器·arm开发·docker·云手机
a59865219 小时前
ARM服务器搭建云手机教程|原生ARM架构,消除指令转译损耗
arm开发
XMAIPC_Robot2 天前
ARM+FPGA+AI船舶/工业自动化控制器EMC测试等级解析(IEC60533/IEC60945)
arm开发·人工智能·fpga开发·zynq·arm+fpga·rk3588+fpga
奔跑的架构师3 天前
[A-51]ARMv9/v8-SCMI系统架构
linux·arm开发·架构·系统架构·arm
玄芯散人3 天前
【元婴·94】ARM vs RISC-V大战
arm开发·risc-v
szxinmai主板定制专家3 天前
ZYNQ PL+PS 架构拆解|工业自动化与电力物联网高速数据采集、预处理与协议上云
arm开发·人工智能·物联网·fpga开发·数据采集卡·rk3576
szxinmai主板定制专家3 天前
告别 ARM 实时性短板:基于 ZYNQ 的电力故障录波 + 工业振动数据采集系统设计
arm开发·人工智能·fpga开发·zynq·数据采集卡·arm+fpga·rk3588+fpga
Awh-4 天前
ARM 裸机开发 DAY11 学习笔记
arm开发·笔记·学习