Recent

This Page

User

CMSIS 2.00 DSP Library

Introduction to the CMSIS 2.00 DSP Library

The CMSIS DSP Software Library is a suite of common signal processing functions targeted to Cortex-M processor based microcontrollers. Even though the code has been specifically optimized towards using the extended DSP instruction set of the Cortex-M4 processor, the library can also be compiled for Cortex-M3 and is planned for Cortex-M0 in the future.

For more details, please see ARM's documentation on the DSP library, which can be accessed via the Code Red IDE help system:

Implementation of the CMSIS DSP Library within the Code Red IDE

Code Red library projects containing the CMSIS DSP Library can be found in the \Examples\CMSIS_DSPLIB folder of your tools installation directory. If you import the appropriate CMSIS DSP Library project into your workspace, you will then be able to use the project wizard to link a new project with the DSP Library project.

Pre-built libraries

At the time of writing, three pre-built CMSIS DSP library projects are provided:

CMSISv2p00_DSPLIB_CM3 - suitable for use with any Cortex-M3 based MCU

CMSISv2p00_DSPLIB_CM4 - suitable for use with any Cortex-M4 based MCU with floating point support enabled

CMSISv2p00_DSPLIB_CM4_NoFP - suitable for use with any Cortex-M4 based MCU without floating point

The reason for providing a pre-built version is that the DSP Library has a large code base which typically can take several minutes to build (depending upon PC specification and OS). These pre-built libraries have been built at -O3, as it is assumed that if you are using the DSP library routines, then performance will be more important than code size (for these routines).

Note that these project are also built with debug information enabled. This allows you to step through the DSP library code if required, but only if you import the CMSISv2p00_DSPLIB_SRC (see below) project into your workspace first .

Source library

For most users, the DSP library routines can be considered as a "black box" which there is no need to rebuild. However the CMSISv2p00_DSPLIB_SRC project is supplied with the tools which provides a number of out of the box build configurations. Thus you can easily rebuild this project to provide a version of the DSP library built using your required options, to replace the one provided out of the box.

If you import this project into a workspace where you are using one of the pre-built DSP library projects, then you will be able to carry out source level debugging of the DSP functions. Note however that debugging code built at -O3 will give a sub-optimal debug view, so you may wish to modify the optimization level and rebuild before doing this.