This folder contains a test suite that validates CMSIS-Core implementations. It uses Fixed Virtual Platforms to run tests to verify correct operation of the CMSIS-Core functionality on various Arm Cortex based processors.
📂 CoreValidation
┣ 📂 Include Include files for test cases etc.
┣ 📂 Layer Layers for creating the projects.
┣ 📂 Project Solution and project files to build tests for various configurations.
┗ 📂 Source Test case source code.
Currently, the following build configurations are provided:
The following tools are required to build and run the CoreValidation tests:
The executables need to be present on the PATH. For tools distributed via vcpkg (*) this can be achieved automatically:
./CMSIS/CoreValidation/Project $ vcpkg activate
Install the Python packages required by build.py:
./CMSIS/CoreValidation/Project $ pip install -r requirements.txt
To build and run the CoreValidation tests for one or more configurations use the following command line. Select the <compiler>, <device>, and <optimize> level to build and run for.
./CMSIS/CoreValidation/Project $ ./build.py -c <compiler> -d <device> -o <optimize> [build] [run]
For example, build and run the tests using GCC for Cortex-M3 with low optimization, execute:
./CMSIS/CoreValidation/Project $ ./build.py -c GCC -d CM3 -o none build run [GCC][Cortex-M3][none](build:csolution) csolution convert -s Validation.csolution.yml -c Validation.GCC_low+CM3 [GCC][Cortex-M3][none](build:csolution) csolution succeeded with exit code 0 [GCC][Cortex-M3][none](build:cbuild) cbuild Validation.GCC_low+CM3/Validation.GCC_low+CM3.cprj [GCC][Cortex-M3][none](build:cbuild) cbuild succeeded with exit code 0 [GCC][Cortex-M3][none](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 [GCC][Cortex-M3][none](run:model_exec) VHT_MPS2_Cortex-M3 succeeded with exit code 0 Matrix Summary ============== compiler device optimize build clean extract run ---------- --------- ---------- ------- ------- --------- ----- GCC Cortex-M3 none success (skip) (skip) 35/35
The full test report is written to Core_Validation-GCC-none-CM3-<timestamp>.junit file.