<p>This user manual describes the CMSIS DSP software library, a suite of common signal processing functions for use on Cortex-M processor based devices.</p>
<p>Each library project have differant pre-processor macros.</p>
<ul>
<li>UNALIGNED_SUPPORT_DISABLE:</li>
</ul>
<p>Define macro UNALIGNED_SUPPORT_DISABLE, If the silicon does not support unaligned memory access</p>
<ul>
<li>ARM_MATH_BIG_ENDIAN:</li>
</ul>
<p>Define macro ARM_MATH_BIG_ENDIAN to build the library for big endian targets. By default library builds for little endian targets.</p>
<ul>
<li>ARM_MATH_MATRIX_CHECK:</li>
</ul>
<p>Define macro ARM_MATH_MATRIX_CHECK for checking on the input and output sizes of matrices</p>
<ul>
<li>ARM_MATH_ROUNDING:</li>
</ul>
<p>Define macro ARM_MATH_ROUNDING for rounding on support functions</p>
<ul>
<li>ARM_MATH_CMx:</li>
</ul>
<p>Define macro ARM_MATH_CM4 for building the library on Cortex-M4 target, ARM_MATH_CM3 for building library on Cortex-M3 target and ARM_MATH_CM0 for building library on cortex-M0 target.</p>
<ul>
<li>__FPU_PRESENT:</li>
</ul>
<p>Initialize macro __FPU_PRESENT = 1 when building on FPU supported Targets. Enable this macro for M4bf and M4lf libraries</p>
<p>The library has been developed and tested with MDK-ARM version 4.23. The library is being tested in GCC and IAR toolchains and updates on this activity will be made available shortly.</p>
<p>The library installer contains prebuilt versions of the libraries in the <code>Lib</code> folder.</p>
<ul>
<li>arm_cortexM4lf_math.lib (Little endian and Floating Point Unit on Cortex-M4)</li>
<li>arm_cortexM4bf_math.lib (Big endian and Floating Point Unit on Cortex-M4)</li>
<li>arm_cortexM4l_math.lib (Little endian on Cortex-M4)</li>
<li>arm_cortexM4b_math.lib (Big endian on Cortex-M4)</li>
<li>arm_cortexM3l_math.lib (Little endian on Cortex-M3)</li>
<li>arm_cortexM3b_math.lib (Big endian on Cortex-M3)</li>
<li>arm_cortexM0l_math.lib (Little endian on Cortex-M0)</li>
<li>arm_cortexM0b_math.lib (Big endian on Cortex-M3)</li>
</ul>
<p>The library functions are declared in the public file <code><aclass="el"href="arm__math_8h.html">arm_math.h</a></code> which is placed in the <code>Include</code> folder. Simply include this file and link the appropriate library in the application and begin calling the library functions. The Library supports single public header file <code><aclass="el"href="arm__math_8h.html">arm_math.h</a></code> for Cortex-M4/M3/M0 with little endian and big endian. Same header file will be used for floating point unit(FPU) variants. Define the appropriate pre processor MACRO ARM_MATH_CM4 or ARM_MATH_CM3 or ARM_MATH_CM0 depending on the target processor in the application.</p>
<p><b>Examples</b></p>
<p>The library ships with a number of examples which demonstrate how to use the library functions.</p>
<p>The project can be built by opening the appropriate project in MDK-ARM 4.23 chain and defining the optional pre processor MACROs detailed above.</p>