STM32 Journal - Digikey
STM32 Journal - Digikey
STM32 Journal - Digikey
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