IAR Embedded学习笔记
IAR安装与注册
注册软件点击此处下载IAR注册软件,进入IAR目录下下载
- 注册机版本:不同版本的 IAR 需要使用相应版本的注册机。例如,IAR for ARM 8.42.1 以下版本使用 License GeneratorV1.3 注册机,而 IAR for ARM 8.42.1 及以上版本则需要使用 License GeneratorV1.4 注册机。
- 操作步骤:以 IAR for ARM 8.42.1 以下版本为例,打开注册机,选择对应的产品和版本,生成注册码,取消加密狗,保存注册文件 1,再用注册机打开该文件生成注册文件 2,即可完成激活。对于 IAR for ARM 9.x 系列版本,如 IAR for ARM 9.30.1,除了上述离线激活的基本步骤外,还需要将 licpatcher64.exe 工具复制到 IAR 的三个安装目录中运行,才能完成激活。
IAR报错
IAR出现错误:Get Alternative File 解决办法
- 解决方法:点击
Project->Rebuild All - 错误原因:出现这种错误的大多数原因是直接用例程,而例程在人家电脑上编译的,对应的路径文件也是人家电脑上的,所以必须重新rebuild一下对应到自己的电脑上。
Driver Fatal error: Failed to search for probes, ensure that the USB drivers areinstallled. Session aborted!
- 解决方法:点击
Project->Options for node->Debugger->Driver->选择对应烧入器 - 错误原因:烧入器选择错误。
IAR的警告: Warning[Pa050]: non-native end of line sequence detected (this diagnostic is only issued once).
先来说说这个警告产生的原因: 在Windows中换行符使用 <CR><LF> 来表示换行, 在UNIX类系统中则使用 <LF>. 当一个文件从一个系统转换到另外一个系统, 因为换行符的定义不同, 就会产生问题
知道了原因, 但问题依然不好解决. 有时候可能有几百个上千个文件从Linux平台转到Windown平台编译, 总不能一个一个的改吧? 好在此警告对结果并没影响, 所以采取简单粗暴的方式, 将它屏蔽掉, 眼不见心不烦.
解决方法: 点击 Project -> Options... -> C/C++ Compiler -> Diagnostics -> Suppress these diagnostics -> 填写 Pa050 警告就消失了
IAR设置堆栈和进程内存布局
解决方法: 右键点击项目工程或 Project -> Options... -> Linker功能菜单 -> Config选项 -> Linker configuration file选项框 -> Edit
IAR设置堆栈时出现: Auxliary file path:xxx is missing or corrupt.The linker configuration file can only be edited in a text editor.
解决方法: 暂时没有找到
IAR窗口恢复默认
解决方法: 1. 关闭IAR; 2.定位到工程目录下的settings文件夹; 3. 找到扩展名为.wsdt的文件; 4. 删除该类型的文件; 5. 重新打开工程。
IAR 添加目标头文件
解决方法: 右键点击项目工程或 Project -> Options... -> C/C++ Compiler -> Preprocessor -> Additional include directories: (one per line) -> ··· 建议头文件转换成如下格式,方便后续人员使用
1 | $PROJ_DIR$\..\Cmsis |
点击··· 进入后,输入一下路径,后面有一个下拉按钮选择路劲格式
IAR 添加全局宏定义
解决方法: 右键点击项目工程或 Project -> Options... -> C/C++ Compiler -> Preprocessor -> Defined symbols: (one per line) 格式如下
1 | USE_STDPERIPH_DRIVER |
IAR 擦除FLASH
擦除全部存储空间:Project -> Download -> Erase Memory