CMSIS Cortex Microcontroller Software Interface Standard (CMSIS) CORE, DSP, RTOS, Driver ARM http://www.keil.com/pack/ Generic Interfaces for Evaluation and Development Boards Cortex Microcontroller Software Interface Components Startup, System Setup Unified Device Drivers File Drive Support and File System Network Stack using IP descriptions Universal Serial Bus Stack - CMSIS-Driver 2.00 Preliminary (incompatible update) - CMSIS-Pack 1.10 Preliminary - CMSIS-DSP 1.4.2 (see revision history for details) - CMSIS-Core 3.30 (see revision history for details) - CMSIS-RTOS RTX 4.74 (see revision history for details) - CMSIS-RTOS API 1.02 (unchanged) - CMSIS-SVD 1.10 (unchanged) - CMSIS-RTOS 4.74 (see revision history for details) - PACK Extensions (Boards, Device Features, Flash Programming, Generators, Configuration Wizard). Schema version 1.1. - CMSIS-Driver API Version 1.10 ARM prefix added (incompatible change) - CMSIS-RTOS 4.73 (see revision history for details) - CMSIS-Pack documentation has been added - CMSIS-Drivers header and documentation have been added to PACK - CMSIS-CORE, CMSIS-DSP, CMSIS-RTOS API and CMSIS-SVD remain unchanged - CMSIS-RTOS Keil RTX V4.72 has been added to PACK - CMSIS-CORE, CMSIS-DSP, CMSIS-RTOS API and CMSIS-SVD remain unchanged The software portions that are deployed in the application program are now under a BSD license which allows usage of CMSIS components in any commercial or open source projects. The Pack Description file Arm.CMSIS.pdsc describes the use cases The individual components have been update as listed below: - CMSIS-CORE adds functions for setting breakpoints, supports the latest GCC Compiler, and contains several corrections. - CMSIS-DSP library is optimized for more performance and contains several bug fixes. - CMSIS-RTOS API is extended with capabilities for short timeouts, Kernel initialization, and prepared for a C++ interface. - CMSIS-SVD is unchanged. The Cortex-M0 processor is an entry-level 32-bit ARM Cortex processor designed for a broad range of embedded applications. It offers significant benefits to developers, including: • simple, easy-to-use programmers model • highly efficient ultra-low power operation • excellent code density • deterministic, high-performance interrupt handling • upward compatibility with the rest of the Cortex-M processor family. The Cortex-M0+ processor is an entry-level 32-bit ARM Cortex processor designed for a broad range of embedded applications. It offers significant benefits to developers, including: • simple, easy-to-use programmers model • highly efficient ultra-low power operation • excellent code density • deterministic, high-performance interrupt handling • upward compatibility with the rest of the Cortex-M processor family. The Cortex-M3 processor is an entry-level 32-bit ARM Cortex processor designed for a broad range of embedded applications. It offers significant benefits to developers, including: • simple, easy-to-use programmers model • highly efficient ultra-low power operation • excellent code density • deterministic, high-performance interrupt handling • upward compatibility with the rest of the Cortex-M processor family. The Cortex-M4 processor is an entry-level 32-bit ARM Cortex processor designed for a broad range of embedded applications. It offers significant benefits to developers, including: • simple, easy-to-use programmers model • highly efficient ultra-low power operation • excellent code density • deterministic, high-performance interrupt handling • upward compatibility with the rest of the Cortex-M processor family. The ARM SC000 processor is an entry-level 32-bit ARM Cortex processor designed for a broad range of secure embedded applications. It offers significant benefits to developers, including: • simple, easy-to-use programmers model • highly efficient ultra-low power operation • excellent code density • deterministic, high-performance interrupt handling The ARM SC300 processor is an entry-level 32-bit ARM Cortex processor designed for a broad range of secure embedded applications. It offers significant benefits to developers, including: • simple, easy-to-use programmers model • highly efficient ultra-low power operation • excellent code density • deterministic, high-performance interrupt handling CMSIS-RTOS API for Cortex-M, SC000, and SC300 UART Driver API for Cortex-M SPI Driver API for Cortex-M I2C Driver API for Cortex-M MCI Driver API for Cortex-M NAND Flash Driver API for Cortex-M NOR Flash Driver API for Cortex-M Ethernet MAC and PHY Driver API for Cortex-M Ethernet MAC Driver API for Cortex-M Ethernet PHY Driver API for Cortex-M USB Device Driver API for Cortex-M USB Host Driver API for Cortex-M Cortex-M processor based device: one of CM0, CM0+, CM3, CM4, SC000, SC3000 ARM Cortex-M device CMSIS CORE processor and device specific Startup files Generic ARM Cortex-M0 device Generic ARM Cortex-M0+ device Generic ARM Cortex-M3 device Generic ARM Cortex-M4 device Generic ARM SC000 device Generic ARM SC300 device CMSIS DSP Library is for ARM Cortex-M Devices only and is prebuild for one of the compilers ARMCC, GCC, G++ or IAR Cortex-M0 or Cortex-M0+ or SC000 processor based device in little endian mode for the ARM Compiler Cortex-M0 or Cortex-M0+ or SC000 processor based device in big endian mode for the ARM Compiler Cortex-M3 or SC300 processor based device in little endian mode for the ARM Compiler Cortex-M3 or SC300 processor based device in big endian mode for the ARM Compiler Cortex-M4 processor based device in little endian mode for the ARM Compiler Cortex-M4 processor based device in big endian mode for the ARM Compiler Cortex-M4 processor based device using Floating Point Unit in little endian mode for the ARM Compiler Cortex-M4 processor based device using Floating Point Unit in little endian mode for the ARM Compiler and Infineon devices Cortex-M4 processor based device using Floating Point Unit in big endian mode for the ARM Compiler Cortex-M0 or Cortex-M0+ or SC000 processor based device in little endian mode for the GCC Compiler Cortex-M3 or SC300 processor based device in little endian mode for the GCC Compiler Cortex-M4 processor based device in little endian mode for the GCC Compiler Cortex-M4 processor based device using Floating Point Unit in little endian mode for the GCC Compiler Cortex-M4 processor based device using Floating Point Unit in little endian mode for the IAR Compiler and Infineon devices Cortex-M0 or Cortex-M0+ or SC000 processor based device in little endian mode for the G++ Compiler Cortex-M3 or SC300 processor based device in little endian mode for the G++ Compiler Cortex-M4 processor based device in little endian mode for the G++ Compiler Cortex-M4 processor based device using Floating Point Unit in little endian mode for the G++ Compiler Cortex-M0 or Cortex-M0+ or SC000 processor based device in little endian mode for the ARM Compiler Cortex-M0 or Cortex-M0+ or SC000 processor based device in big endian mode for the ARM Compiler Cortex-M3 or SC300 processor based device in little endian mode for the ARM Compiler Cortex-M3 or SC300 processor based device in big endian mode for the ARM Compiler Cortex-M4 processor based device in little endian mode for the ARM Compiler Cortex-M4 processor based device in big endian mode for the ARM Compiler Cortex-M4 processor based device using Floating Point Unit in little endian mode for the ARM Compiler Cortex-M4 processor based device using Floating Point Unit in big endian mode for the ARM Compiler CMSIS-CORE for Cortex-M, SC000, and SC300 System and Startup for Generic ARM Cortex-Mx devices CMSIS-DSP Library for Cortex-M, SC000, and SC300 CMSIS-RTOS RTX implementation for Cortex-M, SC000, and SC300 #define RTE_RTOS_RTX /* CMSIS-RTOS Keil RTX */