CMSIS-Driver  Version 2.04
Peripheral Interface for Middleware and Application Code
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Driver Validation

ARM offers a Software Pack for the CMSIS-Driver Validation. The ARM::CMSIS-Driver_Validation Pack 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:

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-)
image006.png
Connections for Loop Back Communication Tests on Keil MCBSTM32F400