**** Advance Notice ****

This site will be closed on 31 December 2015,

Important Information for users of NXP LPCXpresso

This site is for users of Code Red branded products.

NXP LPCXpresso users should visit the LPCXpresso FAQ's for up-to-date information relevant to that product.

Differences between revisions 3 and 4
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
hash acl All:read #acl All:read

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:

Help -> Help Contents -> Code Red Product Documentation -> CMSIS -> CMSIS 2.00

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.

cmsis_dsp (last edited 2011-03-28 16:31:20 by CrSupportAb)