Support Overview

The following compiler/environment versions are supported:

IAR EW integration is provided as follows:

The following components are provided to facilitate testing IAR Embedded Workbench projects:

Known Limitations

Placing IAR memory attributes in front of pointer declarations is not fully supported. In the following example, Declaration A and similarly written declarations will be analyzed as if they were written like Declaration B:

Declaration A

         

Declaration B


This limitation affects projects with the following configuration:

The following declarations are handled correctly and may be used instead of unsupported construction mentioned above:

Why User Libraries May Be Removed During Linking

C++test uses an option-filtering mechanism to substitute instrumented objects for original user objects in linking command lines. In formats like ELF and COFF, the object and library file extentions differ by default (.o/.a, .obj/.lib), which C++test depends on to properly emply the option-filtering mechanism. UBROF libraries and object files, however, have the same extension (.r??) by default, which results in C++test removing libraries from linking command-lines. This was solved for system libraries by introducing an option-filtering pattern based on their observed systematized naming convention (dl430*.r43). User libraries, however, are still removed.

Preventing Libraries From Being Removed During Linking

 There are two solutions to this problem: 

  1. Right-click on the project and choose Properties> Parasoft> C++test> Build Settings and manually add your libraries in the Linker options field in the options section (recommended).
  2. Establish a library naming scheme (extension or name pattern) and create a Custom Compiler Configuration.

If you choose option #2, insert the following option-filtering rule into the c/cpp.psrc files: 

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

just before 

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

tags=linker,excludable,object_file

This issue also applies to externally built C++test Runtime Libraries. To learn more about Custom Compilers, see Configuring Testing with the Cross Compiler.