summaryrefslogtreecommitdiff
path: root/CMSIS/Documentation/SVD/html/group__svd__xml__enum__gr.html
blob: f35dd2b57101267ef79d4d00e9c28bc25187ed9f (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>Enumerated Values Level</title>
<title>CMSIS-SVD: Enumerated Values 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
   &#160;<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&#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>
    </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__svd__xml__enum__gr.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">Enumerated Values Level</div>  </div>
<div class="ingroups"><a class="el" href="group__svd___format__gr.html">SVD File Schema Levels</a></div></div><!--header-->
<div class="contents">
<div class="title">Enumerated Values</div><p> The concept of enumerated values creates a map between unsigned integers and an identifier string. In addition, a description string can be associated with each entry in the map.</p>
<pre>
        0 &lt;-&gt; disabled -&gt; "the clock source clk0 is turned off"
        1 &lt;-&gt; enabled  -&gt; "the clock source clk1 is running"
    </pre><p> This information is used for generating an <em>enum</em> in the device header file. The debugger may use this information to display the identifier string as well as the description. Just like symbolic constants making source code more readable, the system view in the debugger becomes more instructive. The detailed description can provide reference manual level details within the debugger.</p>
<hr/>
<pre>
<span class="mand">
<b>&lt;enumeratedValues <span class="opt">derivedFrom</span>=<em>"xs:Name"</em>&gt;</b>
<span class="opt">
    &lt;name&gt;<em>enumerationNameType</em>&lt;/name&gt;
    &lt;usage&gt;<em>usageType</em>&lt;/usage&gt;
</span>
    &lt;enumeratedValue&gt;
        ...
    &lt;/enumeratedValue&gt;
<span class="opt">
    ...
    &lt;enumeratedValue&gt;
        ...
    &lt;/enumeratedValue&gt;
</span>
<b>&lt;/enumeratedValues&gt;</b>
</span>
</pre><table  class="cmtable" summary="Enumerated Values Level Schema">
<tr>
<th>Attribute Name </th><th>Description </th><th>Type </th><th>Occurrence  </th></tr>
<tr>
<td>derivedFrom </td><td>Makes a copy from a previously defined <em>enumeratedValues</em> section. No modifications are allowed. An <em>enumeratedValues</em> entry is referenced by its name. If the name is not unique throughout the description, it needs to be further qualified by specifying the associated field, register, and peripheral as required. For example: <pre>
    field:                           clk.dis_en_enum
    register + field:                ctrl.clk.dis_en_enum
    peripheral + register + field:   timer0.ctrl.clk.dis_en_enum
</pre>  </td><td>xs:Name </td><td>0..1  </td></tr>
<tr>
<th>Element Name </th><th>Description </th><th>Type </th><th>Occurrence  </th></tr>
<tr>
<td>name </td><td>Identifier for the whole enumeration section. </td><td>xs:Name </td><td>0..1  </td></tr>
<tr>
<td>usage </td><td>Possible values are <span class="XML-Token">read<em>,</em> write<em>, or</em> read-write</span>. This allows specifying two different enumerated values depending whether it is to be used for a read or a write access. If not specified, the default value <span class="XML-Token">read-write</span> is used. </td><td>enumUsageType </td><td>0..1  </td></tr>
<tr>
<td>enumeratedValue </td><td>Describes a single entry in the enumeration. The number of required items depends on the bit width of the associated field. See section below for details. </td><td nowrap="nowrap">&#160; </td><td>1..*  </td></tr>
</table>
<div class="title">Enumerated Value</div> <p>An <em>enumeratedValue</em> defines a map between an unsigned integer and a human readable string.</p>
<hr/>
 <pre>
<span class="mand">
<b>&lt;enumeratedValue&gt;</b></span></pre><pre><span class="mand">    &lt;name&gt;<em>identifierType</em>&lt;/name&gt;
    <span class="opt">&lt;description&gt;<em>xs:string</em>&lt;/description&gt;</span></span></pre><pre><span class="mand">    &lt;choice&gt;
        &lt;value&gt;<em>scaledNonNegativeInteger</em>&lt;/value&gt;
        &lt;isDefault&gt;<em>xs:boolean</em>&lt;/isDefault&gt;
    &lt;/choice&gt;</span></pre><pre><span class="mand"><b>&lt;/enumeratedValue&gt;</b>
</span>
</pre><table  class="cmtable" summary="Enumerated Value">
<tr>
<th>Element Name </th><th>Description </th><th>Type </th><th>Occurrence  </th></tr>
<tr>
<td>name </td><td>String describing the semantics of the value. Can be displayed instead of the value. </td><td>identifierType </td><td>0..1  </td></tr>
<tr>
<td>description </td><td>Extended string describing the value. </td><td>xs:string </td><td>0..1  </td></tr>
<tr class="choice">
<td colspan="3"><em>choice of</em> </td><td>1..1  </td></tr>
<tr class="choice">
<td align="right">value </td><td>Defines the constant of the bit-field that the name corresponds to. </td><td nowrap="nowrap">scaledNonNegativeInteger </td><td>0..1  </td></tr>
<tr class="choice">
<td align="right">isDefault </td><td>Defines the name and description for all other values that are not listed explicitly. </td><td>xs:boolean </td><td>0..1  </td></tr>
</table>
<h1><a class="anchor" id="enum_ex2"></a>
Example:</h1>
<div class="fragment"><div class="line">&lt;enumeratedValues&gt;</div>
<div class="line"></div>
<div class="line">    &lt;name&gt;TimerIntSelect&lt;/name&gt;</div>
<div class="line">    &lt;usage&gt;read-write&lt;/usage&gt;</div>
<div class="line"></div>
<div class="line">    &lt;enumeratedValue&gt;</div>
<div class="line">        &lt;name&gt;disabled&lt;/name&gt;</div>
<div class="line">        &lt;description&gt;The clock source clk0 is turned off.&lt;/description&gt;</div>
<div class="line">        &lt;value&gt;0&lt;/value&gt;</div>
<div class="line">    &lt;/enumeratedValue&gt;</div>
<div class="line"></div>
<div class="line">    &lt;enumeratedValue&gt;</div>
<div class="line">        &lt;name&gt;reserved&lt;/name&gt;</div>
<div class="line">        &lt;description&gt;Reserved values. Do not use.&lt;/description&gt;</div>
<div class="line">        &lt;isDefault&gt;<span class="keyword">true</span>&lt;/isDefault&gt;</div>
<div class="line">    &lt;/enumeratedValue&gt;</div>
<div class="line"></div>
<div class="line">&lt;/enumeratedValues&gt;</div>
</div><!-- fragment --> <div class="fragment"><div class="line">&lt;enumeratedValues&gt;</div>
<div class="line"></div>
<div class="line">    &lt;name&gt;TimerIntSelect&lt;/name&gt;</div>
<div class="line">    &lt;usage&gt;read-write&lt;/usage&gt;</div>
<div class="line"></div>
<div class="line">    &lt;enumeratedValue&gt;</div>
<div class="line">        &lt;name&gt;disabled&lt;/name&gt;</div>
<div class="line">        &lt;description&gt;Timer does not generate interrupts.&lt;/description&gt;</div>
<div class="line">        &lt;value&gt;0&lt;/value&gt;</div>
<div class="line">    &lt;/enumeratedValue&gt;</div>
<div class="line"></div>
<div class="line">    &lt;enumeratedValue&gt;</div>
<div class="line">        &lt;name&gt;enabled&lt;/name&gt;</div>
<div class="line">        &lt;description&gt;Timer generates interrupts.&lt;/description&gt;</div>
<div class="line">        &lt;isDefault&gt;<span class="keyword">true</span>&lt;/isDefault&gt;</div>
<div class="line">    &lt;/enumeratedValue&gt;</div>
<div class="line"></div>
<div class="line">&lt;/enumeratedValues&gt;</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>