From 96d6da4e252b06dcfdc041e7df23e86161c33007 Mon Sep 17 00:00:00 2001 From: rihab kouki Date: Tue, 28 Jul 2020 11:24:49 +0100 Subject: Official ARM version: v5.6.0 --- docs/General/html/index.html | 82 +++++++++++++++++++++++++------------------- 1 file changed, 47 insertions(+), 35 deletions(-) (limited to 'docs/General/html/index.html') diff --git a/docs/General/html/index.html b/docs/General/html/index.html index 6815664..ee7454c 100644 --- a/docs/General/html/index.html +++ b/docs/General/html/index.html @@ -27,9 +27,9 @@ Logo
CMSIS -  Version 5.4.0 +  Version 5.6.0
-
Cortex Microcontroller Software Interface Standard
+
Software Interface Standard for Arm Cortex-based Microcontrollers
@@ -72,38 +72,50 @@ $(document).ready(function(){initNavTree('index.html','');});
Introduction
-

The Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex®-M processor series and defines generic tool interfaces. The CMSIS enables consistent device support and simple software interfaces to the processor and the peripherals, simplifying software re-use, reducing the learning curve for microcontroller developers, and reducing the time to market for new devices.

+

The CMSIS is a vendor-independent hardware abstraction layer for microcontrollers that are based on Arm® Cortex® processors. The CMSIS defines generic tool interfaces and enables consistent device support. It provides simple software interfaces to the processor and the peripherals, simplifying software re-use, reducing the learning curve for microcontroller developers, and reducing the time to market for new devices.

The CMSIS is defined in close cooperation with various silicon and software vendors and provides a common approach to interface to peripherals, real-time operating systems, and middleware components. The CMSIS is intended to enable the combination of software components from multiple middleware vendors.

-

CMSIS Version 5 supports also the Armv8-M architecture including TrustZone® for Armv8-M hardware security extensions and the Cortex-M23 and Cortex-M33 processors.

-

The CMSIS components are:

-
    -
  • CMSIS-Core (Cortex-M): API for the Cortex-M processor core and peripherals. It provides a standardized interface for Cortex-M0, Cortex-M0+, Cortex-M3, Cortex-M4, Cortex-M7, Cortex-M23, Cortex-M33, SC000, and SC300. Also included are SIMD intrinsic functions for Cortex-M4, Cortex-M7, and Cortex-M33 SIMD instructions.
  • -
  • CMSIS-Core (Cortex-A): API and basic run-time system for the Cortex-A5/A7/A9 processor core and peripherals.
  • -
  • CMSIS-Driver: defines generic peripheral driver interfaces for middleware making it reusable across supported devices. The API is RTOS independent and connects microcontroller peripherals with middleware that implements for example communication stacks, file systems, or graphic user interfaces.
  • -
  • CMSIS-DSP: DSP Library Collection with over 60 Functions for various data types: fixed-point (fractional q7, q15, q31) and single precision floating-point (32-bit). The library is available for all Cortex-M cores. Implementations that are optimized for the SIMD instruction set are available for Cortex-M4, Cortex-M7, and Cortex-M33.
  • -
  • CMSIS-NN: CMSIS-NN is a collection of efficient neural network kernels developed to maximize the performance and minimize the memory footprint of neural networks on Cortex-M processor cores.
  • -
  • CMSIS-RTOS v1: Common API for Real-Time Operating Systems along with reference implementation based on RTX. It provides a standardized programming interface that is portable to many RTOS and enables software components that can work across multiple RTOS systems.
  • -
  • CMSIS-RTOS v2: extends CMSIS-RTOS v1 with support for Armv8-M architecture, dynamic object creation, provisions for multi-core systems, and binary compatible interface across ABI compliant compilers.
  • -
  • CMSIS-Pack: describes with an XML-based package description (PDSC) file the user and device relevant parts of a file collection (called a software pack) that includes source, header and library files, documentation, Flash programming algorithms, source code templates, and example projects. Development tools and web infrastructures use the PDSC file to extract device parameters, software components, and evaluation board configurations.
  • -
  • CMSIS-SVD: System View Description for Peripherals. Describes the peripherals of a device in an XML file and can be used to create peripheral awareness in debuggers or header files with peripheral register and interrupt definitions.
  • -
  • CMSIS-DAP: Debug Access Port. Standardized firmware for a Debug Unit that connects to the CoreSight Debug Access Port. CMSIS-DAP is distributed as a separate package and is well suited for integration on evaluation boards. This component is provided as separate download.
  • -
  • CMSIS-Zone: System resource definition and partitioning. Defines methods to describe system resources and to partition these resources into multiple projects and execution areas.
  • -
-
Note
Refer to ARM::CMSIS Pack for more information on the content of the Software Pack.
+

+CMSIS Components

