Skip to main content

IAR Embedded Workbench for Arm 9.70.x

CMSIS integration (32-bit mode)

In this section:

Warning

This mechanism is deprecated and might be removed in future versions. To set up new projects with CMSIS support, use the CMSIS-Pack Manager.

The arm\CMSIS subdirectory contains CMSIS (Cortex Microcontroller Software Interface Standard) and CMSIS DSP header and library files, and documentation. For more information, see developer.arm.com/tools-and-software/embedded/cmsis.

The special header file inc\c\cmsis_iar.h is provided as a CMSIS adaptation of the current version of the IAR C/C++ Compiler.

Note

CMSIS is not supported in 64-bit mode.

CMSIS DSP library

IAR Embedded Workbench comes with prebuilt CMSIS DSP libraries in the arm\CMSIS\Lib\IAR directory.

The names of the library files for Armv7-M MCUs are constructed in this way:

iar_cortexM{0|3|4|7}{l|b}[s|f]_math.a

where {0|3|4|7} selects the Cortex-M variant, {l|b} selects the byte order, and [s|f] indicates that the library is built for a single/double precision FPU (Cortex-M4 and Cortex-M7 only).

The names of the library files for Armv8-M MCUs are constructed in this way:

iar_MCUl[d][fsp|fdp]_math.a

where MCU selects MCU variant (ARMv8MBL (M23) or ARMv8MML (M33/M35P), l indicates little-endian, [d] selects support for DSP instructions, and [fsp|fdp] indicates that the library is built for a single/double precision FPU.

Note

The Armv81 (M55) MCU is not supported by this mechanism.

Customizing the CMSIS DSP library

The source code of the CMSIS DSP library is provided in the arm\CMSIS\DSP_Lib\Source directory. You can find an IAR Embedded Workbench project which is prepared for building a customized DSP library in the arm\CMSIS\DSP_Lib\Source\IAR directory.

CLICO.png Building with CMSIS on the command line

This section contains examples of how to build your CMSIS-compatible application on the command line.

CMSIS only (that is without the DSP library)
iccarm -I $EW_DIR$\arm\CMSIS\Include
With the DSP library, for Cortex-M4, little-endian, and with FPU
iccarm ‑‑endian=little ‑‑cpu=Cortex-M4 ‑‑fpu=VFPv4_sp -I $EW_DIR$\arm\CMSIS\Include 
$EW_DIR$\arm\CMSIS\DSP\Include -D ARM_MATH_CM4

ilinkarm $EW_DIR$\arm\CMSIS\Lib\IAR\iar_cortexM3l_math.a

EWICO.png Building with CMSIS in the IDE

Choose Project>Options>General Options>Library Configuration to enable CMSIS support.

When enabled, CMSIS include paths and the DSP library will automatically be used. For more information, see Library Configuration.