<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>Driver Validation</title>
<title>CMSIS-Driver: Driver Validation</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="cmsis.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="printComponentTabs.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 46px;">
  <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">CMSIS-Driver
   &#160;<span id="projectnumber">Version 2.7.1</span>
   </div>
   <div id="projectbrief">Peripheral Interface for Middleware and Application Code</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<div id="CMSISnav" class="tabs1">
    <ul class="tablist">
      <script type="text/javascript">
		<!--
		writeComponentTabs.call(this);
		//-->
      </script>
	  </ul>
</div>
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
      <li><a href="modules.html"><span>Reference</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('driverValidation.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">Driver Validation </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>The <a href="http://www.keil.com/pack/" target="_blank">Software Pack</a> named <b>ARM::CMSIS-Driver_Validation</b> contains the following:</p>
<ul>
<li>Source code of a CMSIS-Driver Validation Suite along with configuration file.</li>
<li>Documentation of the CMSIS-Driver Validation Suite.</li>
<li>Examples that shows the usage of the CMSIS-Driver Validation Suite on various target platforms.</li>
</ul>
<p>The CMSIS-Driver Validation Suite performs the following tests:</p>
<ul>
<li>Generic Validation of API function calls</li>
<li>Validation of Configuration Parameters</li>
<li>Validation of Communication with loopback tests</li>
<li>Validation of Communication Parameters such as baudrate</li>
<li>Validation of Event functions</li>
</ul>
<p>The following CMSIS-Drivers can be tested with the current release:</p>
<ul>
<li><a class="el" href="group__can__interface__gr.html">CAN Interface</a> : with loop back test of communication.</li>
<li><a class="el" href="group__eth__interface__gr.html">Ethernet Interface</a> : MAC and PHY with loop back test of communication.</li>
<li><a class="el" href="group__i2c__interface__gr.html">I2C Interface</a> : only API and setup; does not test data transfer.</li>
<li><a class="el" href="group__mci__interface__gr.html">MCI Interface</a> : only API and setup; does not test data transfer.</li>
<li><a class="el" href="group__spi__interface__gr.html">SPI Interface</a> : with loop back test of communication.</li>
<li><a class="el" href="group__usart__interface__gr.html">USART Interface</a> : with loop back test of communication.</li>
<li><a class="el" href="group__usbd__interface__gr.html">USB Device Interface</a> : only API and setup; does not test data transfer.</li>
<li><a class="el" href="group__usbh__interface__gr.html">USB Host Interface</a> : only API and setup; does not test data transfer.</li>
</ul>
<p>The Driver Validation output can printed to a console, output via ITM printf, or output to a memory buffer.</p>
<h1><a class="anchor" id="test_output"></a>
Sample Test Output</h1>
<pre class="fragment">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).
</pre><h1><a class="anchor" id="loop_back_setup"></a>
Setup for Loop Back Communication</h1>
<p>To perform loop back communication tests it is required to connect the input and the output of the peripherals as shown in this table:</p>
<table class="doxtable">
<tr>
<th align="left">Peripheral </th><th align="left">Loop Back Configuration  </th></tr>
<tr>
<td align="left">Ethernet </td><td align="left">Connect TX+ (Pin 1) with RX+ (Pin 3), TX- (Pin 2) with RX- (Pin 6) </td></tr>
<tr>
<td align="left">SPI </td><td align="left">Connect MISO to MOSI </td></tr>
<tr>
<td align="left">USART </td><td align="left">Connect TX with RX </td></tr>
</table>
<p>The following picture shows the necessary external loop back connections for the Keil MCBSTM32F400 evaluation board:</p>
<ul>
<li>SPI: PB14 (SPI2_MISO) and PB15 (SPI2_MOSI)</li>
<li>USART: PB6 (USART1_TX) and PB7 (USART1_RX)</li>
<li>Ethernet: Pin 1 (TX+) and Pin 3 (RX+), Pin 2 (TX-) and Pin 6 (RX-)</li>
</ul>
<div class="image">
<img src="image006.png" alt="image006.png"/>
<div class="caption">
Connections for Loop Back Communication Tests on Keil MCBSTM32F400</div></div>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated on Wed Jul 10 2019 15:20:30 for CMSIS-Driver Version 2.7.1 by Arm Ltd. All rights reserved.
	<!--
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 
	-->
	</li>
  </ul>
</div>
</body>
</html>
