Support Overview
Supported Compilers
For information about supported EWARM (Embedded Workbench for ARM) compiler/environment versions, see Compilers.
Importing EWARM Projects
You can import EWARM projects by using the cpptesttrace
utility. See Importing Projects with IAR Embedded Workbench Support for more information.
Support Components
The following components are provided to facilitate testing IAR Embedded Workbench projects:
- Compiler configurations for specific supported versions of IAR compiler for ARM (listed above).
- "IAR_iccarm.mk" Runtime Library build configuration file for building C++test Runtime Library with IAR ARM compiler versions starting from v. 6.1x using 'make'.
- Test Configurations prepared for launching Unit & App Testing on C-SPY Simulator:
- Run IAR EW Tests (Batch Template) - uses EW-generated batch scripts ('.cspy.bat') to launch simulator.
- Run IAR EW Application with Mem Monitoring (Batch Template) - uses EW-generated batch scripts ('.cspy.bat') to launch simulator.
- Run IAR ARM Tests - a pure manual simulator configuration.
- Run IAR ARM Application with Mem Monitoring - a pure manual simulator configuration.
Known Limitations
Due to the limitation of the preprocessor included with some IAR ARM compiler versions, C++test will not accept the following code for IAR ARM compiler v. 7.2x and earlier:
#define MHZ *1000000l #define FREQ (1MHZ) void foo(long freq); void bar(void) { foo(FREQ); }
Workaround: space should be inserted between
1
andMHZ
:#define FREQ (1 MHZ)
- C++test does not support the
__nounwind
keyword because exceptions are re-thrown after they have been caught. If your program contains__nounwind,
add the following macro to compiler options under Project Properties > Parasoft > C++test > Build settings:
C++test does not correctly reconstruct multibyte characters in C.-DCPPTEST_COLLECT_STACK_TRACE=0
The IAR EW Build System (and 'iarbuild' command line util) appends the '\' character (a backslash) to the end of each include path defined in the EWP project. This is reflected in BDFs after scanning/tracing these builds.
C++test quotes the include path options, and so it must escape the backslash to prevent escaping end quotes. Due to an iccarm-related bug, when a path option contains any spaces plus the ending double-backslash sequence, it is not interpreted as a single option, even when quoted.
There are 2 possible workarounds:Install IAR EW on a space-less path, to prevent inclusion paths from containing spaces.
Post-process BDFs, either removing any ending backslashes from path options, or escaping all spaces in them.