]> begriffs open source - cmsis-driver-validation/blob - README.md
Minor documentation update (#9)
[cmsis-driver-validation] / README.md
1 # CMSIS-Driver Validation
2
3 Test suite for verifying that a peripheral driver implementation is compliant with the corresponding [CMSIS-Driver Specification](https://arm-software.github.io/CMSIS_5/Driver/html/index.html).
4
5 ## Overview
6 The branch **main** of this repository contains the code of CMSIS-Driver Validation Suite. [User documentation](http://arm-software.github.io/CMSIS-Driver_Validation/main/index.html) explains the scope and the usage of the framework.
7
8 [See verified releases](https://github.com/ARM-software/CMSIS-Driver_Validation/releases) of CMSIS-Driver Validation suite in source code archives and in [CMSIS-Pack (.pack)](https://open-cmsis-pack.github.io/Open-CMSIS-Pack-Spec/main/html/index.html) format as download assets.
9
10 Feel free to raise an [issue on GitHub](https://github.com/ARM-software/CMSIS-Driver_Validation/issues) to report a misbehavior (i.e. bugs), start discussions about enhancements or create a pull request with suggested modifications.
11
12 ### Supported Driver Interfaces
13
14 The CMSIS-Driver Validation provides tests for the following CMSIS-Driver interfaces:
15
16 Extensive tests with available test servers:
17   - **SPI** - Serial Peripheral Interface driver.
18   - **USART** - Universal Synchronous and Asynchronous Receiver/Transmitter interface driver.
19   - **WiFi** - Wireless Fidelity Interface module/shield driver.
20
21 Basic tests:
22   - **CAN** - Controller Area Network interface driver.
23   - **Ethernet** - Ethernet MAC and PHY peripheral interface driver.
24   - **I2C** - Inter-Integrated Circuit multi-master serial single-ended bus interface - driver.
25   - **MCI** - Memory Card Interface driver for SD/MMC memory.
26   - **USB Device** - Universal Serial Bus Device interface driver.
27   - **USB Host** - Universal Serial Bus Host interface driver.
28
29
30 ## Repository Structure
31
32 | Directory/File        | Content                                                   |
33 | --------------------- | --------------------------------------------------------- |
34 | [`Boards`](./Boards/) | Driver Validation examples for various boards             |
35 | [`Config`](./Config/) | Configuration files for the Driver Validation framework   |
36 | [`Documentation`](./Documentation)    | Placeholder for the offline documentation in the pack     |
37 | [`DoxyGen`](./Doxygen)          | Source of the documentation                               |
38 | [`Include`](./Include)          | Header files for Driver Validation components             |
39 | [`Scripts`](./Scripts)          | Script files for XML reports                              |
40 | [`Source`](./Source)           | Source files for Driver Validation components             |
41 | [`Tools`](./Tools)            | Various Server implementations for extensive testing      |
42 | [`ARM.CMSIS-Driver_Validation.pdsc`](./ARM.CMSIS-Driver_Validation.pdsc) | Open-CMSIS-Pack description file           |
43 | [`gen_pack.sh`](./gen_pack.sh)       | Open-CMSIS-Pack generation script                         |
44 | [`LICENSE.txt`](./LICENSE.txt)       | License text for the repository content                   |
45
46
47
48 ## Examples
49
50 Folder [`Boards`](./Boards/) contains example projects that show how to use the CMSIS-Driver Validation on a real hardware with available CMSIS-Driver implementations.The examples are also included in CMSIS-Driver Validation Software Pack. Details are explained in [Examples documentation](https://arm-software.github.io/CMSIS-Driver_Validation/main/examples.html).
51
52 ## Build CMSIS-Driver Validation as Open-CMSIS-Pack
53
54  A generator script [`gen_pack.sh`](./gen_pack.sh) is provided for building the CMSIS-Driver Validation as [Open-CMSIS-Pack](https://open-cmsis-pack.github.io/Open-CMSIS-Pack-Spec/main/html/index.html) using the [gen-pack library](https://github.com/Open-CMSIS-Pack/gen-pack). Simply follow the steps below:
55   
56  - Verify that following tools are installed on the PC:
57    - git bash (e.g. for Windows: https://gitforwindows.org/)
58    - ZIP archive creation utility (e.g. [7-Zip](http://www.7-zip.org/download.html))
59    - Doxygen version 1.9.2 (https://sourceforge.net/projects/doxygen/files/rel-1.9.2/)
60  - Checkout this repository. For example in git bash with:
61     ```git clone https://github.com/ARM-Software/CMSIS-Driver_Validation```
62  - In the local repository folder execute `./gen_pack.sh` in the bash shell.
63    - this creates a pack file in the local `output` folder. For example `./output/ARM.CMSIS-Driver_Validation.3.0.1-dev12+g3725082.pack`.
64
65 ## License
66
67 Arm CMSIS-Driver Validation is licensed under [Apache 2.0 license](https://opensource.org/licenses/Apache-2.0).
68
69 ## Useful resources
70
71 | Link                        | Description                                                 |
72 |:--------------------------- |:----------------------------------------------------------- |
73 | [CMSIS](https://github.com/ARM-software/cmsis_5)               | CMSIS GitHub repository  |
74 | [CMSIS-Driver Specification](https://arm-software.github.io/CMSIS_5/latest/Driver/html/index.html) | Specification of CMSIS-Driver API    |
75 | [CMSIS-Driver](https://github.com/ARM-software/CMSIS-Driver)   |  Reference CMSIS-Driver implementations for external peripheral devices |
76 | [Open-CMSIS-Pack](https://www.open-cmsis-pack.org)  |  Overview of the Open-CMSIS-Pack project|