+ + + + + + + + + + + + + + + + + + + + + + + + + +
CMSIS-... Target Processors Description
Core(M)All Cortex-M, SecurCore Standardized API for the Cortex-M processor core and peripherals. Includes intrinsic functions for Cortex-M4/M7/M33/M35P SIMD instructions.
Core(A)Cortex-A5/A7/A9 Standardized API and basic run-time system for the Cortex-A5/A7/A9 processor core and peripherals.
DriverAll Cortex Generic peripheral driver interfaces for middleware. Connects microcontroller peripherals with middleware that implements for example communication stacks, file systems, or graphic user interfaces.
DSPAll Cortex-M DSP library collection with over 60 Functions for various data types: fixed-point (fractional q7, q15, q31) and single precision floating-point (32-bit). Implementations optimized for the SIMD instruction set are available for Cortex-M4/M7/M33/M35P.
NNAll Cortex-M Collection of efficient neural network kernels developed to maximize the performance and minimize the memory footprint on Cortex-M processor cores.
RTOS v1Cortex-M0/M0+/M3/M4/M7 Common API for real-time operating systems along with a reference implementation based on RTX. It enables software components that can work across multiple RTOS systems.
RTOS v2All Cortex-M, Cortex-A5/A7/A9 Extends CMSIS-RTOS v1 with Armv8-M support, dynamic object creation, provisions for multi-core systems, binary compatible interface.
PackAll Cortex-M, SecurCore, Cortex-A5/A7/A9 Describes a delivery mechanism for software components, device parameters, and evaluation board support. It simplifies software re-use and product life-cycle management (PLM).
SVDAll Cortex-M, SecurCore Peripheral description of a device that can be used to create peripheral awareness in debuggers or CMSIS-Core header files.
DAPAll Cortex Firmware for a debug unit that interfaces to the CoreSight Debug Access Port.
ZoneAll Cortex Defines methods to describe system resources and to partition these resources into multiple projects and execution areas.
+

+Motivation

+

CMSIS has been created to help the industry in standardization. It enables consistent software layers and device support across a wide range of development tools and microcontrollers. CMSIS is not a huge software layer that introduces overhead and does not define standard peripherals. The silicon industry can therefore support the wide variations of Cortex-M processor-based devices with this common standard.

Overview.png
CMSIS Structure
-

-Motivation

-

CMSIS has been created to help the industry in standardization. It enables consistent software layers and device support across a wide range of development tools and microcontrollers. CMSIS is not a huge software layer that introduces overhead and does not define standard peripherals. The silicon industry can therefore support the wide variations of Cortex-M processor-based devices with this common standard.

-

In detail the benefits of the CMSIS are:

+

The benefits of the CMSIS are:

    -
  • Overall CMSIS reduces the learning curve, development costs, and time-to-market. Developers can write software quicker through a variety of easy-to-use, standardized software interfaces.
  • +
  • CMSIS reduces the learning curve, development costs, and time-to-market. Developers can write software quicker through a variety of easy-to-use, standardized software interfaces.
  • Consistent software interfaces improve the software portability and re-usability. Generic software libraries and interfaces provide consistent software framework.
  • -
  • Provides interfaces for debug connectivity, debug peripheral views, software delivery, and device support to reduce time-to-market for new microcontroller deployment.
  • -
  • Provides a compiler independent layer that allows using different compilers. CMSIS is supported by mainstream compilers.
  • -
  • Enhances program debugging with peripheral information for debuggers and ITM channels for printf-style output and RTOS kernel awareness.
  • +
  • It provides interfaces for debug connectivity, debug peripheral views, software delivery, and device support to reduce time-to-market for new microcontroller deployment.
  • +
  • Being a compiler independent layer, it allows to use the compiler of your choice. Thus, it is supported by mainstream compilers.
  • +
  • It enhances program debugging with peripheral information for debuggers and ITM channels for printf-style output.
  • CMSIS is delivered in CMSIS-Pack format which enables fast software delivery, simplifies updates, and enables consistent integration into development tools.
  • CMSIS-Zone will simplify system resource and partitioning as it manages the configuration of multiple processors, memory areas, and peripherals.
@@ -126,7 +138,7 @@ Coding Rules

The CMSIS is documented within the source files with:

  • Comments that use the C or C++ style.
  • -
  • Doxygen compliant function comments that provide:
      +
    • Doxygen compliant function comments that provide:
      • brief function overview.
      • detailed description of the function.
      • detailed parameter explanation.
      • @@ -150,10 +162,10 @@ Validation

        The CMSIS source code is checked for MISRA C:2012 conformance using PC-Lint. MISRA deviations are documented with reasonable effort, however Arm does not claim MISRA compliance as there is today for example no guideline enforcement plan. The CMSIS source code is not checked for MISRA C++:2008 conformance as there is a risk that it is incompatible with C language standards, specifically warnings that may be generated by the various C compilers.

        License

        -

        The CMSIS is provided free of charge by Arm under Apache 2.0 license. View the Apache 2.0 License.

        +

        The CMSIS is provided free of charge by Arm under the Apache 2.0 License.

        -ARM::CMSIS Pack

        -

        The ARM::CMSIS Pack contains the following:

        +CMSIS Software Pack +

        The CMSIS software components are delivered in CMSIS-Pack format. The ARM::CMSIS Pack contains the following:

        @@ -162,7 +174,7 @@ ARM::CMSIS Pack - +
        File/Directory Content
        LICENSE.txt CMSIS License Agreement (Apache 2.0)
        CMSIS CMSIS components (see below)
        CMSIS CMSIS components (see also table below)
        Device CMSIS reference implementations of Arm Cortex-M processor based devices
        @@ -191,9 +203,9 @@ ARM::CMSIS Pack Pack CMSIS-Pack example -RTOS CMSIS-RTOS Version 1 along with RTX reference implementation +RTOS CMSIS-RTOS Version 1 along with RTX4 reference implementation -RTOS2 CMSIS-RTOS Version 2 along with RTX reference implementation +RTOS2 CMSIS-RTOS Version 2 along with RTX5 reference implementation SVD CMSIS-SVD example @@ -206,7 +218,7 @@ ARM::CMSIS Pack