CMSIS-Driver Validation  
Driver Validation
 All Files Functions Variables Macros Groups Pages
Introduction

This manual explains the scope and the usage of the Software Pack for CMSIS-Driver Validation.
CMSIS-Driver specifies the software API for peripheral driver interfaces that connect microcontroller peripherals with middleware or the user application.

The CMSIS-Driver Validation is used to validate the driver implementation compliance to the CMSIS-Driver specification.

The CMSIS-Driver Validation provides:

  • Configurable validation tests for various CMSIS-Driver interfaces
  • Example projects that show the usage of the CMSIS-Driver Validation
  • Various Servers used for testing

The CMSIS-Driver Validation tests and verifies:

  • API interface using the driver capabilities as well as valid and invalid parameters
  • Data communication with various transfer sizes and communication parameters:
    • Loopback testing (for some interfaces) for testing of the underlying hardware with usage of a local loopback
    • Server testing (for some interfaces) for extensive testing of the underlying hardware with usage of a dedicated Server
  • Transfer speed of the data communication with time measurement of data transfer duration
  • Event signaling

The CMSIS-Driver Validation requires CMSIS-RTOS2 functionality and can be used to verify the setup and configuration of the CMSIS-Driver interfaces in a user system.

The diagram below shows an overview of the CMSIS-Driver Validation configuration.

cmsis_dv.png

This manual contains the following chapters:

  • Setup - Describes the general setup of the CMSIS-Driver Validation test and how to generate test report.
  • Report - Describes the reports produced by the CMSIS-Driver Validation.
  • Debugging - Describes procedure for debugging of the interface drivers using the CMSIS-Driver Validation.
  • Resource Requirements - Lists memory and CMSIS-RTOS2 requirements.
  • Examples - Contains information about several example projects including the required hardware setup.
  • Reference - Explains the configuration and tests for the various CMSIS-Driver interfaces.

The CMSIS-Driver Validation provides validation for the following interfaces:

  • CAN - Controller Area Network (CAN) interface driver.
  • Ethernet - Ethernet MAC and PHY peripheral interface driver.
  • I2C - Inter-Integrated Circuit (I2C) multi-master serial single-ended bus interface driver.
  • MCI - Memory Card Interface driver for SD/MMC memory.
  • SPI - Serial Peripheral Interface (SPI) driver.
  • USART - Universal Synchronous and Asynchronous Receiver/Transmitter (USART) interface driver.
  • USB Device - Universal Serial Bus (USB) Device interface driver.
  • USB Host - Universal Serial Bus (USB) Host interface driver.
  • WiFi - WiFi (Wireless Fidelity Interface) module/shield driver.
Note
Extensive testing using dedicated Server is available for SPI and USART drivers.

This manual assumes that you are familiar with MDK. Refer to MDK Version 5 - Getting Started for additional information.


Revision History

Version

Description

V3.0.0
  • Rework USART driver validation (introduced USART_Server)
  • Add USART_Server application for Keil MCBSTM32F400 evaluation board
  • Add USART_Server application for STM32F429I-DISC1 board
  • Update to SPI_Server application (improved robustness, use software controlled Slave Select in Master mode)
  • Update to SPI driver validation (improved robustness, enable Data Bits tests in loopback mode, align data buffers to 32 bytes)
  • Add SPI_Server application for STM32F429I-DISC1 board
  • Add WiFi Driver tests (socket functions in non-blocking mode)
  • Minor update to WiFi driver validation (less strict SocketAccept and SocektSend tests)
  • Add SockServer application for IMXRT1050-EVKB
  • Add pack version information in Test Report
  • Add support for Arm Cortex-M85 processor based devices
  • Add support for Arm China Star-MC1 processor based devices
  • Update examples
  • Update documentation
V2.0.0
  • Remove bundle from components
  • Change configuration from single file to a file per component
  • Rework SPI Driver testing (introduced SPI_Server)
  • Add SPI_Server application for Keil MCBSTM32F400 evaluation board
  • Update WiFi Driver tests (support for WiFi Driver API V1.1.0)
  • Update all examples
  • Deprecate CMSIS-RTOS1
V1.4.0
  • Updated conditions to support all Cortex-M devices
  • Introduced test groups (each driver is organized in a group)
  • Improved XSL for XML display
  • Updated all examples
  • Removed example for Atmel board
  • WiFi Driver Testing: Added SockServer application for PC running Microsoft Windows
  • WiFi Driver Testing: Added upstream and downstream bandwidth testing
  • WiFi Driver Testing: Added example for Inventek ISM43362 WiFi Driver testing on STMicroelectronics B-L475E-IOT01A1 board
  • WiFi Driver Testing: Added example for Inventek ISM43362 WiFi Driver testing using ISMART43362-E WiFi shield mounted on NXP LPCXpresso55S69 board
  • WiFi Driver Testing: Added examples for Espressif ESP8266 and ESP32 WiFi Driver testing with NXP MIMXRT1064-EVK board
  • WiFi Driver Testing: Added example for WIZnet WizFi360 WiFi Driver testing with NXP MIMXRT1064-EVK board
V1.3.0
  • Added WiFi tests
V1.2.0
  • Added CMSIS-RTOS2 and Arm Compiler 6 compatibility
V1.1.0
  • Added USB Host, CAN and Ethernet Precision Time Protocol tests
V1.0.0
  • Initial release for CMSIS-Driver API V2.0