blob: a6d61409748e0d6cc9978159fb28234dc0803559 [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>System Description File (*.SDF) Format</title>
<title>CMSIS-Pack: System Description File (*.SDF) Format</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-Pack
&#160;<span id="projectnumber">Version 1.6.0</span>
</div>
<div id="projectbrief">Delivery Mechanism for Software Packs</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>
<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('sdf_pg.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>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">System Description File (*.SDF) Format </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>An SDF file enables the silicon provider to describe more complex debug topologies than with a <a class="el" href="debug_description.html">Debug Description</a> in a tool agnostic way. Multiple debug and access ports and the setup of the different debug/trace components can be described consistently. Also, mandatory settings for a debugger can be described, such as trace signal delay settings, availability/usability of certain reset methods or timings, etc. This information is used by the debugger to access the right components that are requested by the user or application. The SDF format provides the XML elements for defining the debug system view of a device. These are "expert" settings that cannot be specified in a PDSC file.</p>
<dl class="section note"><dt>Note</dt><dd>SDF files are referenced in a PDSC file via the <code>&lt;debugconfig&gt;</code> element.</dd></dl>
<p><b>Example CMSIS System Description File (*.SDF)</b> </p>
<div class="fragment"><div class="line">&lt;?xml version=<span class="stringliteral">&quot;1.0&quot;</span> encoding=<span class="stringliteral">&quot;utf-8&quot;</span> standalone=<span class="stringliteral">&quot;no&quot;</span>?&gt;</div>
<div class="line">&lt;system_description version=<span class="stringliteral">&quot;2.0&quot;</span>&gt;</div>
<div class="line"> &lt;debug_and_trace_config&gt;</div>
<div class="line"> &lt;!-- Not filled at the moment --&gt;</div>
<div class="line"> &lt;!-- Means <span class="keyword">using</span> defaults in <span class="keyword">this</span> area --&gt;</div>
<div class="line"> &lt;/debug_and_trace_config&gt;</div>
<div class="line"> &lt;platform&gt;</div>
<div class="line"> &lt;!-- Description of the scanchain --&gt;</div>
<div class="line"> &lt;scanchain&gt;</div>
<div class="line"> </div>
<div class="line"> &lt;!-- ARM Cortex-M0APP --&gt;</div>
<div class="line"> &lt;dap name=<span class="stringliteral">&quot;ARMCS-DP_CM0APP&quot;</span> type=<span class="stringliteral">&quot;ARMCS-DP&quot;</span> irLength=<span class="stringliteral">&quot;4&quot;</span> protocol=<span class="stringliteral">&quot;JTAG&quot;</span>&gt;</div>
<div class="line"> &lt;!-- CoreSight DAP Info --&gt;</div>
<div class="line"> &lt;device_info_items&gt;</div>
<div class="line"> &lt;device_info_item name=<span class="stringliteral">&quot;JTAG_IDCODE&quot;</span>&gt;0x0BA01477&lt;/device_info_item&gt;</div>
<div class="line"> &lt;/device_info_items&gt;</div>
<div class="line"> </div>
<div class="line"> &lt;!-- Access Ports --&gt;</div>
<div class="line"> &lt;device name=<span class="stringliteral">&quot;CM0APP_AHB-AP&quot;</span> type=<span class="stringliteral">&quot;CSMEMAP&quot;</span>&gt; &lt;!-- Cortex-M0APP AHB-AP --&gt;</div>
<div class="line"> &lt;config_items&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_AP_INDEX&quot;</span>&gt;0&lt;/config_item&gt;</div>
<div class="line"> &lt;/config_items&gt;</div>
<div class="line"> &lt;device_info_items&gt;</div>
<div class="line"> &lt;device_info_item name=<span class="stringliteral">&quot;AP_TYPE&quot;</span>&gt;AHB-AP&lt;/device_info_item&gt;</div>
<div class="line"> &lt;device_info_item name=<span class="stringliteral">&quot;ROM_TABLE_BASE_ADDRESS&quot;</span>&gt;0xE00FF000&lt;/device_info_item&gt;</div>
<div class="line"> &lt;/device_info_items&gt;</div>
<div class="line"> &lt;/device&gt;</div>
<div class="line"> </div>
<div class="line"> &lt;!-- Cortex-M0APP AHB-AP Components --&gt;</div>
<div class="line"> &lt;device name=<span class="stringliteral">&quot;CM0APP_CPU&quot;</span> type=<span class="stringliteral">&quot;Cortex-M0&quot;</span>&gt;</div>
<div class="line"> &lt;config_items&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_BASE_ADDRESS&quot;</span>&gt;0xE000E000&lt;/config_item&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_AP_INDEX&quot;</span>&gt;0&lt;/config_item&gt;</div>
<div class="line"> &lt;/config_items&gt;</div>
<div class="line"> &lt;/device&gt;</div>
<div class="line"> &lt;device name=<span class="stringliteral">&quot;CM0APP_DWT&quot;</span> type=<span class="stringliteral">&quot;CSDWT&quot;</span>&gt;</div>
<div class="line"> &lt;config_items&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_BASE_ADDRESS&quot;</span>&gt;0xE0001000&lt;/config_item&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_AP_INDEX&quot;</span>&gt;0&lt;/config_item&gt;</div>
<div class="line"> &lt;/config_items&gt;</div>
<div class="line"> &lt;/device&gt;</div>
<div class="line"> &lt;device name=<span class="stringliteral">&quot;CM0APP_FPB&quot;</span> type=<span class="stringliteral">&quot;CSFPB&quot;</span>&gt;</div>
<div class="line"> &lt;config_items&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_BASE_ADDRESS&quot;</span>&gt;0xE0002000&lt;/config_item&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_AP_INDEX&quot;</span>&gt;0&lt;/config_item&gt;</div>
<div class="line"> &lt;/config_items&gt;</div>
<div class="line"> &lt;/device&gt;</div>
<div class="line"> &lt;/dap&gt;</div>
<div class="line"> </div>
<div class="line"> &lt;!-- ARM Cortex-M4 --&gt;</div>
<div class="line"> &lt;dap name=<span class="stringliteral">&quot;ARMCS-DP_CM4&quot;</span> type=<span class="stringliteral">&quot;ARMCS-DP&quot;</span> irLength=<span class="stringliteral">&quot;4&quot;</span> protocol=<span class="stringliteral">&quot;SWD:JTAG&quot;</span>&gt;</div>
<div class="line"> &lt;!-- CoreSight DAP Info --&gt;</div>
<div class="line"> &lt;device_info_items&gt;</div>
<div class="line"> &lt;device_info_item name=<span class="stringliteral">&quot;JTAG_IDCODE&quot;</span>&gt;0x4BA00477&lt;/device_info_item&gt;</div>
<div class="line"> &lt;/device_info_items&gt;</div>
<div class="line"> </div>
<div class="line"> &lt;!-- Access Ports --&gt;</div>
<div class="line"> &lt;device name=<span class="stringliteral">&quot;CM4_AHB-AP&quot;</span> type=<span class="stringliteral">&quot;CSMEMAP&quot;</span>&gt; &lt;!-- Cortex-M4 AHB-AP --&gt;</div>
<div class="line"> &lt;config_items&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_AP_INDEX&quot;</span>&gt;0&lt;/config_item&gt;</div>
<div class="line"> &lt;/config_items&gt;</div>
<div class="line"> &lt;device_info_items&gt;</div>
<div class="line"> &lt;device_info_item name=<span class="stringliteral">&quot;AP_TYPE&quot;</span>&gt;AHB-AP&lt;/device_info_item&gt;</div>
<div class="line"> &lt;device_info_item name=<span class="stringliteral">&quot;ROM_TABLE_BASE_ADDRESS&quot;</span>&gt;0xE00FF000&lt;/device_info_item&gt;</div>
<div class="line"> &lt;/device_info_items&gt;</div>
<div class="line"> &lt;/device&gt;</div>
<div class="line"> </div>
<div class="line"> &lt;!-- Cortex-M4 AHB-AP Components --&gt;</div>
<div class="line"> &lt;device name=<span class="stringliteral">&quot;CM4_CPU&quot;</span> type=<span class="stringliteral">&quot;Cortex-M4&quot;</span>&gt;</div>
<div class="line"> &lt;config_items&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_BASE_ADDRESS&quot;</span>&gt;0xE000E000&lt;/config_item&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_AP_INDEX&quot;</span>&gt;0&lt;/config_item&gt;</div>
<div class="line"> &lt;/config_items&gt;</div>
<div class="line"> &lt;/device&gt;</div>
<div class="line"> &lt;device name=<span class="stringliteral">&quot;CM4_DWT&quot;</span> type=<span class="stringliteral">&quot;CSDWT&quot;</span>&gt;</div>
<div class="line"> &lt;config_items&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_BASE_ADDRESS&quot;</span>&gt;0xE0001000&lt;/config_item&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_AP_INDEX&quot;</span>&gt;0&lt;/config_item&gt;</div>
<div class="line"> &lt;/config_items&gt;</div>
<div class="line"> &lt;/device&gt;</div>
<div class="line"> &lt;device name=<span class="stringliteral">&quot;CM4_FPB&quot;</span> type=<span class="stringliteral">&quot;CSFPB&quot;</span>&gt;</div>
<div class="line"> &lt;config_items&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_BASE_ADDRESS&quot;</span>&gt;0xE0002000&lt;/config_item&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_AP_INDEX&quot;</span>&gt;0&lt;/config_item&gt;</div>
<div class="line"> &lt;/config_items&gt;</div>
<div class="line"> &lt;/device&gt;</div>
<div class="line"> &lt;device name=<span class="stringliteral">&quot;CM4_ITM&quot;</span> type=<span class="stringliteral">&quot;CSITM&quot;</span>&gt;</div>
<div class="line"> &lt;config_items&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_BASE_ADDRESS&quot;</span>&gt;0xE0000000&lt;/config_item&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_AP_INDEX&quot;</span>&gt;0&lt;/config_item&gt;</div>
<div class="line"> &lt;/config_items&gt;</div>
<div class="line"> &lt;/device&gt;</div>
<div class="line"> &lt;device name=<span class="stringliteral">&quot;CM4_TPIU&quot;</span> type=<span class="stringliteral">&quot;CSTPIU&quot;</span>&gt;</div>
<div class="line"> &lt;device_info_items&gt;</div>
<div class="line"> &lt;device_info_item name=<span class="stringliteral">&quot;ARCHITECTURE&quot;</span> &gt;V7-M&lt;/device_info_item&gt;</div>
<div class="line"> &lt;device_info_item name=<span class="stringliteral">&quot;SUPPORTED_FORMATTER_MODES&quot;</span>&gt;CONTINUOUS&lt;/device_info_item&gt;</div>
<div class="line"> &lt;device_info_item name=<span class="stringliteral">&quot;SUPPORTED_PORT_SIZES&quot;</span> &gt;1;2;4&lt;/device_info_item&gt;</div>
<div class="line"> &lt;/device_info_items&gt;</div>
<div class="line"> &lt;config_items&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_BASE_ADDRESS&quot;</span>&gt;0xE0040000&lt;/config_item&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_AP_INDEX&quot;</span>&gt;0&lt;/config_item&gt;</div>
<div class="line"> &lt;/config_items&gt;</div>
<div class="line"> &lt;/device&gt;</div>
<div class="line"> &lt;device name=<span class="stringliteral">&quot;CM4_ETM&quot;</span> type=<span class="stringliteral">&quot;CSETM&quot;</span>&gt;</div>
<div class="line"> &lt;device_info_items&gt;</div>
<div class="line"> &lt;device_info_item name=<span class="stringliteral">&quot;VERSION&quot;</span>&gt;3.5&lt;/device_info_item&gt;</div>
<div class="line"> &lt;device_info_item name=<span class="stringliteral">&quot;SUPPORTS_CYCLE_ACCURATE&quot;</span>&gt;<span class="keyword">true</span>&lt;/device_info_item&gt;</div>
<div class="line"> &lt;/device_info_items&gt;</div>
<div class="line"> &lt;config_items&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_BASE_ADDRESS&quot;</span>&gt;0xE0041000&lt;/config_item&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_AP_INDEX&quot;</span>&gt;0&lt;/config_item&gt;</div>
<div class="line"> &lt;/config_items&gt;</div>
<div class="line"> &lt;/device&gt;</div>
<div class="line"> &lt;device name=<span class="stringliteral">&quot;CM4_ETB&quot;</span> type=<span class="stringliteral">&quot;CSETB&quot;</span>&gt;</div>
<div class="line"> &lt;device_info_items&gt;</div>
<div class="line"> &lt;device_info_item name=<span class="stringliteral">&quot;MEM_WIDTH&quot;</span> &gt;32&lt;/device_info_item&gt;</div>
<div class="line"> &lt;device_info_item name=<span class="stringliteral">&quot;RAM_SIZE_BYTES&quot;</span>&gt;0x4000&lt;/device_info_item&gt;</div>
<div class="line"> &lt;/device_info_items&gt;</div>
<div class="line"> &lt;config_items&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_BASE_ADDRESS&quot;</span>&gt;0xE0042000&lt;/config_item&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_AP_INDEX&quot;</span>&gt;0&lt;/config_item&gt;</div>
<div class="line"> &lt;/config_items&gt;</div>
<div class="line"> &lt;/device&gt;</div>
<div class="line"> &lt;/dap&gt;</div>
<div class="line"> </div>
<div class="line"> &lt;/scanchain&gt;</div>
<div class="line"> </div>
<div class="line"> &lt;topology&gt;</div>
<div class="line"> &lt;!-- Trace Links --&gt;</div>
<div class="line"> &lt;!-- Core Trace - Cortex-M4 --&gt;</div>
<div class="line"> &lt;topology_link type=<span class="stringliteral">&quot;CoreTrace&quot;</span> master=<span class="stringliteral">&quot;CM4_CPU&quot;</span> slave=<span class="stringliteral">&quot;CM4_DWT&quot;</span>/&gt;</div>
<div class="line"> &lt;topology_link type=<span class="stringliteral">&quot;CoreTrace&quot;</span> master=<span class="stringliteral">&quot;CM4_CPU&quot;</span> slave=<span class="stringliteral">&quot;CM4_ITM&quot;</span>/&gt;</div>
<div class="line"> &lt;topology_link type=<span class="stringliteral">&quot;CoreTrace&quot;</span> master=<span class="stringliteral">&quot;CM4_CPU&quot;</span> slave=<span class="stringliteral">&quot;CM4_ETM&quot;</span>/&gt;</div>
<div class="line"> &lt;topology_link type=<span class="stringliteral">&quot;ATB&quot;</span> master=<span class="stringliteral">&quot;CM4_ETM&quot;</span> slave=<span class="stringliteral">&quot;CM4_TPIU&quot;</span> slave_interface=<span class="stringliteral">&quot;0&quot;</span>/&gt;</div>
<div class="line"> &lt;topology_link type=<span class="stringliteral">&quot;ATB&quot;</span> master=<span class="stringliteral">&quot;CM4_ITM&quot;</span> slave=<span class="stringliteral">&quot;CM4_TPIU&quot;</span> slave_interface=<span class="stringliteral">&quot;1&quot;</span>/&gt;</div>
<div class="line"> &lt;!-- Trace - Cortex-M4 ETB (Direct Connection ETM -&gt; ETB) --&gt;</div>
<div class="line"> &lt;topology_link type=<span class="stringliteral">&quot;ATB&quot;</span> master=<span class="stringliteral">&quot;CM4_ETM&quot;</span> slave=<span class="stringliteral">&quot;CM4_ETB&quot;</span>/&gt;</div>
<div class="line"> &lt;/topology&gt;</div>
<div class="line"> &lt;/platform&gt;</div>
<div class="line">&lt;/system_description&gt;</div>
</div><!-- fragment --><h1><a class="anchor" id="sdf_structure"></a>
SDF top level structure</h1>
<p>The XML schema file <b>sdf_schema.xsd</b> defines the sections used in a <b>*.SDF</b> file. The current <b>sdf_schema.xsd</b> can be found under the ARM.CMSIS.*.Pack in the .\CMSIS\Utilities-directory.</p>
<h1><a class="anchor" id="sdf_element_system_description"></a>
/system_description</h1>
<table class="cmtable" summary="Element: CPDSC package">
<tr>
<th>Parents </th><th colspan="3">Element Chain </th></tr>
<tr>
<td>root </td><td colspan="3">description root point for SDF </td></tr>
<tr>
<th>Attributes </th><th>Description </th><th>Type </th><th>Use </th></tr>
<tr>
<td>schemaVersion </td><td>Version of sdf_schema.xsd the description is compatible with </td><td>xs:decimal </td><td>required </td></tr>
<tr>
<th>Child Elements </th><th>Description </th><th>Type </th><th>Occurrence </th></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_debug_and_trace_config">/system_description/debug_and_trace_config</a> </td><td>Description how to configure debug and trace. </td><td>complexType </td><td>1..1 </td></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_platform">/system_description/platform</a> </td><td>Overall platform description. </td><td>complexType </td><td>1..1 </td></tr>
</table>
<p>&#160;</p>
<hr/>
<h1><a class="anchor" id="sdf_element_debug_and_trace_config"></a>
/system_description/debug_and_trace_config</h1>
<p>Describes the recommended debug and trace configuration for the device.</p>
<table class="cmtable" summary="Element: debug_and_trace_config">
<tr>
<th>Parents </th><th colspan="3">Element Chain </th></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_system_description">system_description</a> </td><td colspan="3"><a class="el" href="sdf_pg.html#sdf_element_system_description">/system_description</a> </td></tr>
<tr>
<th>Child Elements </th><th>Description </th><th>Type </th><th>Occurrence </th></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_debug">/system_description/debug_and_trace_config/debug</a> </td><td>Describes the debug connection configuration </td><td>complexType </td><td>0..1 </td></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_trace">/system_description/debug_and_trace_config/trace</a> </td><td>Describes the trace configuration </td><td>complexType </td><td>0..1 </td></tr>
</table>
<p>&#160;</p>
<hr/>
<h1><a class="anchor" id="sdf_element_debug"></a>
/system_description/debug_and_trace_config/debug</h1>
<p>Describes the recommended debug configuration for the device.</p>
<table class="cmtable" summary="Element: debug">
<tr>
<th>Parents </th><th colspan="3">Element Chain </th></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_debug_and_trace_config">debug_and_trace_config</a> </td><td colspan="3"><a class="el" href="sdf_pg.html#sdf_element_debug_and_trace_config">/system_description/debug_and_trace_config</a> </td></tr>
<tr>
<th>Child Elements </th><th>Description </th><th>Type </th><th>Occurrence </th></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_config_item">/system_description/.../config_item</a> </td><td>Describes a configuration item attribute/value pair </td><td>xs:string </td><td>0..* </td></tr>
</table>
<p>For a list of applicable configuration items, refer to <a class="el" href="sdf_pg.html#sdf_element_config_item">config_item</a>. </p>
<p>&#160;</p>
<hr/>
<h1><a class="anchor" id="sdf_element_config_item"></a>
/system_description/.../config_item</h1>
<p>A <b>config_item</b> can appear in various SDF elements. This group contains individual configuration items.</p>
<table class="cmtable" summary="Element: config_item">
<tr>
<th>Parents </th><th colspan="3">Element Chain </th></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_debug">debug</a> </td><td colspan="3"><a class="el" href="sdf_pg.html#sdf_element_debug">/system_description/debug_and_trace_config/debug</a> </td></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_trace_capture">trace_capture</a> </td><td colspan="3"><a class="el" href="sdf_pg.html#sdf_element_trace_capture">/system_description/debug_and_trace_config/trace/trace_capture</a> </td></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_config_items">config_items</a> </td><td colspan="3"><a class="el" href="sdf_pg.html#sdf_element_config_items">/system_description/platform/scanchain/../config_items</a> </td></tr>
<tr>
<th>Attributes </th><th>Description </th><th>Type </th><th>Use </th></tr>
<tr>
<td>name </td><td>Name of the configuration item. </td><td>xs:string </td><td>required </td></tr>
</table>
<h2>Debug element </h2>
<p>The <b>config_items</b> applicable to the <a class="el" href="sdf_pg.html#sdf_element_debug">debug</a> element are the following:</p>
<table class="doxtable">
<tr>
<th>Item </th><th>Description </th></tr>
<tr>
<td>TRSTOnConnect </td><td>Debugger should perform TAP reset on connect (True/False) - Default Value:True </td></tr>
<tr>
<td>SRSTOnConnect </td><td>Debugger should perform a System reset on connect (True/False) - Default Value:False </td></tr>
<tr>
<td>AllowTRST </td><td>Allow the Debugger to perform TAP reset (True/False) - Default Value:True </td></tr>
<tr>
<td>DoSoftTRST </td><td>Debugger should perform a Soft Reset (True/False) - Default Value:True </td></tr>
<tr>
<td>TRSTHoldTime </td><td>TAP reset hold time in milliseconds - Default Value:10 </td></tr>
<tr>
<td>TRSTPostResetTime </td><td>Delay after TAP reset before next operation - Default Value:10 </td></tr>
<tr>
<td>ResetHoldTime </td><td>Time in milliseconds that the target is held in a hardware reset state - Default Value:100 </td></tr>
<tr>
<td>PostResetDelay </td><td>Time in milliseconds that the target will wait after reset is released before attempting any other debugging operations - Default Value:10 </td></tr>
<tr>
<td>Linked_SRST_TRST </td><td>Target hardware has System Reset and TAP reset physically linked (True/False) - Default Value:False </td></tr>
</table>
<h2>Device element </h2>
<p>The <b>config_items</b> applicable to the <a class="el" href="sdf_pg.html#sdf_element_device">device</a> element are the following (only applicable for devices that are child elements of another device or DAP):</p>
<table class="doxtable">
<tr>
<th>Item </th><th>Description </th><th>Use </th></tr>
<tr>
<td>CORESIGHT_BASE_ADDRESS </td><td>the 4K aligned base address of a CoreSight device </td><td>Required </td></tr>
<tr>
<td>CORESIGHT_AP_INDEX </td><td>the access port index of the device </td><td>Required </td></tr>
</table>
<h2>Trace element </h2>
<p>The <b>config_items</b> applicable to the <a class="el" href="sdf_pg.html#sdf_element_trace">trace</a> element are the following:</p>
<ol type="1">
<li>Parallel trace capture device configuration items ("type" = "parallel"). These "config_items" enable you to configure delays on the trace lines by a specified amount of time relative to the trace capture device defaults. These delays are used to allow for variations in target hardware. These configuration items have default values if not present. <table class="doxtable">
<tr>
<th>Item </th><th>Description </th><th>Default </th></tr>
<tr>
<td>CLOCK_EDGE </td><td>Set to 0 or 1 to specify the clock edge on which to capture data </td><td>1 </td></tr>
<tr>
<td>DELAY_TRACE_CLOCK </td><td>Adjust the sampling point for the trace clock by the specified number of picoseconds </td><td>0 </td></tr>
<tr>
<td>DELAY_TRACE_SIGNAL_1 to DELAY_TRACE_SIGNAL_n </td><td>Adjust the sampling point for parallel trace signal 'n' by the specified number of picoseconds </td><td>0 </td></tr>
</table>
</li>
<li>High-speed serial trace configuration items ("type"="HSSTP"). These configuration items do not have any default values. If they are not present in the SDF file then HSSTP trace is not supported by the target. <table class="doxtable">
<tr>
<th>Item </th><th>Description </th></tr>
<tr>
<td>HSSTP_LANES </td><td>The number of lanes (1-6) </td></tr>
<tr>
<td>HSSTP_SPEED </td><td>The HSSTP link speed (HSSTP_2_5Gbps, , HSSTP_3_0Gbps, HSSTP_3_125Gbps, HSSTP_4_25Gbps, HSSTP_5_0Gbps, HSSTP_6_0Gbps, HSSTP_6_25Gbps, HSSTP_8_0Gbps, HSSTP_10_0Gbps, HSSTP_10_3125Gbps, HSSTP_12_0Gbps, HSSTP_12_5Gbps, HSSTP_SETM_1_5Gbps, HSSTP_SETM_3_0Gbps, HSSTP_SETM_6_0Gbps) </td></tr>
<tr>
<td>HSSTP_PROTOCOL </td><td>The HSSTP protocol (HSSTP_PROTOCOL_ARM_HSSTP, HSSTP_PROTOCOL_8_BIT_SETM, HSSTP_PROTOCOL_16_BIT_SETM, HSSTP_PROTOCOL_32_BIT_SETM) </td></tr>
<tr>
<td>HSSTP_NDALT </td><td>Reverse byte bit-ordering (HSSTP_NDALT_Disabled/HSSTP_NDALT_Enabled) </td></tr>
<tr>
<td>HSSTP_CONNECTOR </td><td>The physical connector type (HSSTP_CONNECTOR_HSSTP/HSSTP_CONNECTOR_SMA) </td></tr>
<tr>
<td>HSSTP_RX_EQUALIZATION </td><td>The RX equalization type (RX_EQUALIZATION_DFE/RX_EQUALIZATION_LPM) </td></tr>
<tr>
<td>HSSTP_CRC </td><td>The type of CRC to use (HSSTP_CRC_Enabled, HSSTP_CRC_Disabled, HSSTP_CRC_Reversed, HSSTP_CRC_Ignored) </td></tr>
</table>
<b>Example</b> </li>
</ol>
<div class="fragment"><div class="line">...</div>
<div class="line">&lt;device name=<span class="stringliteral">&quot;CM4_ETM&quot;</span> type=<span class="stringliteral">&quot;CSETM&quot;</span>&gt;</div>
<div class="line"> &lt;device_info_items&gt;</div>
<div class="line"> &lt;device_info_item name=<span class="stringliteral">&quot;VERSION&quot;</span>&gt;3.5&lt;/device_info_item&gt;</div>
<div class="line"> &lt;device_info_item name=<span class="stringliteral">&quot;SUPPORTS_CYCLE_ACCURATE&quot;</span>&gt;<span class="keyword">true</span>&lt;/device_info_item&gt;</div>
<div class="line"> &lt;/device_info_items&gt;</div>
<div class="line"> &lt;config_items&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_BASE_ADDRESS&quot;</span>&gt;0xE0041000&lt;/config_item&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_AP_INDEX&quot;</span>&gt;0&lt;/config_item&gt;</div>
<div class="line"> &lt;/config_items&gt;</div>
<div class="line">&lt;/device&gt;</div>
<div class="line">...</div>
</div><!-- fragment --> <p>&#160;</p>
<hr/>
<h1><a class="anchor" id="sdf_element_trace"></a>
/system_description/debug_and_trace_config/trace</h1>
<p>Describes the recommended trace configuration for the device.</p>
<table class="cmtable" summary="Element: trace">
<tr>
<th>Parents </th><th colspan="3">Element Chain </th></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_debug_and_trace_config">debug_and_trace_config</a> </td><td colspan="3"><a class="el" href="sdf_pg.html#sdf_element_debug_and_trace_config">/system_description/debug_and_trace_config</a> </td></tr>
<tr>
<th>Child Elements </th><th>Description </th><th>Type </th><th>Occurrence </th></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_trace_capture">/system_description/debug_and_trace_config/trace/trace_capture</a> </td><td>Describes the trace capture device </td><td>complexType </td><td>0..* </td></tr>
</table>
<p>&#160;</p>
<hr/>
<h1><a class="anchor" id="sdf_element_trace_capture"></a>
/system_description/debug_and_trace_config/trace/trace_capture</h1>
<p>Describes settings for the trace capture device.</p>
<table class="cmtable" summary="Element: trace_capture">
<tr>
<th>Parents </th><th colspan="3">Element Chain </th></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_trace">trace</a> </td><td colspan="3"><a class="el" href="sdf_pg.html#sdf_element_trace">/system_description/debug_and_trace_config/trace</a> </td></tr>
<tr>
<th>Child Elements </th><th>Description </th><th>Type </th><th>Occurrence </th></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_config_item">/system_description/.../config_item</a> </td><td>Describes a configuration item attribute/value pair </td><td>complexType </td><td>0..* </td></tr>
<tr>
<th>Attributes </th><th>Description </th><th>Type </th><th>Use </th></tr>
<tr>
<td>type </td><td>Trace capture type: for example parallel or HSSTP. </td><td>xs:string </td><td>required </td></tr>
</table>
<p>&#160;</p>
<hr/>
<h1><a class="anchor" id="sdf_element_platform"></a>
/system_description/platform</h1>
<p>Describes the platform configuration (scanchain, topology and cluster arrangement).</p>
<table class="cmtable" summary="Element: platform">
<tr>
<th>Parents </th><th colspan="3">Element Chain </th></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_system_description">system_description</a> </td><td colspan="3"><a class="el" href="sdf_pg.html#sdf_element_system_description">/system_description</a> </td></tr>
<tr>
<th>Child Elements </th><th>Description </th><th>Type </th><th>Occurrence </th></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_scanchain">/system_description/platform/scanchain</a> </td><td>Lists all DAPs/Devices in the order that they appear on the scanchain (Note - order is reverse to DAP references in PDSC files). The first device in the scanchain is one closest to target's TDI pin. </td><td>complexType </td><td>0..* </td></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_topology">/system_description/platform/topology</a> </td><td>Describes the system topology </td><td>complexType </td><td>0..1 </td></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_clusters">/system_description/platform/clusters</a> </td><td>Describes the cluster arrangement </td><td>complexType </td><td>0..1 </td></tr>
</table>
<p>&#160;</p>
<hr/>
<h1><a class="anchor" id="sdf_element_scanchain"></a>
/system_description/platform/scanchain</h1>
<p>Lists all DAPs/devices in the order that they appear on the scanchain.</p>
<dl class="section note"><dt>Note</dt><dd>The order is reverse to the DAP references in PDSC files. The first device in the scanchain is the one closest to the target's TDI pin.</dd></dl>
<table class="cmtable" summary="Element: scanchain">
<tr>
<th>Parents </th><th colspan="3">Element Chain </th></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_platform">platform</a> </td><td colspan="3"><a class="el" href="sdf_pg.html#sdf_element_platform">/system_description/platform</a> </td></tr>
<tr>
<th>Child Elements </th><th>Description </th><th>Type </th><th>Occurrence </th></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_dap">/system_description/platform/scanchain/dap</a> </td><td>Describes a DAP and a list of devices associated with that DAP. </td><td>complexType </td><td>0..* </td></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_device">/system_description/platform/scanchain/device</a> </td><td>Describes a single device on the scan chain. </td><td>complexType </td><td>0..* </td></tr>
</table>
<p><b>Example:</b> </p>
<div class="fragment"><div class="line">...</div>
<div class="line">&lt;!-- Description of the scanchain --&gt;</div>
<div class="line">&lt;scanchain&gt;</div>
<div class="line"></div>
<div class="line"> &lt;!-- ARM Cortex-M0APP --&gt;</div>
<div class="line"> &lt;dap name=<span class="stringliteral">&quot;ARMCS-DP_CM0APP&quot;</span> type=<span class="stringliteral">&quot;ARMCS-DP&quot;</span> irLength=<span class="stringliteral">&quot;4&quot;</span> protocol=<span class="stringliteral">&quot;JTAG&quot;</span>&gt;</div>
<div class="line"> &lt;!-- CoreSight DAP Info --&gt;</div>
<div class="line"> &lt;device_info_items&gt;</div>
<div class="line"> &lt;device_info_item name=<span class="stringliteral">&quot;JTAG_IDCODE&quot;</span>&gt;0x0BA01477&lt;/device_info_item&gt;</div>
<div class="line"> &lt;/device_info_items&gt;</div>
<div class="line"> </div>
<div class="line"> &lt;!-- Access Ports --&gt;</div>
<div class="line"> &lt;device name=<span class="stringliteral">&quot;CM0APP_AHB-AP&quot;</span> type=<span class="stringliteral">&quot;CSMEMAP&quot;</span>&gt; &lt;!-- Cortex-M0APP AHB-AP --&gt;</div>
<div class="line"> &lt;config_items&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_AP_INDEX&quot;</span>&gt;0&lt;/config_item&gt;</div>
<div class="line"> &lt;/config_items&gt;</div>
<div class="line"> &lt;device_info_items&gt;</div>
<div class="line"> &lt;device_info_item name=<span class="stringliteral">&quot;AP_TYPE&quot;</span>&gt;AHB-AP&lt;/device_info_item&gt;</div>
<div class="line"> &lt;device_info_item name=<span class="stringliteral">&quot;ROM_TABLE_BASE_ADDRESS&quot;</span>&gt;0xE00FF000&lt;/device_info_item&gt;</div>
<div class="line"> &lt;/device_info_items&gt;</div>
<div class="line"> &lt;/device&gt;</div>
<div class="line"> </div>
<div class="line"> &lt;!-- Cortex-M0APP AHB-AP Components --&gt;</div>
<div class="line"> &lt;device name=<span class="stringliteral">&quot;CM0APP_CPU&quot;</span> type=<span class="stringliteral">&quot;Cortex-M0&quot;</span>&gt;</div>
<div class="line"> &lt;config_items&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_BASE_ADDRESS&quot;</span>&gt;0xE000E000&lt;/config_item&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_AP_INDEX&quot;</span>&gt;0&lt;/config_item&gt;</div>
<div class="line"> &lt;/config_items&gt;</div>
<div class="line"> &lt;/device&gt;</div>
<div class="line"> &lt;device name=<span class="stringliteral">&quot;CM0APP_DWT&quot;</span> type=<span class="stringliteral">&quot;CSDWT&quot;</span>&gt;</div>
<div class="line"> &lt;config_items&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_BASE_ADDRESS&quot;</span>&gt;0xE0001000&lt;/config_item&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_AP_INDEX&quot;</span>&gt;0&lt;/config_item&gt;</div>
<div class="line"> &lt;/config_items&gt;</div>
<div class="line"> &lt;/device&gt;</div>
<div class="line"> &lt;device name=<span class="stringliteral">&quot;CM0APP_FPB&quot;</span> type=<span class="stringliteral">&quot;CSFPB&quot;</span>&gt;</div>
<div class="line"> &lt;config_items&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_BASE_ADDRESS&quot;</span>&gt;0xE0002000&lt;/config_item&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_AP_INDEX&quot;</span>&gt;0&lt;/config_item&gt;</div>
<div class="line"> &lt;/config_items&gt;</div>
<div class="line"> &lt;/device&gt;</div>
<div class="line"> &lt;/dap&gt;</div>
<div class="line"> </div>
<div class="line"> &lt;!-- ARM Cortex-M4 --&gt;</div>
<div class="line"> &lt;dap name=<span class="stringliteral">&quot;ARMCS-DP_CM4&quot;</span> type=<span class="stringliteral">&quot;ARMCS-DP&quot;</span> irLength=<span class="stringliteral">&quot;4&quot;</span> protocol=<span class="stringliteral">&quot;SWD:JTAG&quot;</span>&gt;</div>
<div class="line"> &lt;!-- CoreSight DAP Info --&gt;</div>
<div class="line"> &lt;device_info_items&gt;</div>
<div class="line"> &lt;device_info_item name=<span class="stringliteral">&quot;JTAG_IDCODE&quot;</span>&gt;0x4BA00477&lt;/device_info_item&gt;</div>
<div class="line"> &lt;/device_info_items&gt;</div>
<div class="line"> </div>
<div class="line"> &lt;!-- Access Ports --&gt;</div>
<div class="line"> &lt;device name=<span class="stringliteral">&quot;CM4_AHB-AP&quot;</span> type=<span class="stringliteral">&quot;CSMEMAP&quot;</span>&gt; &lt;!-- Cortex-M4 AHB-AP --&gt;</div>
<div class="line"> &lt;config_items&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_AP_INDEX&quot;</span>&gt;0&lt;/config_item&gt;</div>
<div class="line"> &lt;/config_items&gt;</div>
<div class="line"> &lt;device_info_items&gt;</div>
<div class="line"> &lt;device_info_item name=<span class="stringliteral">&quot;AP_TYPE&quot;</span>&gt;AHB-AP&lt;/device_info_item&gt;</div>
<div class="line"> &lt;device_info_item name=<span class="stringliteral">&quot;ROM_TABLE_BASE_ADDRESS&quot;</span>&gt;0xE00FF000&lt;/device_info_item&gt;</div>
<div class="line"> &lt;/device_info_items&gt;</div>
<div class="line"> &lt;/device&gt;</div>
<div class="line"> </div>
<div class="line"> &lt;!-- Cortex-M4 AHB-AP Components --&gt;</div>
<div class="line"> &lt;device name=<span class="stringliteral">&quot;CM4_CPU&quot;</span> type=<span class="stringliteral">&quot;Cortex-M4&quot;</span>&gt;</div>
<div class="line"> &lt;config_items&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_BASE_ADDRESS&quot;</span>&gt;0xE000E000&lt;/config_item&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_AP_INDEX&quot;</span>&gt;0&lt;/config_item&gt;</div>
<div class="line"> &lt;/config_items&gt;</div>
<div class="line"> &lt;/device&gt;</div>
<div class="line"> &lt;device name=<span class="stringliteral">&quot;CM4_DWT&quot;</span> type=<span class="stringliteral">&quot;CSDWT&quot;</span>&gt;</div>
<div class="line"> &lt;config_items&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_BASE_ADDRESS&quot;</span>&gt;0xE0001000&lt;/config_item&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_AP_INDEX&quot;</span>&gt;0&lt;/config_item&gt;</div>
<div class="line"> &lt;/config_items&gt;</div>
<div class="line"> &lt;/device&gt;</div>
<div class="line"> &lt;device name=<span class="stringliteral">&quot;CM4_FPB&quot;</span> type=<span class="stringliteral">&quot;CSFPB&quot;</span>&gt;</div>
<div class="line"> &lt;config_items&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_BASE_ADDRESS&quot;</span>&gt;0xE0002000&lt;/config_item&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_AP_INDEX&quot;</span>&gt;0&lt;/config_item&gt;</div>
<div class="line"> &lt;/config_items&gt;</div>
<div class="line"> &lt;/device&gt;</div>
<div class="line"> &lt;device name=<span class="stringliteral">&quot;CM4_ITM&quot;</span> type=<span class="stringliteral">&quot;CSITM&quot;</span>&gt;</div>
<div class="line"> &lt;config_items&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_BASE_ADDRESS&quot;</span>&gt;0xE0000000&lt;/config_item&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_AP_INDEX&quot;</span>&gt;0&lt;/config_item&gt;</div>
<div class="line"> &lt;/config_items&gt;</div>
<div class="line"> &lt;/device&gt;</div>
<div class="line"> &lt;device name=<span class="stringliteral">&quot;CM4_TPIU&quot;</span> type=<span class="stringliteral">&quot;CSTPIU&quot;</span>&gt;</div>
<div class="line"> &lt;device_info_items&gt;</div>
<div class="line"> &lt;device_info_item name=<span class="stringliteral">&quot;ARCHITECTURE&quot;</span> &gt;V7-M&lt;/device_info_item&gt;</div>
<div class="line"> &lt;device_info_item name=<span class="stringliteral">&quot;SUPPORTED_FORMATTER_MODES&quot;</span>&gt;CONTINUOUS&lt;/device_info_item&gt;</div>
<div class="line"> &lt;device_info_item name=<span class="stringliteral">&quot;SUPPORTED_PORT_SIZES&quot;</span> &gt;1;2;4&lt;/device_info_item&gt;</div>
<div class="line"> &lt;/device_info_items&gt;</div>
<div class="line"> &lt;config_items&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_BASE_ADDRESS&quot;</span>&gt;0xE0040000&lt;/config_item&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_AP_INDEX&quot;</span>&gt;0&lt;/config_item&gt;</div>
<div class="line"> &lt;/config_items&gt;</div>
<div class="line"> &lt;/device&gt;</div>
<div class="line"> &lt;device name=<span class="stringliteral">&quot;CM4_ETM&quot;</span> type=<span class="stringliteral">&quot;CSETM&quot;</span>&gt;</div>
<div class="line"> &lt;device_info_items&gt;</div>
<div class="line"> &lt;device_info_item name=<span class="stringliteral">&quot;VERSION&quot;</span>&gt;3.5&lt;/device_info_item&gt;</div>
<div class="line"> &lt;device_info_item name=<span class="stringliteral">&quot;SUPPORTS_CYCLE_ACCURATE&quot;</span>&gt;<span class="keyword">true</span>&lt;/device_info_item&gt;</div>
<div class="line"> &lt;/device_info_items&gt;</div>
<div class="line"> &lt;config_items&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_BASE_ADDRESS&quot;</span>&gt;0xE0041000&lt;/config_item&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_AP_INDEX&quot;</span>&gt;0&lt;/config_item&gt;</div>
<div class="line"> &lt;/config_items&gt;</div>
<div class="line"> &lt;/device&gt;</div>
<div class="line"> &lt;device name=<span class="stringliteral">&quot;CM4_ETB&quot;</span> type=<span class="stringliteral">&quot;CSETB&quot;</span>&gt;</div>
<div class="line"> &lt;device_info_items&gt;</div>
<div class="line"> &lt;device_info_item name=<span class="stringliteral">&quot;MEM_WIDTH&quot;</span> &gt;32&lt;/device_info_item&gt;</div>
<div class="line"> &lt;device_info_item name=<span class="stringliteral">&quot;RAM_SIZE_BYTES&quot;</span>&gt;0x4000&lt;/device_info_item&gt;</div>
<div class="line"> &lt;/device_info_items&gt;</div>
<div class="line"> &lt;config_items&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_BASE_ADDRESS&quot;</span>&gt;0xE0042000&lt;/config_item&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_AP_INDEX&quot;</span>&gt;0&lt;/config_item&gt;</div>
<div class="line"> &lt;/config_items&gt;</div>
<div class="line"> &lt;/device&gt;</div>
<div class="line"> &lt;/dap&gt;</div>
<div class="line"> </div>
<div class="line">&lt;/scanchain&gt;</div>
<div class="line">...</div>
</div><!-- fragment --> <p>&#160;</p>
<hr/>
<h1><a class="anchor" id="sdf_element_dap"></a>
/system_description/platform/scanchain/dap</h1>
<p>Describes a DAP and a list of devices associated with that DAP.</p>
<table class="cmtable" summary="Element: dap">
<tr>
<th>Parents </th><th colspan="3">Element Chain </th></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_scanchain">scanchain</a> </td><td colspan="3"><a class="el" href="sdf_pg.html#sdf_element_scanchain">/system_description/platform/scanchain</a> </td></tr>
<tr>
<th>Child Elements </th><th>Description </th><th>Type </th><th>Occurrence </th></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_device">/system_description/platform/scanchain/device</a> </td><td>List of devices associated with this DAP. </td><td>complexType </td><td>0..* </td></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_device_info_items">/system_description/platform/scanchain/../../device_info_items</a> </td><td>Contains implementation details for the DAP. Applicable items for a DAP are "JTAG_IDCODE" (the JTAG ID code for the DAP) or "DPIDR" (the Debug Port Identification Register contents). </td><td>complexType </td><td>0..* </td></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_config_items">/system_description/platform/scanchain/../../config_items</a> </td><td>Configuration items specific to a DAP type. </td><td>complexType </td><td>0..* </td></tr>
<tr>
<th>Attributes </th><th>Description </th><th>Type </th><th>Use </th></tr>
<tr>
<td>name </td><td>Unique name of the DAP. </td><td>xs:string </td><td>required </td></tr>
<tr>
<td>type </td><td>Specifies the type of the DAP (e.g. ARMCS-DP). </td><td>xs:string </td><td>required </td></tr>
<tr>
<td>irLength </td><td>Specifies the IR length of the DAP (default value: 4). </td><td>xs:string </td><td>optional </td></tr>
<tr>
<td>protocol </td><td>Colon delimited list of protocols via which the DAP can be use. Possible values are SWD, JTAG, and cJTAG. </td><td>xs:string </td><td>optional </td></tr>
<tr>
<td>targetsel </td><td>Specifies the SW-DPv2 TARGETSEL register value that selects this DAP in a serial-wire debug multi-drop system. </td><td>xs:string </td><td>optional </td></tr>
</table>
<p><b>Example:</b> </p>
<div class="fragment"><div class="line">&lt;system_description version=<span class="stringliteral">&quot;2.0&quot;</span>&gt;</div>
<div class="line"> &lt;debug_and_trace_config&gt;</div>
<div class="line"> &lt;!-- Not filled at the moment --&gt;</div>
<div class="line"> &lt;!-- Means <span class="keyword">using</span> defaults in <span class="keyword">this</span> area --&gt;</div>
<div class="line"> &lt;/debug_and_trace_config&gt;</div>
<div class="line"> &lt;platform&gt;</div>
<div class="line"> &lt;!-- Description of the scanchain --&gt;</div>
<div class="line"> &lt;scanchain&gt;</div>
<div class="line"> </div>
<div class="line"> &lt;!-- ARM Cortex-M0APP --&gt;</div>
<div class="line"> &lt;dap name=<span class="stringliteral">&quot;ARMCS-DP_CM0APP&quot;</span> type=<span class="stringliteral">&quot;ARMCS-DP&quot;</span> irLength=<span class="stringliteral">&quot;4&quot;</span> protocol=<span class="stringliteral">&quot;JTAG&quot;</span>&gt;</div>
<div class="line"> &lt;!-- CoreSight DAP Info --&gt;</div>
<div class="line"> &lt;device_info_items&gt;</div>
<div class="line"> &lt;device_info_item name=<span class="stringliteral">&quot;JTAG_IDCODE&quot;</span>&gt;0x0BA01477&lt;/device_info_item&gt;</div>
<div class="line"> &lt;/device_info_items&gt;</div>
<div class="line"> </div>
<div class="line"> &lt;!-- Access Ports --&gt;</div>
<div class="line"> &lt;device name=<span class="stringliteral">&quot;CM0APP_AHB-AP&quot;</span> type=<span class="stringliteral">&quot;CSMEMAP&quot;</span>&gt; &lt;!-- Cortex-M0APP AHB-AP --&gt;</div>
<div class="line"> &lt;config_items&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_AP_INDEX&quot;</span>&gt;0&lt;/config_item&gt;</div>
<div class="line"> &lt;/config_items&gt;</div>
<div class="line"> &lt;device_info_items&gt;</div>
<div class="line"> &lt;device_info_item name=<span class="stringliteral">&quot;AP_TYPE&quot;</span>&gt;AHB-AP&lt;/device_info_item&gt;</div>
<div class="line"> &lt;device_info_item name=<span class="stringliteral">&quot;ROM_TABLE_BASE_ADDRESS&quot;</span>&gt;0xE00FF000&lt;/device_info_item&gt;</div>
<div class="line"> &lt;/device_info_items&gt;</div>
<div class="line"> &lt;/device&gt;</div>
<div class="line"> </div>
<div class="line"> &lt;!-- Cortex-M0APP AHB-AP Components --&gt;</div>
<div class="line"> &lt;device name=<span class="stringliteral">&quot;CM0APP_CPU&quot;</span> type=<span class="stringliteral">&quot;Cortex-M0&quot;</span>&gt;</div>
<div class="line"> &lt;config_items&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_BASE_ADDRESS&quot;</span>&gt;0xE000E000&lt;/config_item&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_AP_INDEX&quot;</span>&gt;0&lt;/config_item&gt;</div>
<div class="line"> &lt;/config_items&gt;</div>
<div class="line"> &lt;/device&gt;</div>
<div class="line"> &lt;device name=<span class="stringliteral">&quot;CM0APP_DWT&quot;</span> type=<span class="stringliteral">&quot;CSDWT&quot;</span>&gt;</div>
<div class="line"> &lt;config_items&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_BASE_ADDRESS&quot;</span>&gt;0xE0001000&lt;/config_item&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_AP_INDEX&quot;</span>&gt;0&lt;/config_item&gt;</div>
<div class="line"> &lt;/config_items&gt;</div>
<div class="line"> &lt;/device&gt;</div>
<div class="line"> &lt;device name=<span class="stringliteral">&quot;CM0APP_FPB&quot;</span> type=<span class="stringliteral">&quot;CSFPB&quot;</span>&gt;</div>
<div class="line"> &lt;config_items&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_BASE_ADDRESS&quot;</span>&gt;0xE0002000&lt;/config_item&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_AP_INDEX&quot;</span>&gt;0&lt;/config_item&gt;</div>
<div class="line"> &lt;/config_items&gt;</div>
<div class="line"> &lt;/device&gt;</div>
<div class="line"> &lt;/dap&gt;</div>
<div class="line"> ...</div>
<div class="line">&lt;/system_description&gt;</div>
</div><!-- fragment --><p>&#160;</p>
<hr/>
<h1><a class="anchor" id="sdf_element_device"></a>
/system_description/platform/scanchain/device</h1>
<table class="cmtable" summary="Element: device">
<tr>
<th>Parents </th><th colspan="3">Element Chain </th></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_scanchain">scanchain</a> </td><td colspan="3"><a class="el" href="sdf_pg.html#sdf_element_scanchain">/system_description/platform/scanchain</a> </td></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_dap">dap</a> </td><td colspan="3"><a class="el" href="sdf_pg.html#sdf_element_dap">/system_description/platform/scanchain/dap</a> </td></tr>
<tr>
<th>Child Elements </th><th>Description </th><th>Type </th><th>Occurrence </th></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_device">/system_description/platform/scanchain/device</a> </td><td>Describes a single nested device associated with this device. </td><td>complexType </td><td>0..* </td></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_device_info_items">/system_description/platform/scanchain/../../device_info_items</a> </td><td>Describes a sequence of device information items. </td><td>complexType </td><td>0..* </td></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_config_items">/system_description/platform/scanchain/../../config_items</a> </td><td>Configuration items specific to this device. </td><td>complexType </td><td>0..* </td></tr>
<tr>
<th>Attributes </th><th>Description </th><th>Type </th><th>Use </th></tr>
<tr>
<td>name </td><td>Unique name of the device. </td><td>xs:string </td><td>required </td></tr>
<tr>
<td>type </td><td>Specifies the device type (see below). </td><td>xs:string </td><td>required </td></tr>
<tr>
<td>irLength </td><td>Specifies the IR length of the device (default value: 4). </td><td>xs:string </td><td>optional </td></tr>
</table>
<p>Depending on the context, a device type can be one of the following types:</p>
<ol type="1">
<li>A core device, where the type is usually specified as "Cortex-xx" (such as Cortex-A72,Cortex-M0+, Cortex-R5). It can also be a vendor-specific core type, or an older JTAG ARM core. Current cores are: <br/>
"Cortex-A5", "Cortex-A7", "Cortex-A8", "Cortex-A9", "Cortex-A12", "Cortex-A15", "Cortex-A17", "Cortex-A32", "Cortex-A35", "Cortex-A53", "Cortex-A57", "Cortex-A72", "Cortex-A73", "Cortex-M0", "Cortex-M0+", "Cortex-M0+_JTAG-AP", "Cortex-M1", "Cortex-M23", "Cortex-M3", "Cortex-M33", "Cortex-M35P", "Cortex-M3_JTAG-AP", "Cortex-M4", "Cortex-M7", "Cortex-R4", "Cortex-R5", "Cortex-R7", "Cortex-R8", "Cortex-R52", "SC000", "SC100D", "SC200D", "SC300", "ThunderX", "ThunderX-r2", "ARMV8MBL", "ARMV8MML", "88FR101", "88FR111", "88FR331", "88SV581x-v7_PJ4", "88SV581x-v7_PJ4_TZ", "ARM1136JF-S", "ARM1136JF-S_JTAG-AP", "ARM1156T2F-S", "ARM1156T2F-S_JTAG-AP", "ARM1176JZF-S", "ARM1176JZF-S_JTAG-AP", "ARM11MPCore", "ARM11MPCore_JTAG-AP", "ARM710T", "ARM720T", "ARM720T_r4", "ARM740T", "ARM7EJ-S", "ARM7EJ-S_JTAG-AP", "ARM7TDMI", "ARM7TDMI_JTAG-AP", "ARM7TDMI_r4", "ARM7TDMI_r4_JTAG-AP", "ARM920T", "ARM922T", "ARM925T", "ARM926EJ-S", "ARM926EJ-S_JTAG-AP", "ARM940T", "ARM946E-S", "ARM946E-S_JTAG-AP", "ARM966E-S", "ARM966E-S_JTAG-AP", "ARM968E-S", "ARM968E-S_JTAG-AP", "ARM968E-Srd", "ARM996HS", "ARM9E-S", "ARM9EJ-S", "ARM9EJ-S_JTAG-AP", "ARM9TDMI", "V7A-Generic", "V8-Generic", "V8M-Generic", "V8R-Generic", "V8_1-Generic", "V8_2-Generic".</li>
<li>An Access Port (AP) type such as "CSAUTHAP", "CSJTAGAP" or "CSMEMAP".</li>
<li>A CoreSight device type that can be one of "CSCTI", "CSETM", "CSITM", "CSMTB", "CSPMU", "CSPTM", "CSTFunnel", "CSTMC", "CSTPIU","CSSTM", "CSSWO", "CSELA", "CSATBReplicator", "CSGPR", "CSETB", "CSDWT", "CSETB", "CSTSGEN", "CSHTM", "CSFPB"</li>
<li>A JTAG device, which is directly on the scanchain (e.g. ARM11).</li>
</ol>
<p><b>Example:</b> </p>
<div class="fragment"><div class="line">&lt;system_description version=<span class="stringliteral">&quot;2.0&quot;</span>&gt;</div>
<div class="line"> &lt;debug_and_trace_config&gt;</div>
<div class="line"> &lt;!-- Not filled at the moment --&gt;</div>
<div class="line"> &lt;!-- Means <span class="keyword">using</span> defaults in <span class="keyword">this</span> area --&gt;</div>
<div class="line"> &lt;/debug_and_trace_config&gt;</div>
<div class="line"> &lt;platform&gt;</div>
<div class="line"> &lt;!-- Description of the scanchain --&gt;</div>
<div class="line"> &lt;scanchain&gt;</div>
<div class="line"> &lt;device name=<span class="stringliteral">&quot;My Custom TAP&quot;</span> type=<span class="stringliteral">&quot;Other&quot;</span> irLength=<span class="stringliteral">&quot;5&quot;</span>&gt;</div>
<div class="line"> &lt;!-- JTAG-TAP Info --&gt;</div>
<div class="line"> &lt;device_info_items&gt;</div>
<div class="line"> &lt;device_info_item name=<span class="stringliteral">&quot;JTAG_IDCODE&quot;</span>&gt;0x04560014&lt;/device_info_item&gt;</div>
<div class="line"> &lt;/device_info_items&gt;</div>
<div class="line"> &lt;/device&gt;</div>
<div class="line"> ...</div>
<div class="line">&lt;/system_description&gt;</div>
</div><!-- fragment --><p>&#160;</p>
<hr/>
<h1><a class="anchor" id="sdf_element_config_items"></a>
/system_description/platform/scanchain/../../config_items</h1>
<p>The configuration items are specific to the device type or DAP. Refer to <a class="el" href="sdf_pg.html#sdf_element_config_item">/system_description/.../config_item</a> for a list of applicable device information items and a code example.</p>
<table class="cmtable" summary="Element: config_items">
<tr>
<th>Parents </th><th colspan="3">Element Chain </th></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_device">device</a> </td><td colspan="3"><a class="el" href="sdf_pg.html#sdf_element_device">/system_description/platform/../device</a> </td></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_dap">dap</a> </td><td colspan="3"><a class="el" href="sdf_pg.html#sdf_element_dap">/system_description/platform/scanchain/dap</a> </td></tr>
<tr>
<th>Child Elements </th><th>Description </th><th>Type </th><th>Occurrence </th></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_config_item">/system_description/.../config_item</a> </td><td>Describes a configuration item. </td><td>complexType </td><td>0..* </td></tr>
</table>
<p>&#160;</p>
<hr/>
<h1><a class="anchor" id="sdf_element_device_info_items"></a>
/system_description/platform/scanchain/../../device_info_items</h1>
<p>The device information items are specific to the type of device or DAP and describe implementation specific details. Refer to <a class="el" href="sdf_pg.html#sdf_element_device_info_item">/system_description/platform/scanchain/../../device_info_items/device_info_item</a> for a list of applicable device information items and a code example.</p>
<table class="cmtable" summary="Element: device_info_items">
<tr>
<th>Parents </th><th colspan="3">Element Chain </th></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_device">device</a> </td><td colspan="3"><a class="el" href="sdf_pg.html#sdf_element_device">/system_description/platform/../device</a> </td></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_device">dap</a> </td><td colspan="3"><a class="el" href="sdf_pg.html#sdf_element_dap">/system_description/platform/scanchain/dap</a> </td></tr>
<tr>
<th>Child Elements </th><th>Description </th><th>Type </th><th>Occurrence </th></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_device_info_item">/system_description/platform/scanchain/../../device_info_items/device_info_item</a> </td><td>Describes a sequence of device information items. </td><td>xs:string </td><td>0..* </td></tr>
</table>
<p>&#160;</p>
<hr/>
<h1><a class="anchor" id="sdf_element_device_info_item"></a>
/system_description/platform/scanchain/../../device_info_items/device_info_item</h1>
<p>Describes implementation specific details of the specified device or DAP.</p>
<table class="cmtable" summary="Element: device_info_item">
<tr>
<th>Parents </th><th colspan="3">Element Chain </th></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_device_info_items">device_info_items</a> </td><td colspan="3"><a class="el" href="sdf_pg.html#sdf_element_device_info_items">/system_description/platform/../../device_info_items</a> </td></tr>
<tr>
<th>Attributes </th><th>Description </th><th>Type </th><th>Use </th></tr>
<tr>
<td>name </td><td>Unique name for the device information item. </td><td>xs:string </td><td>required </td></tr>
</table>
<p>The following device information items are applicable for each type of "device":</p>
<table class="doxtable">
<tr>
<th>Device </th><th>Device Information Item </th><th>Description </th></tr>
<tr>
<td><b>CSMEMAP</b> </td><td>AP_TYPE </td><td>Access port type is one of AHB-AP, APB-AP-M, APB-AP and AXI-AP </td></tr>
<tr>
<td></td><td>ROM_TABLE_BASE_ADDRESS </td><td>The ROM table base address (in hex) </td></tr>
<tr>
<td><b>CSETM</b> </td><td>VERSION </td><td>The ETM Version (e.g. 4.0 - required) </td></tr>
<tr>
<td></td><td>SUPPORTS_CONTEXT_IDS </td><td>Supports Context ID Tracing (True/False - Default Value:False) </td></tr>
<tr>
<td></td><td>SUPPORTS_VIRTUAL_CONTEXT_IDS </td><td>Supports Virtual Context ID Tracing (True/False - Default Value:False) </td></tr>
<tr>
<td></td><td>SUPPORTS_CYCLE_ACCURATE </td><td>Supports Cycle Accurate Trace (True/False - Default Value:False) </td></tr>
<tr>
<td></td><td>SUPPORTS_DATA_VALUE_TRACE </td><td>Supports Data Value Trace (True/False - Default Value:False) </td></tr>
<tr>
<td></td><td>SUPPORTS_DATA_ADDRESS_TRACE </td><td>Supports Data Address Trace (True/False - Default Value:False) </td></tr>
<tr>
<td></td><td>SUPPORTS_DATA_ONLY_MODE </td><td>Supports Data Only Trace Mode (True/False - Default Value:False) </td></tr>
<tr>
<td></td><td>SUPPORTS_TIMESTAMPS </td><td>Supports Timestamps(True/False - Default Value:False) </td></tr>
<tr>
<td></td><td>SUPPORTS_TRACE_RANGES </td><td>Supports Trace Ranges (True/False - Default Value:False) </td></tr>
<tr>
<td></td><td>SUPPORTS_BRANCH_BROADCAST </td><td>Supports Branch Broadcasting (True/False - Default Value:False) </td></tr>
<tr>
<td></td><td>SUPPORTS_CONDITIONAL_INSTRUCTIONS </td><td>Supports tracing conditional non-branch instruction (True/False - Default Value:False) </td></tr>
<tr>
<td></td><td>SUPPORTS_Q_ELEMENTS </td><td>Supports Q Elements (True/False - Default Value:False) </td></tr>
<tr>
<td><b>CSMTB</b> </td><td>RAM_SIZE_BYTES </td><td>MTB SRAM buffer size in bytes </td></tr>
<tr>
<td></td><td>SUPPORTS_USER_PRIV </td><td>User/Privileged support present </td></tr>
<tr>
<td><b>CSTPM</b> </td><td>VERSION </td><td>The PTM Version (eg 1.1) - Required </td></tr>
<tr>
<td></td><td>SUPPORTS_VMID </td><td>VMID Tracing support (True/False - Default Value:False) </td></tr>
<tr>
<td></td><td>SUPPORTS_CONTEXT_IDS </td><td>Context ID Tracing support (True/False - Default Value:False) </td></tr>
<tr>
<td></td><td>SUPPORTS_RETURN_STACK </td><td>Return stack support (True/False - Default Value:False) </td></tr>
<tr>
<td></td><td>SUPPORTS_CYCLE_ACCURATE </td><td>Cycle Accurate trace support (True/False - Default Value:False) </td></tr>
<tr>
<td></td><td>SUPPORTS_BRANCH_BROADCAST </td><td>Supports Branch Broadcasting (True/False - Default Value:False) </td></tr>
<tr>
<td></td><td>SUPPORTS_TIMESTAMPS </td><td>Supports Timestamping (True/False - Default Value:False) </td></tr>
<tr>
<td></td><td>SUPPORTS_FIFOFULL </td><td>Supports FIFOFULL (True/False - Default Value:False) </td></tr>
<tr>
<td><b>CSTMC</b> </td><td>CONFIG_TYPE </td><td>The TMC device configuration can be one of (ETR, ETF or ETB) - required </td></tr>
<tr>
<td></td><td>RAM_SIZE_BYTES </td><td>The SRAM memory size used in ETF and ETR configurations (512 Bytes to 4 GiB) - Default: 512 Bytes </td></tr>
<tr>
<td><b>CSTPIU</b> </td><td>SUPPORTED_PORT_SIZES </td><td>Semicolon separated list of supported port sizes (in bits) - required </td></tr>
<tr>
<td></td><td>ARCHITECTURE </td><td>The TPIU variant is one of (Coresight, TPIU-Lite, V7-M or V8-M) - Required </td></tr>
</table>
<p><b>Example:</b> </p>
<div class="fragment"><div class="line">&lt;system_description version=<span class="stringliteral">&quot;2.0&quot;</span>&gt;</div>
<div class="line"> ...</div>
<div class="line"> &lt;platform&gt;</div>
<div class="line"> &lt;!-- Description of the scanchain --&gt;</div>
<div class="line"> &lt;scanchain&gt;</div>
<div class="line"> &lt;!-- ARM Cortex-M0APP --&gt;</div>
<div class="line"> &lt;dap name=<span class="stringliteral">&quot;ARMCS-DP_CM0APP&quot;</span> type=<span class="stringliteral">&quot;ARMCS-DP&quot;</span> irLength=<span class="stringliteral">&quot;4&quot;</span> protocol=<span class="stringliteral">&quot;JTAG&quot;</span>&gt;</div>
<div class="line"> &lt;!-- CoreSight DAP Info --&gt;</div>
<div class="line"> &lt;device_info_items&gt;</div>
<div class="line"> &lt;device_info_item name=<span class="stringliteral">&quot;JTAG_IDCODE&quot;</span>&gt;0x00000000&lt;/device_info_item&gt;</div>
<div class="line"> &lt;/device_info_items&gt;</div>
<div class="line"> &lt;!-- Access Ports --&gt;</div>
<div class="line"> &lt;device name=<span class="stringliteral">&quot;CM0APP_AHB-AP&quot;</span> type=<span class="stringliteral">&quot;CSMEMAP&quot;</span>&gt; &lt;!-- Cortex-M0APP AHB-AP --&gt;</div>
<div class="line"> &lt;config_items&gt;</div>
<div class="line"> &lt;config_item name=<span class="stringliteral">&quot;CORESIGHT_AP_INDEX&quot;</span>&gt;0&lt;/config_item&gt;</div>
<div class="line"> &lt;/config_items&gt;</div>
<div class="line"> &lt;device_info_items&gt;</div>
<div class="line"> &lt;device_info_item name=<span class="stringliteral">&quot;AP_TYPE&quot;</span>&gt;AHB-AP&lt;/device_info_item&gt;</div>
<div class="line"> &lt;device_info_item name=<span class="stringliteral">&quot;ROM_TABLE_BASE_ADDRESS&quot;</span>&gt;0xE00FF000&lt;/device_info_item&gt;</div>
<div class="line"> &lt;/device_info_items&gt;</div>
<div class="line"> &lt;/device&gt;</div>
<div class="line"> ...</div>
</div><!-- fragment --><p>&#160;</p>
<hr/>
<h1><a class="anchor" id="sdf_element_topology"></a>
/system_description/platform/topology</h1>
<p>Describes the system topology.</p>
<table class="cmtable" summary="Element: topology">
<tr>
<th>Parents </th><th colspan="3">Element Chain </th></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_platform">platform</a> </td><td colspan="3"><a class="el" href="sdf_pg.html#sdf_element_platform">/system_description/platform</a> </td></tr>
<tr>
<th>Child Elements </th><th>Description </th><th>Type </th><th>Occurrence </th></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_topology_link">/system_description/platform/topology/topology_link</a> </td><td>Describes how CoreSight devices and cores are connected. </td><td>complexType </td><td>0..* </td></tr>
</table>
<p><b>Example:</b> </p>
<div class="fragment"><div class="line">&lt;system_description version=<span class="stringliteral">&quot;2.0&quot;</span>&gt;</div>
<div class="line"> &lt;debug_and_trace_config&gt;</div>
<div class="line"> &lt;/debug_and_trace_config&gt;</div>
<div class="line"> &lt;platform&gt;</div>
<div class="line"> ...</div>
<div class="line"> &lt;topology&gt;</div>
<div class="line"> &lt;!-- Trace Links --&gt;</div>
<div class="line"> &lt;!-- Core Trace - Cortex-M4 --&gt;</div>
<div class="line"> &lt;topology_link type=<span class="stringliteral">&quot;CoreTrace&quot;</span> master=<span class="stringliteral">&quot;CM4_CPU&quot;</span> slave=<span class="stringliteral">&quot;CM4_DWT&quot;</span>/&gt;</div>
<div class="line"> &lt;topology_link type=<span class="stringliteral">&quot;CoreTrace&quot;</span> master=<span class="stringliteral">&quot;CM4_CPU&quot;</span> slave=<span class="stringliteral">&quot;CM4_ITM&quot;</span>/&gt;</div>
<div class="line"> &lt;topology_link type=<span class="stringliteral">&quot;CoreTrace&quot;</span> master=<span class="stringliteral">&quot;CM4_CPU&quot;</span> slave=<span class="stringliteral">&quot;CM4_ETM&quot;</span>/&gt;</div>
<div class="line"> &lt;topology_link type=<span class="stringliteral">&quot;ATB&quot;</span> master=<span class="stringliteral">&quot;CM4_ETM&quot;</span> slave=<span class="stringliteral">&quot;CM4_TPIU&quot;</span> slave_interface=<span class="stringliteral">&quot;0&quot;</span>/&gt;</div>
<div class="line"> &lt;topology_link type=<span class="stringliteral">&quot;ATB&quot;</span> master=<span class="stringliteral">&quot;CM4_ITM&quot;</span> slave=<span class="stringliteral">&quot;CM4_TPIU&quot;</span> slave_interface=<span class="stringliteral">&quot;1&quot;</span>/&gt;</div>
<div class="line"> &lt;!-- Trace - Cortex-M4 ETB (Direct Connection ETM -&gt; ETB) --&gt;</div>
<div class="line"> &lt;topology_link type=<span class="stringliteral">&quot;ATB&quot;</span> master=<span class="stringliteral">&quot;CM4_ETM&quot;</span> slave=<span class="stringliteral">&quot;CM4_ETB&quot;</span>/&gt;</div>
<div class="line"> &lt;/topology&gt;</div>
<div class="line"> &lt;/platform&gt;</div>
<div class="line">&lt;/system_description&gt;</div>
</div><!-- fragment --> <p>&#160;</p>
<hr/>
<h1><a class="anchor" id="sdf_element_topology_link"></a>
/system_description/platform/topology/topology_link</h1>
<p>Describes how CoreSight devices and cores are connected.</p>
<table class="cmtable" summary="Element: topology_link">
<tr>
<th>Parents </th><th colspan="3">Element Chain </th></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_platform">topology</a> </td><td colspan="3"><a class="el" href="sdf_pg.html#sdf_element_topology">/system_description/platform/topology</a> </td></tr>
<tr>
<th>Attributes </th><th>Description </th><th>Type </th><th>Use </th></tr>
<tr>
<td>name </td><td>Unique name for the link. </td><td>xs:string </td><td>optional </td></tr>
<tr>
<td>type </td><td>Specifies the link type. Can be on of the following: ATB, CoreTrace, or CTITrigger. </td><td>xs:string </td><td>required </td></tr>
<tr>
<td>master </td><td>Unique name of the master device in the link. </td><td>xs:string </td><td>required </td></tr>
<tr>
<td>slave </td><td>Unique name of the slave device in the link. </td><td>xs:string </td><td>required </td></tr>
<tr>
<td>mater_interface </td><td>Specifies the mater interface number. </td><td>xs:string </td><td>optional </td></tr>
<tr>
<td>slave_interface </td><td>Specifies the slave interface number. </td><td>xs:string </td><td>optional </td></tr>
<tr>
<td>trigger </td><td>Specifies the trigger number. </td><td>xs:string </td><td>optional </td></tr>
</table>
<p><b>Example:</b> </p>
<p>A complete set of links for a Cortex-A7 implementation with ETM and TPIU might look like this: </p>
<div class="fragment"><div class="line">master=<span class="stringliteral">&quot;Cortex-A7_0&quot;</span> slave=<span class="stringliteral">&quot;CSCTI_6&quot;</span> trigger=<span class="stringliteral">&quot;7&quot;</span> type=<span class="stringliteral">&quot;CTITrigger&quot;</span></div>
<div class="line">master=<span class="stringliteral">&quot;CSETM_0&quot;</span> slave=<span class="stringliteral">&quot;CSCTI_6&quot;</span> trigger=<span class="stringliteral">&quot;6&quot;</span> type=<span class="stringliteral">&quot;CTITrigger&quot;</span></div>
<div class="line">master=<span class="stringliteral">&quot;Cortex-A7_0&quot;</span> slave=<span class="stringliteral">&quot;CSETM_0&quot;</span> type=<span class="stringliteral">&quot;CoreTrace&quot;</span></div>
<div class="line">master=<span class="stringliteral">&quot;CSETM_0&quot;</span> slave=<span class="stringliteral">&quot;CSTFunnel_2&quot;</span> slave_interface=<span class="stringliteral">&quot;0&quot;</span> type=<span class="stringliteral">&quot;ATB&quot;</span></div>
<div class="line">master=<span class="stringliteral">&quot;CSTFunnel_2&quot;</span> slave=<span class="stringliteral">&quot;CSTFunnel_0&quot;</span> slave_interface=<span class="stringliteral">&quot;1&quot;</span> type=<span class="stringliteral">&quot;ATB&quot;</span></div>
<div class="line">master=<span class="stringliteral">&quot;CSTFunnel_0&quot;</span> slave=<span class="stringliteral">&quot;CSTMC_0&quot;</span> type=<span class="stringliteral">&quot;ATB&quot;</span></div>
<div class="line">master=<span class="stringliteral">&quot;CSTMC_0&quot;</span> slave=<span class="stringliteral">&quot;CSTPIU&quot;</span> type=<span class="stringliteral">&quot;ATB&quot;</span></div>
</div><!-- fragment --> <p>&#160;</p>
<hr/>
<h1><a class="anchor" id="sdf_element_clusters"></a>
/system_description/platform/clusters</h1>
<p>Describes the cluster arrangement.</p>
<table class="cmtable" summary="Element: clusters">
<tr>
<th>Parents </th><th colspan="3">Element Chain </th></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_platform">platform</a> </td><td colspan="3"><a class="el" href="sdf_pg.html#sdf_element_platform">/system_description/platform</a> </td></tr>
<tr>
<th>Child Elements </th><th>Description </th><th>Type </th><th>Occurrence </th></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_cluster">/system_description/platform/clusters/cluster</a> </td><td>Lists the devices that make up the cluster and a unique name for the cluster. </td><td>complexType </td><td>0..* </td></tr>
</table>
<p>&#160;</p>
<hr/>
<h1><a class="anchor" id="sdf_element_cluster"></a>
/system_description/platform/clusters/cluster</h1>
<p>Lists the devices that make up the cluster.</p>
<table class="cmtable" summary="Element: cluster">
<tr>
<th>Parents </th><th colspan="3">Element Chain </th></tr>
<tr>
<td><a class="el" href="sdf_pg.html#sdf_element_clusters">clusters</a> </td><td colspan="3"><a class="el" href="sdf_pg.html#sdf_element_clusters">/system_description/platform/clusters</a> </td></tr>
<tr>
<th>Attributes </th><th>Description </th><th>Type </th><th>Use </th></tr>
<tr>
<td>name </td><td>Unique name for the cluster (for example Cortex-A15_SMP_0). </td><td>xs:string </td><td>required </td></tr>
<tr>
<td>devices </td><td>Colon separated list of named devices in the cluster, for example "Cortex-A15_0:Cortex-A15_1:Cortex-A15_2:Cortex-A15_3". </td><td>xs:string </td><td>required </td></tr>
</table>
<p>&#160;</p>
<hr/>
</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:21:01 for CMSIS-Pack Version 1.6.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>