支持概要

支持的编译器

有关支持的 IAR EW430(Embedded Workbench for MSP430)编译器/环境版本的信息,请参阅编译器

导入项目

您可以使用 cpptesttrace 工具导入项目。更多信息,请参阅导入项目

支持组件

为便于测试 IAR Embedded Workbench 项目,提供以下组件:

  • 支持的特定 MSP430 IAR 编译器版本的编译器配置(在上文列出)。
  • “IAR_icc430.mk”运行时库构建配置文件,用于使用 'make' 构建运行时库。
  • 为在 C-SPY 模拟器上启动单元测试准备的测试配置:
    • Run IAR MSP430 Tests - 纯手动模拟器配置。
    • Run IAR MSP430 Application with Mem Monitoring - 纯手动模拟器配置。

已知局限性

不完全支持将 IAR 内存属性放在指针声明前面。在下面的示例中,声明 A 编写的类似声明将按照声明 B 的编写方式分析:

声明 A

         

声明 B


此限制会影响具有以下配置的项目:

  • '430X' 目标处理器核心
  • 中大型数据内存模型
  • 已启用的 IAR 语言扩展。

以下正确处理的声明可以用来代替上面不支持的结构:

为什么在链接过程中可能会删除用户库

在链接命令行中,C++test 使用选项过滤机制将原始用户对象替换为插桩对象。在 ELF 和 COFF 等格式中,对象和库文件扩展名默认不同(.o/.a,.obj/.lib),C++test 依赖于这一点来正确使用选项过滤机制。然而,UBROF 库和对象文件默认具有相同的扩展名(.r??),这会导致 C++test 从链接命令行中删除库。通过引入基于观察到的系统化命名约定(dl430*.r43)的选项过滤模式,为系统库解决了这一问题。但是,用户库仍然会被删除。

避免在链接过程中删除库

 这个问题有两种解决方案: 

  1. 右键点击项目,选择属性> Parasoft> C++test> 构建设置并在选项部分的链接器选项字段中手动添加您的库(推荐)。
  2. 建立库命名方案(扩展或名称模式)并创建自定义编译器配置。

如果选择第 2 种方法,应在 c/cpp.psrc 文件中插入以下选项过滤规则: 

edgtk.optionConfig name=*<your_pattern> regexp=true casesensitive=false tags=linker 

位于以下内容前 

edgtk.optionConfig name=*.r43 regexp=true casesensitive=false

tags=linker,excludable,object_file

这个问题也适用于外部构建的 C++test 运行时库。如需了解有关自定义编译器的更多信息,请参阅使用交叉编译器配置测试

  • No labels