IAR EW 集成提供如下:
提供以下组件以方便测试 IAR Embedded Workbench 项目
"Flash 加载程序规范文件" (flash_loader) - 要传递给 CSpyBat 的 flash 加载程序规范文件;根据 EWARM 版本,这可能是一个 .xml 或一个 .board/.flash 的文件(内置的配置在 EW_DIR/arm/config/flashloader 中可用);用于所有特定于 IAR 的测试配置流;当使用 flash 加载器和非(批处理模板)测试配置时设置它,当使用(批处理模板)测试配置版本时,仅为 EWARM 5.3 设置它,由于这个 EWARM 的问题(不要为更新的 EWARM 设置它;这将触发重复的 flash 加载程序规范错误)。
在工具链特定的章节中提到了更多测试配置。这些脚本是手动配置的,仅打算在无法使用 EW 生成的 C-SPY 批处理脚本或在其他有问题的情况下作为备份解决方案。请尽可能使用前面提到的“批处理模板”测试配置。
标准的测试配置,如“生成单元测试”、“生成桩函数”等,也可以用于 IAR 项目,建议使用以帮助确保代码质量。
从 C++test 9.1 开始,对支持多个 IAR EW 安装并存的环境进行了广泛的更改。关于使用哪个 IAR 版本/安装的信息对于使用 C++test 能够正确地构建和测试您的项目是至关重要的。 IAR 不推荐使用内部项目数据来获取关于 IAR 版本/安装的信息,因此,它必须从 IAR Windows 注册表项和其他主要信息推断,如 EW_DIR 或 PATH 环境变量值。强烈建议将 EW_DIR 变量设置为 EW 安装文件夹路径,并允许其他方法作为 C++test 备份机制运行。 C++test 在导入项目和扫描 .ewp 项目文件时都使用这些版本控制方法。对于每种方法和环境设置,C++test 将检查注册表中选择的 EW 安装的可用性;如果它没有正确注册,C++test 将不能与它一起工作。 单个会话期间(应用程序运行),C++test 只能与单一选择的 EW 版本/安装一起工作。要改变这一点,您需要使用修改后的环境重启 C++test。 |
不完全支持与 IAR 内存属性相关的 IAR 扩展程序(例如, ’__data’, ’__data20’, ’__tiny’, ’__near_func’)。此限制可能导致分析过程中发生错误,例如解析错误或检测到的代码编译错误。该限制还可能导致代码被分析,好像它包含的内存属性不同于原始代码中的属性。
void f(int __data16 *)
和 void f(int __data24 *)
函数的覆盖率可以显示为两个具有相同 void f(int *)
签名的不同函数的覆盖率。 -e
编译器选项到项目的 C++test 编译器选项。-e
,然后单击 应用。gui.properties
文件中,定位到以 cppCompilerCmdLine=
开始的行,并将 --eec++
编译器选项修改为所需选项。该行可能具有以下外观:cppCompilerCmdLine=$(exe) $(filtered_opts) --eec++
-I $(CPPTEST_INCLUDE_DIR) $(input) -o $(output)
gui.properties
文件包含以 cppCompilationModeOption=
开始的行,则还必须将 --eec++
编译器选项更改为所需选项。该行可能具有以下外观:сppCompilationModeOption=--eec++
cpp.psrc
文件进行以下更改:定位到以 edgtk.preprocessorCommand
和 edgtk.gccAutoconfiguratorCommand
开始的行,并将 --eec++
编译器选项更改为所需选项。该行可能具有以下外观:edgtk.preprocessorCommand {exe} --preprocess=nl {out} {opts} --eec++ {in}
edgtk.gccAutoconfiguratorCommand {exe} --preprocess=nl {tmpout} {opts} --eec++ --silent --predef_macros {out} {in}
inline
或 function_effects
)可能被打印在 C++test 控制台上。在大多数情况下,这些警告指的是所测试代码的优化级别与原始项目中相同代码的优化级别不同,可以忽略。bin
或 inc
),并将它们视为链接文件夹。因此,您的分析范围可能包含其他文件,而这些文件刚好可能导致性能问题和 C++test 控制台不期望的信息。将不希望的链接文件夹从 C++test 项目中移除以避免这些问题。当根据 .bdf 文件创建新项目时,您还可以防止 C++test 选择其他目录。例如,在 GUI 中: