ARM extends CMSIS; adds software deployment methods
Richard York, vice president, embedded CPU marketing, ARM said: “The new CMSIS methods give additional cost and time-to-market advantages to our ecosystem with consistent device information and peripheral drivers. This accelerates further device adoption across the tool and software industry.”
The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces.
The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
CMSIS is used by more than 25 ARM Partners including: Altium, Atmel, Atollic, Cypress, Freescale, Infineon, Microsemi, Nordic, NXP, Nuvoton, Raisonance, Silicon Labs, Spansion, ST, Texas Instruments and Toshiba.
CMSIS Version 4 features a new CMSIS-Pack and CMSIS-Driver specification.
The CMSIS-Pack describes a delivery mechanism for software components, device parameters, and evaluation board support. It specifies with an XML-based package description (PDSC) file the content of a file collection that includes:
· Source code, header files, and software libraries
· Documentation and source code templates
· Device parameters along with startup code and programing algorithms
· Example projects
The PDSC file is designed for software development environments and describes the user and device relevant context for the files supplied within a CMSIS-Pack.
The CMSIS-Driver specification is a software API describing peripheral driver interfaces for middleware stacks. A CMSIS-Driver connects a microcontroller peripheral with middleware that implements for example communication stacks, file systems, or graphic user interfaces. CMSIS-Drivers are RTOS independent and designed to be generic, making middleware reusable across the wide range of supported microcontroller devices.