summaryrefslogtreecommitdiff
path: root/docs/DAP/html/group__DAP__Config__gr.html
blob: 3cbaf023e0439e20d51c95263369793ecf8b3138 (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
<!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>Firmware Configuration</title>
<title>CMSIS-DAP: Firmware Configuration</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__Config__gr.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="summary">
<a href="#groups">Content</a>  </div>
  <div class="headertitle">
<div class="title">Firmware Configuration</div>  </div>
</div><!--header-->
<div class="contents">

<p>CMSIS-DAP is designed for Debug Units with Cortex-M microcontroller.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
Content</h2></td></tr>
<tr class="memitem:group__DAP__ConfigMCU__gr"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DAP__ConfigMCU__gr.html">Debug Unit Processor</a></td></tr>
<tr class="memdesc:group__DAP__ConfigMCU__gr"><td class="mdescLeft">&#160;</td><td class="mdescRight">CMSIS-DAP Firmware runs on Debug Units with a Cortex-M microcontroller. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group__DAP__ConfigIO__gr"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DAP__ConfigIO__gr.html">Configure I/O Ports and Debug Unit</a></td></tr>
<tr class="memdesc:group__DAP__ConfigIO__gr"><td class="mdescLeft">&#160;</td><td class="mdescRight">DAP_config.h configures I/O ports and Debug Unit hardware parameters. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group__DAP__ConfigUSB__gr"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DAP__ConfigUSB__gr.html">Configure USB Peripheral</a></td></tr>
<tr class="memdesc:group__DAP__ConfigUSB__gr"><td class="mdescLeft">&#160;</td><td class="mdescRight">CMSIS-DAP Firmware communicates via an USB interface to host computer. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group__DAP__ConfigFlash__gr"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DAP__ConfigFlash__gr.html">Flash Program Firmware</a></td></tr>
<tr class="memdesc:group__DAP__ConfigFlash__gr"><td class="mdescLeft">&#160;</td><td class="mdescRight">The CMSIS-DAP Firmware is programmed into Flash ROM of a Debug Unit. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
<p>CMSIS-DAP is designed for Debug Units with Cortex-M microcontroller. </p>
<p>The CMSIS-DAP firmware can be deployed to a Debug Unit that is based on Cortex-M processor-based microcontroller.</p>
<div class="image">
<img src="CMSIS_DAP_DEBUG_UNIT.png" alt="CMSIS_DAP_DEBUG_UNIT.png"/>
<div class="caption">
CMSIS-DAP Debug Unit Hardware</div></div>
<p> The picture below shows the setup with an isolation adapter.</p>
<div class="image">
<img src="CMSIS_DAP_DEBUG_UNIT_ISO.png" alt="CMSIS_DAP_DEBUG_UNIT_ISO.png"/>
<div class="caption">
CMSIS-DAP Debug Unit with Isolation adapter</div></div>
 <h2>Hardware Requirements </h2>
<p>The CMSIS-DAP Firmware is designed for Debug Units that fulfil the following hardware requirements:</p>
<ul>
<li>Cortex-M0, Cortex-M0+, Cortex-M3, or Cortex-M4 processor-based microcontroller.</li>
<li>CPU Clock: 48MHz or higher; microcontroller must have a SYSTICK timer.</li>
<li>RAM: 8KB or more; Flash ROM: 16KB or more.</li>
<li>Full-speed or High-speed USB Device Peripheral.</li>
<li>7 standard I/O pins for JTAG/SWD Device Interface.</li>
<li>optional 2 I/O pins for Status LEDs.</li>
<li>optional UART to support SWO capturing (Rx pin connected to SWO)</li>
</ul>
<h2>CMSIS-DAP Firmware </h2>
<p>The CMSIS-DAP Firmware can be configured for a new Debug Unit using at least the <a href="http://www.keil.com/mdk5" target="_blank">Keil MDK-Plus or MDK-Professional Edition</a>. Reference implementations are provided as source code with complete project files and may be used as starting point for the firmware deployment to a new Debug Unit.</p>
<p>The folder <b> .\Firmware\Config</b> contains a template of the <b>DAP_config.h</b> configuration file. Various adaptations for different target hardware are provided.</p>
<table class="doxtable">
<tr>
<th>Folders and Files </th><th>Description  </th></tr>
<tr>
<td>.\Firmware\Example\V1\LPC-Link-II </td><td>CMSIS-DAP Firmware using USB HID adapted to the NXP LPC-Link-II Debug Unit that is part of the LPCxpresso-II platform. </td></tr>
<tr>
<td>.\Firmware\Example\V2\LPC-Link-II </td><td>CMSIS-DAP Firmware using WinUSB adapted to the NXP LPC-Link-II Debug Unit that is part of the LPCxpresso-II platform. </td></tr>
</table>
<p>The CMSIS-DAP Firmware is designed to execute on a Debug Unit that is using a Cortex-M0, Cortex-M0+, Cortex-M3, or Cortex-M4 processor-based microcontroller. To deploy the firmware to a new Debug Unit copy an existing firmware adaptation to a new folder. For example, copy the folder .\Firmware\XMC4200 to a folder called .\Firmware\MyDebugUnit.</p>
<p>To following steps describe the adaptation of the CMSIS-DAP Firmware to a new Debug Unit:</p>
<ol type="1">
<li><a class="el" href="group__DAP__ConfigMCU__gr.html">Debug Unit Processor</a> : Select the microcontroller and replace the CMSIS-Core (Cortex-M) files.</li>
<li><a class="el" href="group__DAP__ConfigIO__gr.html">Configure I/O Ports and Debug Unit</a> : Adapt the I/O Ports and specify other parameters for the Debug Unit.</li>
<li><a class="el" href="group__DAP__ConfigUSB__gr.html">Configure USB Peripheral</a> : Adapt the USB Peripheral to the microcontroller.</li>
<li><a class="el" href="group__DAP__USART__gr.html">Connect SWO Trace</a> : Optional you may add a CMSIS-Driver USART to interface to SWO.</li>
<li><a class="el" href="group__DAP__Vendor__gr.html">CMSIS-DAP Vendor Commands</a> : Optional you may add vendor specific commands to the Debug Unit.</li>
<li><a class="el" href="group__DAP__ConfigFlash__gr.html">Flash Program Firmware</a> : Program the adapted firmware to the Flash ROM of the new Debug Unit.</li>
<li><a class="el" href="group__DAP__Validate__gr.html">Validate Debug Unit</a> : Validate the CMSIS-DAP firmware of the new Debug Unit. </li>
</ol>
</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>