-
官网
-
命令行编译
-
\common\bin 路径添加到系统环境变量path中
-
IarBuild xxx.ewp Debug ---- xxx.ewp为IAR工程名称,Debug 为xxx.ewp文件中configuration的name
-
编译输出所有的编译信息:IarBuild XXX.ewp -build Debug -log all,编译信息生成到log文件:IarBuild XXX.ewp - build Debug -log all > filename.log
-
清除编译生成文件:IarBuild XXX.ewp - clean Debug - log all
-
rebuild,整编修改的文件:IarBuild XXX.ewp -make Debug -log all
-
多核编译:arBuild XXX.ewp -build Debug -parallel 8 -log all (8核编译)
-
-
工程类文件
-
eww文件:工作空间文件,新建工作空间时生成,可以一个空间添加多个工程
-
ewp文件: 工程文件,每个project工程的信息都包含在此文件里
-
ewd文件: 工程配置文件,主要是debug相关配置
-
ewt文件: 工程配置文件,主要是工程静态代码分析c-start / c-run 配置文件,如果不配置静态代码分析此文件可以删除
-
dep文件: 工程依赖信息文件
-
-
IDE 设置
-
Tab size: Tools -> Options -> Editor :
-
-
多核编译
-
设置调试时更新变量和memory的周期时间
-
编译生成文件夹路径及生成文件格式设置
-
生成文件夹路径:IDE上方菜单project -> option -> General option
-
文件格式:project -> option -> output converter,可以选择最终生成文件的格式为s19、hex、bin等格式。 若勾选Override default可修改默认生成文件名。
-
-
生成map文件:生成文件输出路径output list目录如果没有生成map文件,需要在project -> option -> Linker -> list中勾选Generate linker map file
-
Flash 地址设置link icf文件:
-
编译头文件路径添加:
-
绝对路径更改为prj dir环境路径:添加文件路径浏览按键点击进入如下窗口,选择文件夹后为绝对路径,需呀再点击山角形按键选择第二行相对路径
-
-
工程prj 宏定义配置:
-
生成文件checksum 校验及填充:
-
编译警告忽略:如果需要忽略编译信息的警告,可以在option -> c/c++ Compiler -> Diagnostics中添加编译信息中警告前的序列号,如 定义了函数/变量没调用会出现Pe177和Pe150警告,可以把Pe177,Pe150加入,逗号隔开,再次编译就不会再产生此类警告。
-
-
IAR 新建工程IAR for ARM系列教程(一)_新建软件工程详细过程_strongerHuang-CSDN博客_iar IAR for ARM系列教程(一)_新建软件工程详细过程
-
#pragma 命令
-
#pragma message("XXXX") :编译器编译到添加处,在Build窗口输出XXXX信息,需要build窗口右键勾选message项。
-
变量放在自定义的section中:
-
方法一:把所有要放在指定段中的变量包含在以#pragma default_variable_attributes = @ "XXX_section" 开头,以 #pragma default_variable_attributes = 结尾的字段中间。(XXX_section为icf文件中定义的段名称)
-
方法二: 使用location关键字, 如#pragma location="XXX_section" 定义一行,把变量定义放在紧接着的下行中。
-
-
变量放在指定的绝对地址中:#pragma location =0x20000040static UINT16 XXX_var; //(变量不能被初始化赋值)等同于:static UINT16 XXX_var @0x20000040;
-
优化等级设置: #pragma optimize= none //none, low, medium, high
-
-
__root : 限定的函数和变量在即是没有被任何函数引用的情况下,它依然存在于目标代码中而不会被优化掉.__root static UINT8 XXXX_var @address;
-
查看ROM、RAM使用情况查看编译生成的map文件, 在文件最后显示如图所示:其中readonly code memory 表示code所占空间,readonly data memory为常量所占空间,ROM空间使用情况为此两个的和。readwrite data memory为变量数据即RAM空间使用情况。
汽车电子学习笔记 --- IAR
最新推荐文章于 2024-06-17 14:27:38 发布