In addition to ANSI/ISO C, Embedded Coder provides processor-optimized code for the above ARM Cortex-M processors using Cortex Microcontroller Software Interface Standard (CMSIS) for basic math operations. You can perform code verification using PIL tests using the supported ARM Cortex-M compiler and debugger.
ARM Cortex-M Support from Embedded Coder also enables you to generate optimized C code from MATLAB® System objects™ or Simulink® blocks from DSP system toolbox. This is done for ARM Cortex-M processor-based systems using the Cortex Microcontroller Software Interface Standard (CMSIS) DSP library. Benefits include an immediate increase in performance when compared to standard C code generation.
The Cortex Microcontroller Software Interface Standard (CMSIS) DSP library includes optimized functions for fundamental signal processing algorithms from MATLAB System objects or Simulink blocks. These include transforms, data processing, filtering, statistics, and standard math operations such as:
- FIR, biquad, lattice MA
- Mulitrate: FIR decimation/interpolation
- Adaptive filtering: LMS
- Mean, RMS, variance, standard deviation
- Convolution, correlation
- Multiplication, abs, cosine
For a complete list and detailed information, refer to documentation here.
This support package extends other MathWorks and ARM Cortex-M code generation solutions to generate optimized code for select CMSIS DSP libraries using equivalent DSP System Toolbox filters in Simulink such as FIR and FFT. Furthermore, with the Embedded Coder support package for STMicroelectronics® STM32F4-Discovery board, on-target rapid prototyping of Simulink models using the board’s peripheral devices and timers can be performed. This enables a full workflow for Model-Based Design of STMicroelectronics Discovery board. For an example, refer to Verify FIR Filter on ARM Cortex-M Processor.
Platform and Release Support
See the hardware support package system requirements table for current and prior version, release, and platform availability.
View enhancements and bug fixes in release notes.