02.06.2015 Views

STM32 Journal - Digikey

STM32 Journal - Digikey

STM32 Journal - Digikey

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>STM32</strong> <strong>Journal</strong><br />

CMSIS comprises several parts<br />

(see Figure 4):<br />

〉〉 CMSIS-CORE is a standard API<br />

for all Cortex-M-based devices<br />

and abstracts key functionality<br />

〉〉 CMSIS-RTOS provides an API<br />

for RTOS integration with other<br />

tools and middleware<br />

〉〉 CMSIS-DSP is a collection of<br />

61 digital signal processing<br />

functions that take advantage<br />

of the <strong>STM32</strong>’s integrated<br />

floating-point and DSP<br />

capabilities. The library is<br />

designed for block processing<br />

to reduce interrupt overhead,<br />

optimize DMA utilization, and<br />

facilitate easy integration with<br />

an RTOS or kernel<br />

〉〉 CMSIS-SVD provides a<br />

System View Description for all<br />

peripherals to abstract actual<br />

peripheral implementations<br />

from application code and<br />

enable peripheral-awareness<br />

for debuggers<br />

With the release of CMSIS 3.0,<br />

ARM is standardizing on an<br />

RTOS API that makes it easier<br />

for middleware components from<br />

different vendors to interoperate.<br />

This will facilitate the propagation<br />

of application-specific<br />

components, such as a TCP/<br />

IP stack, as well as enable the<br />

USER<br />

CMSIS<br />

MCU<br />

CMSIS-DSP<br />

DSP-Library<br />

CMSIS-CORE<br />

SIMD<br />

Cortex-M4<br />

Cortex<br />

CPU<br />

development tool chain to be<br />

RTOS-aware.<br />

The CMSIS DSP library gives<br />

developers a substantial head<br />

start on the development of<br />

complex algorithms. It also<br />

allows developers to create<br />

complex application code that<br />

can be carried between MCUs<br />

Application Code<br />

CMSIS-RTOS<br />

API<br />

Real Time Kernel<br />

(3 rd Party)<br />

Core Peripheral Functions<br />

Peripheral Register & Interrupt Vector Definitions<br />

SysTick<br />

RTOS Kernel<br />

Timer<br />

NVIC<br />

Nested Vectored<br />

Interrupt Controller<br />

DEBUG<br />

+ Trace<br />

that may not have hardwarebased<br />

DSP instructions. This<br />

means that developers can write<br />

code for the <strong>STM32</strong> F2 and,<br />

when they compile it for the<br />

<strong>STM32</strong> F4, automatically get the<br />

full advantage of the <strong>STM32</strong> F4’s<br />

DSP capabilities.<br />

Device Peripheral<br />

Functions<br />

(Silicon Vendor)<br />

Other<br />

Peripherals<br />

Debugger<br />

(3 rd Party)<br />

System View<br />

Description (XML)<br />

CMSIS-<br />

SVD<br />

Figure 4 The ARM Cortex Microcontroller Software Interface Standard (CMSIS) provides a consistent software interface that<br />

accelerates product development as well as simplifies software reuse across the entire <strong>STM32</strong> product line of 300+ devices.<br />

Peripheral<br />

View<br />

Accelerated Peripheral<br />

Configuration and<br />

Driver Design<br />

One time-consuming part<br />

of product development is<br />

configuring an MCU’s peripherals<br />

and then writing drivers for<br />

the application to utilize them.<br />

To facilitate faster application<br />

38

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!