# Driver Validation

CMSIS-Driver: Driver Validation

| CMSIS-Driver Version 2.6.0 Peripheral Interface for Middleware and Application Code

- Main Page
- Usage and Description
- Reference

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Driver Validation

The Software Pack named ARM::CMSIS-Driver_Validation contains the following:

- Source code of a CMSIS-Driver Validation Suite along with configuration file.
- Documentation of the CMSIS-Driver Validation Suite.
- Examples that shows the usage of the CMSIS-Driver Validation Suite on various target platforms.

The CMSIS-Driver Validation Suite performs the following tests:

- Generic Validation of API function calls
- Validation of Configuration Parameters
- Validation of Communication with loopback tests
- Validation of Communication Parameters such as baudrate
- Validation of Event functions

The following CMSIS-Drivers can be tested with the current release:

- CAN Interface : with loop back test of communication.
- Ethernet Interface : MAC and PHY with loop back test of communication.
- I2C Interface : only API and setup; does not test data transfer.
- MCI Interface : only API and setup; does not test data transfer.
- SPI Interface : with loop back test of communication.
- USART Interface : with loop back test of communication.
- USB Device Interface : only API and setup; does not test data transfer.
- USB Host Interface : only API and setup; does not test data transfer.

The Driver Validation output can printed to a console, output via ITM printf, or output to a memory buffer.

# Sample Test Output

    CMSIS-Driver Test      Aug 24 2015 15:15:14

    TEST 01: SPI_GetCapabilities          PASSED
    TEST 02: SPI_Initialization
      DV_SPI.c(142) - Failed
    TEST 03: SPI_PowerControl             NOT EXECUTED
      :
      :
    TEST 23: USART_Send
      DV_USART.c(335) - Fail to send 1024 bytes
      DV_USART.c(335) - Fail to send 2048 bytes
      DV_USART.c(341) - Fail to send without callback 2048 bytes
      :
      :
    Test Summary: 52 Tests: 42 Executed, 22 Failed.
      653 Test Cases: 56 Errors(s), 12 Warning(s).

# Setup for Loop Back Communication

To perform loop back communication tests it is required to connect the input and the output of the peripherals as shown in this table:

Peripheral | Loop Back Configuration
--- | ---
Ethernet | Connect TX+ (Pin 1) with RX+ (Pin 3), TX- (Pin 2) with RX- (Pin 6)
SPI | Connect MISO to MOSI
USART | Connect TX with RX

The following picture shows the necessary external loop back connections for the Keil MCBSTM32F400 evaluation board:

- SPI: PB14 (SPI2_MISO) and PB15 (SPI2_MOSI)
- USART: PB6 (USART1_TX) and PB7 (USART1_RX)
- Ethernet: Pin 1 (TX+) and Pin 3 (RX+), Pin 2 (TX-) and Pin 6 (RX-)

Connections for Loop Back Communication Tests on Keil MCBSTM32F400