1 # CMSIS-Core Validation
3 This folder contains a test suite that validates CMSIS-Core implementations. It uses [**Fixed Virtual Platforms**](https://developer.arm.com/Tools%20and%20Software/Fixed%20Virtual%20Platforms) to run tests to verify correct operation of the CMSIS-Core functionality on various Arm Cortex based processors.
9 ┣ 📂 Include Include files for test cases etc.
10 ┣ 📂 Layer Layers for creating the projects.
11 ┣ 📂 Project Solution and project files to build tests for various configurations.
12 ┗ 📂 Source Test case source code.
17 Currently, the following build configurations are provided:
20 - Arm Compiler 6 (AC6)
35 - w/o security extensions (TrustZone)
38 - Cortex-M33 (with FPU and DSP extensions)
39 - w/o security extensions (TrustZone)
42 - Cortex-M35P (with FPU and DSP extensions)
43 - w/o security extensions (TrustZone)
46 - Cortex-M55 (with FPU and DSP extensions)
49 - Cortex-M85 (with FPU and DSP extensions)
58 3. Optimization Levels
82 The following tools are required to build and run the CoreValidation tests:
84 - [CMSIS-Toolbox](https://github.com/Open-CMSIS-Pack/cmsis-toolbox/releases) 1.3.0 or higher
90 - Python 3.8 or higher
91 - Arm Virtual Hardware Models
93 The executables need to be present on the `PATH`.
95 Install the Python packages required by `build.py`:
98 CMSIS_5/CMSIS/CoreValidation/Project $ pip install -r requirements.txt
103 To build and run the CoreValidation tests for one or more configurations use the following command line.
104 Select the `<compiler>`, `<device>`, and `optimize` level to `build` and `run` for.
107 CMSIS_5/CMSIS/CoreValidation/Project $ ./build.py -c <compiler> -d <device> -o <optimize> [build] [run]
110 For example, build and run the tests using GCC for Cortex-M3 with low optimization, execute:
113 CMSIS_5/CMSIS/CoreValidation/Project $ ./build.py -c GCC -d CM3 -o low build run
114 [GCC][Cortex-M3][low](build:csolution) csolution convert -s Validation.csolution.yml -c Validation.GCC_low+CM3
115 [GCC][Cortex-M3][low](build:csolution) csolution succeeded with exit code 0
116 [GCC][Cortex-M3][low](build:cbuild) cbuild Validation.GCC_low+CM3/Validation.GCC_low+CM3.cprj
117 [GCC][Cortex-M3][low](build:cbuild) cbuild succeeded with exit code 0
118 [GCC][Cortex-M3][low](run:model_exec) VHT_MPS2_Cortex-M3 -q --simlimit 100 -f ../Layer/Target/CM3/model_config.txt -a Validation.GCC_low+CM3/Validation.GCC_low+CM3_outdir/Validation.GCC_low+CM3.elf
119 [GCC][Cortex-M3][low](run:model_exec) VHT_MPS2_Cortex-M3 succeeded with exit code 0
124 compiler device optimize build clean extract run
125 ---------- --------- ---------- ------- ------- --------- -----
126 GCC Cortex-M3 low success (skip) (skip) 35/35
129 The full test report is written to `Core_Validation-GCC-low-CM3-<timestamp>.junit` file.
133 [](https://opensource.org/licenses/Apache-2.0)