blob: 00e2996a957133fc4fbd0ccfe4ccbc83f37f2bdd [file] [log] [blame]
<!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>DAP_Info</title>
<title>CMSIS-DAP: DAP_Info</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-DAP
&#160;<span id="projectnumber">Version 2.0.0</span>
</div>
<div id="projectbrief">Interface Firmware for CoreSight Debug Access Port</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><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('group__DAP__Info.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>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><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">DAP_Info<div class="ingroups"><a class="el" href="group__DAP__genCommands__gr.html">General Commands</a></div></div> </div>
</div><!--header-->
<div class="contents">
<p>Get Information about CMSIS-DAP Debug Unit.
<a href="#details">More...</a></p>
<p>Get Information about CMSIS-DAP Debug Unit. </p>
<p>The <b>DAP_Info Command</b> provides configuration information about the Debug Unit itself and the capabilities.</p>
<p><b>DAP_Info Command:</b> </p>
<div class="fragment"><div class="line">| BYTE | BYTE |</div>
<div class="line">&gt; 0x00 | ID |</div>
<div class="line">|******|******| </div>
</div><!-- fragment --><ul>
<li><b>ID:</b> Request Identifier to obtain information in the Response:<ul>
<li><b>0x01</b> = Get the <b>Vendor ID</b> (string).</li>
<li><b>0x02</b> = Get the <b>Product ID</b> (string).</li>
<li><b>0x03</b> = Get the <b>Serial Number</b> (string).</li>
<li><b>0x04</b> = Get the <b>CMSIS-DAP Firmware Version</b> (string).</li>
<li><b>0x05</b> = Get the <b>Target Device Vendor</b> (string).</li>
<li><b>0x06</b> = Get the <b>Target Device Name</b> (string).</li>
<li><b>0xF0</b> = Get information about the <b>Capabilities</b> (BYTE) of the Debug Unit (see below for details).</li>
<li><b>0xF1</b> = Get the <b>Test Domain Timer</b> parameter information (see below for details).</li>
<li><b>0xFD</b> = Get the <b>SWO Trace Buffer Size</b> (WORD).</li>
<li><b>0xFE</b> = Get the maximum <b>Packet Count</b> (BYTE).</li>
<li><b>0xFF</b> = Get the maximum <b>Packet Size</b> (SHORT).</li>
</ul>
</li>
</ul>
<p><b>DAP_Info Response:</b> </p>
<div class="fragment"><div class="line">| BYTE | BYTE | BYTE |</div>
<div class="line">&lt; 0x00 | Len | Info |</div>
<div class="line">|******|******|++++++|</div>
</div><!-- fragment --><ul>
<li><b>Len:</b> Info length in bytes.</li>
<li><b>Info:</b> <ul>
<li>a <b>string</b> encoded in US ASCII. Len is the string length including the \x00 terminator. Len = 0 indicates no information.</li>
<li>a <b>BYTE</b> value (indicated with Len = 1).</li>
<li>a <b>SHORT</b> value (indicated with Len = 2).</li>
<li>a <b>WORD</b> value (indicated with Len = 4).</li>
</ul>
</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>The ID for <b>Vendor ID</b>, <b>Product ID</b>, and <b>Serial Number</b> may return no string (indicated by Len = 0). In this case the USB Device Information is used to obtain Vendor, Product, and Serial Number.</dd>
<dd>
<b>Target Device Vendor</b> and <b>Target Device Name</b> are only available on Debug Units with known Target Device. Refer to <a class="el" href="group__DAP__Config__Debug__gr.html#ga792651aa4035a7ad712c6bb201db8a6a">TARGET_DEVICE_FIXED</a> for more information. If the Target Device is not known no string is returned (indicated by Len = 0).</dd></dl>
<hr/>
<p><b>DAP_Info Response (for ID=0xF0):</b></p>
<p>The ID=0xF0 <b>Capabilities</b> obtains information about the available interface to the Device. The reply consists of one or two <b>Info</b> bytes with bits that indicate the features of the <b>Debug Unit</b>. The features indicate the command scope of the CMSIS-DAP firmware. If certain features are not available, the debugger should not call the related commands as the may not be implemented. Commands that are not implemented reply with 0xFF instead of repeating the command byte.</p>
<div class="fragment"><div class="line">| BYTE | BYTE | BYTE *| BYTE |</div>
<div class="line">&lt; 0x00 | Len | Info0 | Info1 |</div>
<div class="line">|******|******|*******|*******|</div>
</div><!-- fragment --><ul>
<li><b>Len:</b> <b>1 = Info0</b> present, <b>2 = Info0, Info1</b> present.</li>
</ul>
<p>Available transfer protocols to target:</p>
<ul>
<li>Info0 - Bit 0: <b>1 = SWD</b> Serial Wire Debug communication is implemented (0 = <a class="el" href="group__DAP__swd__gr.html">SWD Commands</a> not implemented).</li>
<li>Info0 - Bit 1: <b>1 = JTAG</b> communication is implemented (0 = <a class="el" href="group__DAP__jtag__gr.html">JTAG Commands</a> not implemented).</li>
</ul>
<p>Serial Wire Trace (SWO) support:</p>
<ul>
<li>Info0 - Bit 2: <b>1 = SWO UART</b> - UART Serial Wire Output is implemented (0 = not implemented).</li>
<li>Info0 - Bit 3: <b>1 = SWO Manchester</b> - Manchester Serial Wire Output is implemented (0 = not implemented).</li>
</ul>
<p>Command extensions for transfer protocol:</p>
<ul>
<li>Info0 - Bit 4: <b>1 = Atomic Commands</b> - <a class="el" href="group__DAP__atomic__gr.html">Atomic Commands</a> support is implemented (0 = <a class="el" href="group__DAP__atomic__gr.html">Atomic Commands</a> not implemented).</li>
</ul>
<p>Time synchronisation via Test Domain Timer:</p>
<ul>
<li>Info0 - Bit 5: <b>1 = Test Domain Timer</b> - debug unit support for Test Domain Timer is implemented (0 = not implemented).</li>
</ul>
<p>SWO Streaming Trace support:</p>
<ul>
<li>Info0 - Bit 6: <b>1 = SWO Streaming Trace</b> is implemented (0 = not implemented).</li>
</ul>
<hr/>
<p><b>DAP_Info Response (for ID=0xF1):</b></p>
<p>The ID=0xF1 <b>Test Domain Timer</b> obtains the parameter information about an optional 32-bit Test Domain Timer that may be used for various time measurements.</p>
<div class="fragment"><div class="line">| BYTE | BYTE | WORD *****|</div>
<div class="line">&lt; 0x00 | 0x08 | Frequency |</div>
<div class="line">|******|******|***********|</div>
</div><!-- fragment --><ul>
<li><b>Frequency:</b> Input frequency of the Test Domain Timer which indicates the resolution of the 32-bit TD_TimeStamp values. </li>
</ul>
</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:28 for CMSIS-DAP Version 2.0.0 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>