CMSIS-Driver  Version 2.8.0
Peripheral Interface for Middleware and Application Code
 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:

The Driver Validation output can be printed to a console or saved in an XML file, via standard output (usually ITM).

Sample Test Output

CMSIS-Driver USART Test Report   Dec  6 2019   11:44:30 

TEST 01: USART_GetCapabilities            PASSED
TEST 02: USART_Initialization             PASSED
TEST 03: USART_PowerControl               
  DV_USART.c (301): [WARNING] Low power is not supported
TEST 04: USART_Config_PolarityPhase       PASSED
TEST 05: USART_Config_DataBits            
  DV_USART.c (387): [WARNING] Data Bits = 9 are not supported
TEST 06: USART_Config_StopBits            
  DV_USART.c (425): [WARNING] Stop Bits = 1.5 are not supported
  DV_USART.c (429): [WARNING] Stop Bits = 0.5 are not supported
TEST 07: USART_Config_Parity              PASSED
TEST 08: USART_Config_Baudrate            PASSED
TEST 09: USART_Config_CommonParams        PASSED
TEST 10: USART_Send                       PASSED
TEST 11: USART_AsynchronousReceive        PASSED
TEST 12: USART_Loopback_CheckBaudrate     PASSED
TEST 13: USART_Loopback_Transfer          PASSED
TEST 14: USART_CheckInvalidInit           PASSED

Test Summary: 14 Tests, 14 Passed, 0 Failed.
Test Result: PASSED

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