IAR Embedded学习笔记

IAR出现错误:Get Alternative File 解决办法

  1. 解决方法:点击 Project -> Rebuild All
  2. 错误原因:出现这种错误的大多数原因是直接用例程,而例程在人家电脑上编译的,对应的路径文件也是人家电脑上的,所以必须重新rebuild一下对应到自己的电脑上。

Driver Fatal error: Failed to search for probes, ensure that the USB drivers areinstallled. Session aborted!

  1. 解决方法:点击 Project -> Options for node -> Debugger -> Driver ->选择对应烧入器
  2. 错误原因:烧入器选择错误。

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
2
3
$PROJ_DIR$\..\Cmsis
$PROJ_DIR$\..\Lib\inc
$PROJ_DIR$\..\Lib\src

点击··· 进入后,输入一下路径,后面有一个下拉按钮选择路劲格式

IAR 添加全局宏定义

解决方法: 右键点击项目工程或 Project -> Options... -> C/C++ Compiler -> Preprocessor -> Defined symbols: (one per line) 格式如下

1
2
USE_STDPERIPH_DRIVER
USING_LOG

IAR 擦除FLASH

擦除全部存储空间:Project -> Download -> Erase Memory