summaryrefslogtreecommitdiff
path: root/docs/DAP/html/group__DAP__Info.html
blob: 00e2996a957133fc4fbd0ccfe4ccbc83f37f2bdd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
<!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>