Matlab code generation tool chain tuned for ARM Cortex-M cores

October 31, 2013 // By Nick Flaherty
MATLAB's Simulink, DSP System Toolbox and Embedded Coder automatic code generators have been optimised for the ARM Cortex-M series processors, giving a 10x increase in performance over ANSI C.

Now available with Release 2013b, the MATLAB and Simulink support packages offer three levels of integration support. Simulink, DSP System Toolbox and Embedded Coder can generate code for ARM’s CMSIS DSP library to produce optimised performance of DSP filters (for any ARM Cortex-M processor). Simulink and Embedded Coder can build and test the optimised code using Processor-in-the-Loop (PIL) testing based on GCC and the QEMU host emulator (for ARM Cortex-M3 processors) and Simulink and Embedded Coder can generate code for device drivers and enables hardware I/O for STMicroelectronics STM32F4 Discovery Board (for ARM Cortex-M4 processors)
“MathWorks Model-Based Design tools are helping developers create the next generation of energy efficient and intelligent ARM-based technology,” said Richard York, director, Embedded Processor Products, ARM. “These new tools and support packages are optimised to accelerate the entire design and development process. This encompasses modelling and simulation, optimised code generation using the ARM Cortex Microcontroller Software Interface Standard (CMSIS), right through to mass production.”
“Engineers are often faced with the challenge of using high-level tools for fast design and then manually re-writing algorithms into processor-optimised code,” said Paul Barnard, design automation marketing director, MathWorks. “By enabling MATLAB and Simulink to generate code optimised for ARM these teams can focus on exploring and iterating on design, accelerating prototyping and deployment in embedded systems used in mass production.”
The ARM optimised code offers up to a 10X execution performance improvement over ANSI/ISO C and supports MATLAB code, Simulink blocks, and DSP System Toolbox filters. ARM provides an integration that automates build and execution of the ARM optimised code, generated from Simulink, for the ARM MDK package.