diff options
Diffstat (limited to 'CMSIS/Documentation/SVD/html/group__cluster_level__gr.html')
-rw-r--r-- | CMSIS/Documentation/SVD/html/group__cluster_level__gr.html | 182 |
1 files changed, 182 insertions, 0 deletions
diff --git a/CMSIS/Documentation/SVD/html/group__cluster_level__gr.html b/CMSIS/Documentation/SVD/html/group__cluster_level__gr.html new file mode 100644 index 0000000..abbcbdf --- /dev/null +++ b/CMSIS/Documentation/SVD/html/group__cluster_level__gr.html @@ -0,0 +1,182 @@ +<!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>Cluster Level</title> +<title>CMSIS-SVD: Cluster Level</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); +</script> +<link href="stylsheetf" rel="stylesheet" type="text/css" /> +</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-SVD +  <span id="projectnumber">Version 1.3.1</span> + </div> + <div id="projectbrief">CMSIS System View Description</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.2 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="pages.html"><span>Usage and Description</span></a></li> + <li><a href="modules.html"><span>Reference</span></a></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__cluster_level__gr.html','');}); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">Cluster Level</div> </div> +<div class="ingroups"><a class="el" href="group__svd___format__1__1__gr.html">SVD Extensions</a></div></div><!--header--> +<div class="contents"> +<p><b>Cluster</b> adds an optional sub-level within the CMSIS SVD <em>registers</em> level. A cluster describes a sequence of neighboring registers within a peripheral. A cluster specifies the <em>addressOffset</em> relative to the <em>baseAddress</em> of the peripheral. All <em>register</em> elements within a cluster specify their <em>addressOffset</em> relative to the cluster base address (<em>peripheral:baseAddress + cluster:addressOffset</em>). Multiple <em><register/></em> and <em><cluster></em> sections may occur in any order. Since version 1.3 of the specification the nesting of <em><cluster></em> elements is supported. This means, that within a <em><cluster></em> section any number of <em><register></em> and <em><cluster></em> sections may occur. Nested cluster express hierarchical structures of registers. It is predominantely targeted at the generation of device header files where it allows to create C data structure within the peripheral structure type instead of a flat list of registers. Note that you can also specify an array of a cluster using the <em><dim></em> element.</p> +<hr/> +<pre> +<span class="mand"><b><registers></b> </span></pre><pre><span class="mand"> <b><cluster<span class="opt">derivedFrom=<em>identifierType</em></span>></b> + <span class="opt"> + <em><!-- dimElementGroup --> </em> + <dim><em>scaledNonNegativeInteger</em></dim> + <dimIncrement><em>scaledNonNegativeInteger</em></dimIncrement> + <dimIndex><em>dimIndexType</em></dimIndex> + <em><!-- end of dimElementGroup --> </em> + </span> + <name><em>identifierType</em></name> + <description><em>xs:string</em></description> + <span class="opt"> + <headerStructName><em>identifierType</em></headerStructName> + <alternateCluster><em>identifierType</em></alternateCluster> + </span> + <addressOffset><em>scaledNonNegativeInteger</em></addressOffset></span></pre><pre><span class="mand"> <cluster> ... </cluster> + <register> ... </register> + ... + <b></cluster></b> + <span class="opt">... + <register> + ... + </register> + <cluster> + ... + </cluster> + </span> +<b><registers></b> </span> +</pre><table class="cmtable" summary="Cluster Level Schema"> +<tr> +<th>Attribute Name </th><th>Description </th><th>Type </th><th>Occurrence </th></tr> +<tr> +<td>derivedFrom </td><td>Specifies the name of the cluster from which to inherit the data. Elements being specified underneath will override the inherited values. <br/> +<b>Remarks:</b> When deriving a cluster, it is mandatory to specify at least the name, the description, and the addressOffset. </td><td>registerType </td><td>0..1 </td></tr> +<tr> +<th>Element Name </th><th>Description </th><th>Type </th><th>Occurrence </th></tr> +<tr class="group1"> +<td colspan="4">See <a class="el" href="group__dim_element_group__gr.html">dimElementGroup</a> for details. </td></tr> +<tr class="group1"> +<td align="left">dim </td><td>The value defines the number of elements in an array of clusters. </td><td>scaledNonNegativeInteger </td><td>1..1 </td></tr> +<tr class="group1"> +<td align="left">dimIncrement </td><td>If <em>dim</em> is specified, this element becomes mandatory. The element specifies the address increment in between two neighboring clusters of the cluster array in the address map. </td><td>scaledNonNegativeInteger </td><td>1..1 </td></tr> +<tr class="group1"> +<td align="left">dimIndex </td><td>Specifies the substrings that replaces the <em>[%s]</em> placeholder within the cluster name. By default, the index is a decimal value starting with 0 for the first cluster element. </td><td>dimIndexType </td><td>0..1 </td></tr> +<tr> +<td>name </td><td>String that identifies the cluster. Register names are required to be unique within the scope of a peripheral. Specify <em>[%s]</em> for generating an array in the device header file. </td><td>identifierType </td><td>1..1 </td></tr> +<tr> +<td>description </td><td>String describing the details of the register. </td><td>xs:string </td><td>0..1 </td></tr> +<tr> +<td>alternateCluster </td><td>This tag needs to specify the name of the original description of the register sequence if this cluster provides an alternative description. Otherwise the SVDConv will issue errors. </td><td>identifierType </td><td>0..1 </td></tr> +<tr> +<td>headerStructName </td><td>This tag specifies the struct type name in the device header file. If not specified, then the name of the cluster will be used. </td><td>identifierType </td><td>0..1 </td></tr> +<tr> +<td>addressOffset </td><td>Value defining the cluster address relative to the <em>baseAddress</em> defined by the peripheral of the register. </td><td>scaledNonNegativeInteger </td><td>1..1 </td></tr> +<tr> +<td>register </td><td>register description </td><td>registerType </td><td>0..* </td></tr> +<tr> +<td>cluster </td><td>cluster description </td><td>clusterType </td><td>0..* </td></tr> +</table> +<h1><a class="anchor" id="clusterSection_ex"></a> +Example:</h1> +<div class="fragment"><div class="line"><cluster></div> +<div class="line"> <dim>4</dim></div> +<div class="line"> <dimIncrement>8</dimIncrement></div> +<div class="line"> <dimIndex>0-3</dimIndex></div> +<div class="line"> <name>TX[%s]</name></div> +<div class="line"> <description>Grouping of Transfer data and address</description></div> +<div class="line"> <addressOffset>0x40</addressOffset></div> +<div class="line"> <<span class="keyword">register</span>></div> +<div class="line"> <name>TX_DATA</name></div> +<div class="line"> ...</div> +<div class="line"> <addressOffset>0x0</addressOffset></div> +<div class="line"> ...</div> +<div class="line"> </<span class="keyword">register</span>></div> +<div class="line"> <<span class="keyword">register</span>></div> +<div class="line"> <name>TX_ADDR</name></div> +<div class="line"> ...</div> +<div class="line"> <addressOffset>0x4</addressOffset></div> +<div class="line"> ...</div> +<div class="line"> </<span class="keyword">register</span>></div> +<div class="line"></cluster></div> +</div><!-- fragment --><p>The example above describes an array of type TX with 4 elements. TX is a cluster of two consecutive registers with 4 elements. The device header file looks like this:</p> +<div class="fragment"><div class="line"><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div> +<div class="line"> ...</div> +<div class="line"> <span class="keyword">struct </span>{</div> +<div class="line"> __IO uint32_t TX_DATA;</div> +<div class="line"> __IO uint32_t TX_ADDR;</div> +<div class="line"> } TX[4];</div> +<div class="line"> ...</div> +<div class="line">} ..._Type;</div> +</div><!-- fragment --> </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 Tue Oct 27 2015 14:35:46 for CMSIS-SVD 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.2 + --> + </li> + </ul> +</div> +</body> +</html> |