1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 <title>Introduction</title>
7 <title>CMSIS-Driver Validation: Introduction</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <link href="drv.css" rel="stylesheet" type="text/css" />
10 <script type="text/javascript" src="jquery.js"></script>
11 <script type="text/javascript" src="dynsections.js"></script>
12 <script type="text/javascript" src="printComponentTabs.js"></script>
13 <link href="navtree.css" rel="stylesheet" type="text/css"/>
14 <script type="text/javascript" src="resize.js"></script>
15 <script type="text/javascript" src="navtree.js"></script>
16 <script type="text/javascript">
17 $(document).ready(initResizable);
18 $(window).load(resizeHeight);
20 <link href="search/search.css" rel="stylesheet" type="text/css"/>
21 <script type="text/javascript" src="search/search.js"></script>
22 <script type="text/javascript">
23 $(document).ready(function() { searchBox.OnSelectItem(0); });
25 <link href="stylsheetf" rel="stylesheet" type="text/css" />
28 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
30 <table cellspacing="0" cellpadding="0">
32 <tr style="height: 46px;">
33 <td id="projectlogo"><img alt="Logo" src="keilarm.png"/></td>
34 <td style="padding-left: 0.5em;">
35 <div id="projectname">CMSIS-Driver Validation
36  <span id="projectnumber">Version 3.0.0</span>
38 <div id="projectbrief">Driver Validation</div>
44 <!-- end header part -->
45 <div id="DRVnav" class="tabs1">
47 <script type="text/javascript">
49 writeComponentTabs.call(this);
54 <!-- Generated by Doxygen 1.8.6 -->
55 <script type="text/javascript">
56 var searchBox = new SearchBox("searchBox", "search",false,'Search');
58 <div id="navrow1" class="tabs">
60 <li class="current"><a href="index.html"><span>Main Page</span></a></li>
61 <li><a href="pages.html"><span>Usage and Description</span></a></li>
62 <li><a href="modules.html"><span>Reference</span></a></li>
64 <div id="MSearchBox" class="MSearchBoxInactive">
66 <img id="MSearchSelect" src="search/mag_sel.png"
67 onmouseover="return searchBox.OnSearchSelectShow()"
68 onmouseout="return searchBox.OnSearchSelectHide()"
70 <input type="text" id="MSearchField" value="Search" accesskey="S"
71 onfocus="searchBox.OnSearchFieldFocus(true)"
72 onblur="searchBox.OnSearchFieldFocus(false)"
73 onkeyup="searchBox.OnSearchFieldChange(event)"/>
74 </span><span class="right">
75 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
82 <div id="side-nav" class="ui-resizable side-nav-resizable">
84 <div id="nav-tree-contents">
85 <div id="nav-sync" class="sync"></div>
88 <div id="splitbar" style="-moz-user-select:none;"
89 class="ui-resizable-handle">
92 <script type="text/javascript">
93 $(document).ready(function(){initNavTree('index.html','');});
95 <div id="doc-content">
96 <!-- window showing the filter options -->
97 <div id="MSearchSelectWindow"
98 onmouseover="return searchBox.OnSearchSelectShow()"
99 onmouseout="return searchBox.OnSearchSelectHide()"
100 onkeydown="return searchBox.OnSearchSelectKey(event)">
101 <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Pages</a></div>
103 <!-- iframe showing the search results (closed by default) -->
104 <div id="MSearchResultsWindow">
105 <iframe src="javascript:void(0)" frameborder="0"
106 name="MSearchResults" id="MSearchResults">
111 <div class="headertitle">
112 <div class="title">Introduction </div> </div>
114 <div class="contents">
115 <div class="textblock"><p>This manual explains the scope and the usage of the Software Pack for <b>CMSIS-Driver Validation</b>.<br/>
116 <a href="http://www.keil.com/pack/doc/CMSIS/Driver/html/index.html" target="_blank">CMSIS-Driver</a> specifies the software API for peripheral driver interfaces that connect microcontroller peripherals with middleware or the user application.</p>
117 <p>The CMSIS-Driver Validation is used to validate the driver implementation compliance to the CMSIS-Driver specification.</p>
118 <p>The CMSIS-Driver Validation provides:</p>
120 <li>Configurable validation tests for various CMSIS-Driver interfaces</li>
121 <li>Example projects that show the usage of the CMSIS-Driver Validation</li>
122 <li>Various Servers used for testing</li>
124 <p>The CMSIS-Driver Validation tests and verifies:</p>
126 <li><b>API interface</b> using the driver capabilities as well as valid and invalid parameters</li>
127 <li><b>Data communication</b> with various transfer sizes and communication parameters:<ul>
128 <li><b>Loopback testing</b> (for some interfaces) for testing of the underlying hardware with usage of a local loopback</li>
129 <li><b>Server testing</b> (for some interfaces) for extensive testing of the underlying hardware with usage of a dedicated Server</li>
132 <li><b>Transfer speed</b> of the data communication with time measurement of data transfer duration</li>
133 <li><b>Event</b> signaling</li>
135 <p>The CMSIS-Driver Validation requires <a href="http://www.keil.com/pack/doc/CMSIS/RTOS2/html/index.html" target="_blank">CMSIS-RTOS2</a> functionality and can be used to verify the setup and configuration of the CMSIS-Driver interfaces in a user system.<br/>
137 <p>The diagram below shows an overview of the CMSIS-Driver Validation configuration.</p>
139 <img src="cmsis_dv.png" alt="cmsis_dv.png"/>
141 <p>This manual contains the following chapters:</p>
143 <li><a class="el" href="setup.html">Setup</a> - Describes the general setup of the CMSIS-Driver Validation test and how to generate test report.</li>
144 <li><a class="el" href="report.html">Report</a> - Describes the reports produced by the CMSIS-Driver Validation.</li>
145 <li><a class="el" href="debugging.html">Debugging</a> - Describes procedure for debugging of the interface drivers using the CMSIS-Driver Validation.</li>
146 <li><a class="el" href="resource_requirements.html">Resource Requirements</a> - Lists memory and CMSIS-RTOS2 requirements.</li>
147 <li><a class="el" href="examples.html">Examples</a> - Contains information about several example projects including the required hardware setup.</li>
148 <li><a href="./modules.html" class="el">Reference</a> - Explains the configuration and tests for the various CMSIS-Driver interfaces.</li>
150 <p>The CMSIS-Driver Validation provides validation for the following interfaces:</p>
152 <li><a class="el" href="group__dv__can.html">CAN</a> - Controller Area Network (CAN) interface driver.</li>
153 <li><a class="el" href="group__dv__eth.html">Ethernet</a> - Ethernet MAC and PHY peripheral interface driver.</li>
154 <li><a class="el" href="group__dv__i2c.html">I2C</a> - Inter-Integrated Circuit (I2C) multi-master serial single-ended bus interface driver.</li>
155 <li><a class="el" href="group__dv__mci.html">MCI</a> - Memory Card Interface driver for SD/MMC memory.</li>
156 <li><a class="el" href="group__dv__spi.html">SPI</a> - Serial Peripheral Interface (SPI) driver.</li>
157 <li><a class="el" href="group__dv__usart.html">USART</a> - Universal Synchronous and Asynchronous Receiver/Transmitter (USART) interface driver.</li>
158 <li><a class="el" href="group__dv__usbd.html">USB Device</a> - Universal Serial Bus (USB) Device interface driver.</li>
159 <li><a class="el" href="group__dv__usbh.html">USB Host</a> - Universal Serial Bus (USB) Host interface driver.</li>
160 <li><a class="el" href="group__dv__wifi.html">WiFi</a> - WiFi (Wireless Fidelity Interface) module/shield driver.</li>
162 <dl class="section note"><dt>Note</dt><dd>Extensive testing using dedicated Server is available for SPI and USART drivers.</dd></dl>
163 <p>This manual assumes that you are familiar with MDK. Refer to <a href="http://www2.keil.com/mdk5/install" target="_blank">MDK Version 5 - Getting Started</a> for additional information.</p>
165 <h2>Revision History </h2>
166 <table class="cmtable" summary="Revision History">
168 <th>Version </th><th><p class="starttd">Description </p>
169 <p class="endtd"></p>
172 <td>V3.0.0 </td><td><ul>
173 <li>Rework USART driver validation (introduced USART_Server)</li>
174 <li>Add USART_Server application for Keil MCBSTM32F400 evaluation board</li>
175 <li>Add USART_Server application for STM32F429I-DISC1 board</li>
176 <li>Update to SPI_Server application (improved robustness, use software controlled Slave Select in Master mode)</li>
177 <li>Update to SPI driver validation (improved robustness, enable Data Bits tests in loopback mode, align data buffers to 32 bytes)</li>
178 <li>Add SPI_Server application for STM32F429I-DISC1 board</li>
179 <li>Add WiFi Driver tests (socket functions in non-blocking mode)</li>
180 <li>Minor update to WiFi driver validation (less strict SocketAccept and SocektSend tests)</li>
181 <li>Add SockServer application for IMXRT1050-EVKB</li>
182 <li>Add pack version information in Test Report</li>
183 <li>Add support for Arm Cortex-M85 processor based devices</li>
184 <li>Add support for Arm China Star-MC1 processor based devices</li>
185 <li>Update examples</li>
186 <li>Update documentation </li>
190 <td>V2.0.0 </td><td><ul>
191 <li>Remove bundle from components</li>
192 <li>Change configuration from single file to a file per component</li>
193 <li>Rework SPI Driver testing (introduced SPI_Server)</li>
194 <li>Add SPI_Server application for Keil MCBSTM32F400 evaluation board</li>
195 <li>Update WiFi Driver tests (support for WiFi Driver API V1.1.0)</li>
196 <li>Update all examples</li>
197 <li>Deprecate CMSIS-RTOS1 </li>
201 <td>V1.4.0 </td><td><ul>
202 <li>Updated conditions to support all Cortex-M devices</li>
203 <li>Introduced test groups (each driver is organized in a group)</li>
204 <li>Improved XSL for XML display</li>
205 <li>Updated all examples</li>
206 <li>Removed example for Atmel board</li>
207 <li>WiFi Driver Testing: Added SockServer application for PC running Microsoft Windows</li>
208 <li>WiFi Driver Testing: Added upstream and downstream bandwidth testing</li>
209 <li>WiFi Driver Testing: Added example for Inventek ISM43362 WiFi Driver testing on STMicroelectronics B-L475E-IOT01A1 board</li>
210 <li>WiFi Driver Testing: Added example for Inventek ISM43362 WiFi Driver testing using ISMART43362-E WiFi shield mounted on NXP LPCXpresso55S69 board</li>
211 <li>WiFi Driver Testing: Added examples for Espressif ESP8266 and ESP32 WiFi Driver testing with NXP MIMXRT1064-EVK board</li>
212 <li>WiFi Driver Testing: Added example for WIZnet WizFi360 WiFi Driver testing with NXP MIMXRT1064-EVK board </li>
216 <td>V1.3.0 </td><td><ul>
217 <li>Added WiFi tests </li>
221 <td>V1.2.0 </td><td><ul>
222 <li>Added CMSIS-RTOS2 and Arm Compiler 6 compatibility </li>
226 <td>V1.1.0 </td><td><ul>
227 <li>Added USB Host, CAN and Ethernet Precision Time Protocol tests </li>
231 <td>V1.0.0 </td><td><ul>
232 <li>Initial release for CMSIS-Driver API V2.0 </li>
236 </div></div><!-- contents -->
237 </div><!-- doc-content -->
238 <!-- start footer part -->
239 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
241 <li class="footer">Generated on Fri Jul 15 2022 08:42:09 for CMSIS-Driver Validation by ARM Ltd. All rights reserved.
243 <a href="http://www.doxygen.org/index.html">
244 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6