Переглянути джерело

Added: General - Validation

ReinhardKeil 9 роки тому
батько
коміт
b5fa8bed7f
1 змінених файлів з 26 додано та 5 видалено
  1. 26 5
      CMSIS/DoxyGen/General/src/introduction.txt

+ 26 - 5
CMSIS/DoxyGen/General/src/introduction.txt

@@ -58,7 +58,7 @@ In detail 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.
  - 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 all mainstream compilers (ARMCC, IAR, and GNU).
+ - 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. 
  - CMSIS is delivered in CMSIS-Pack format which enables fast software delivery, simplifies updates, and enables consistent integration into development tools. 
 
@@ -70,7 +70,7 @@ The CMSIS uses the following essential coding rules and conventions:
  - Uses ANSI C standard data types defined in \b <stdint.h>.
  - Variables and parameters have a complete data type.
  - Expressions for \em \#define constants are enclosed in parenthesis.
- - Conforms to MISRA 2004. MISRA rule violations are documented.
+ - Conforms to MISRA 2012 (but does not claim MISRA compliance). MISRA rule violations are documented.
           
 In addition, the CMSIS recommends the following conventions for identifiers:
  - \b CAPITAL names to identify Core Registers, Peripheral Registers, and CPU Instructions.
@@ -97,6 +97,27 @@ Doxygen	comment example:
 \endverbatim
 
 
+\section Validation Validation
+
+The various components of CMSIS Version 5 are validated using mainstream compilers.  To get a diverse coverage,
+ARM uses the ARM Compiler v5 (based on EDG front-end), the ARM Compiler v6 (based on LLVM front-end), and the
+GCC Compiler) in the various tests. For each component the section \b "Validation" describes the scope of the 
+various verifications. 
+
+CMSIS components are compatible with a range of C and C++ language standards. The CMSIS components comply with 
+the <a href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ihi0036b/index.html">Application Binary 
+Interface (ABI) for the ARM Architecture</a> (exception CMSIS-RTOS v1). This ensures C API interfaces that support 
+inter-operation between various toolchains.
+
+As CMSIS defines API interfaces and functions that scale to a wide range of processors and devices, the scope of 
+the run-time test coverage is limited. However, several components are validated using dedicated test suites.
+
+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.
+
+
 \section License Licence
 
 The CMSIS is provided free of charge by ARM under Apache 2.0 license. 
@@ -127,8 +148,8 @@ index.html file for this documentation, and the following sub-directories:
 |\b Include                |Include files for <a href="../../Core/html/index.html"><b>CMSIS-CORE</b></a> and <a href="../../DSP/html/index.html"><b>CMSIS-DSP</b></a>|
 |\b Lib                    |<a href="../../DSP/html/index.html"><b>CMSIS-DSP</b></a> generated libraries for ARMCC and GCC                                           |
 |\b Pack                   |<a href="../../Pack/html/_pack__example.html"><b>CMSIS-Pack</b></a> example                                                              |
-|\b RTOS                   |<a href="../../RTOS/html/index.html"><b>CMSIS-RTOS API Version 1</b></a> along with RTX reference implementation                         |
-|\b RTOSv2                 |<a href="../../RTOSv1/html/index.html"><b>CMSIS-RTOS Version 2</b></a> along with RTX reference implementation                           |
+|\b RTOS                   |<a href="../../RTOS/html/index.html"><b>CMSIS-RTOS Version 1</b></a> along with RTX reference implementation                         |
+|\b RTOS2                  |<a href="../../RTOS2/html/index.html"><b>CMSIS-RTOS Version 2</b></a> along with RTX reference implementation                           |
 |\b SVD                    |<a href="../../SVD/html/index.html"><b>CMSIS-SVD</b></a> example                                                                         |
 |\b UserCodeTemplates\\ARM |ITM_Retarget.c, CMSIS <a href="../../Core/html/group___i_t_m___debug__gr.html"><b>retarget output</b></a> to ITM Channel 0 template file |
 |\b Utilities              |PACK.xsd (<a href="../../Pack/html/_pack__example.html"><b>CMSIS-Pack</b></a> schema file), PackChk.exe (checking tool for software packs), \n CMSIS-SVD.xsd (<a href="../../SVD/html/index.html"><b>CMSIS-SVD</b></a> schema file), SVDConv.exe (conversion tool for SVD files)|
@@ -166,7 +187,7 @@ In addition, each CMSIS component has its own release history:
       <td>
         Added <a href="http://www.arm.com/products/processors/instruction-set-architectures/armv8-m-architecture.php" target="_blank"><b>ARMv8-M architecture</b></a> support.
         - CMSIS-CORE 5.0.0
-		    - CMSIS-RTOS 2.0.0
+	    - CMSIS-RTOS 2.0.0
         - CMSIS-PACK 1.4.4 introducing CPDSC project description
       </td>
     </tr>