Files @ a48d9ffdc5db
Branch filter:

Location: therm/libraries/CMSIS/Documentation/SVD/html/group__svd__xml__peripherals__gr.html - annotation

Ethan Zonca
Oled driver updates and pin assignment fixes
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
f23a287bb7c1
<!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>CMSIS-SVD: Peripherals 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>
<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="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.10</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">
      <li><a href="../../General/html/index.html"><span>CMSIS</span></a></li>
      <li><a href="../../Core/html/index.html"><span>CORE</span></a></li>
      <li><a href="../../DSP/html/index.html"><span>DSP</span></a></li>
      <li><a href="../../RTOS/html/index.html"><span>RTOS API</span></a></li>
      <li class="current"><a href="../../SVD/html/index.html"><span>SVD</span></a></li>
    </ul>
</div>
<!-- Generated by Doxygen 1.8.3.1 -->
  <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__peripherals__gr.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">Peripherals Level<div class="ingroups"><a class="el" href="group__svd___format__gr.html">SVD File Schema Levels</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<p>All peripherals of a device are enclosed within the tag <b>&lt;peripherals&gt;</b>. At least one peripheral has to be defined. Each peripheral is enclosed in the tag <b>&lt;peripheral&gt;</b>.</p>
<ul>
<li>Each peripheral describes all registers belonging to that peripheral.</li>
<li>The address range allocated by a peripheral is defined through one or more address blocks.</li>
<li>An address block and register addresses are specified relative to the base address of a peripheral. The address block information can be used for constructing a memory map for the device peripherals.</li>
</ul>
<dl class="section remark"><dt>Remarks</dt><dd>The memory map does not contain any information about RAM, ROM, or FLASH memory.</dd></dl>
<hr/>
<pre>
<span class="mand"> <b>&lt;peripherals&gt;</b> </span></pre><pre><span class="mand">    <b>&lt;peripheral <span class="opt">derivedFrom=<em>identifierType</em></span>&gt;</b></span></pre><pre><span class="mand">        &lt;name&gt;<em>identifierType</em>&lt;/name&gt;
        &lt;version&gt;<em>xs:string</em>&lt;/version&gt;
        &lt;description&gt;<em>xs:string</em>&lt;/description&gt;
    <span class="opt">
        &lt;groupName&gt;<em>identifierType</em>&lt;/groupName&gt;
        &lt;prependToName&gt;<em>identifierType</em>&lt;/prependToName&gt;
        &lt;appendToName&gt;<em>identifierType</em>&lt;/appendToName&gt;
        &lt;disableCondition&gt;<em>xs:string</em>&lt;/disableCondition&gt;
    </span>
        &lt;baseAddress&gt;<em>scaledNonNegativeInteger</em>&lt;/baseAddress&gt;
    <span class="opt">
        <em> &lt;!-- registerPropertiesGroup --&gt;</em>
        &lt;size&gt;<em>scaledNonNegativeInteger</em>&lt;/size&gt;
        &lt;access&gt;<em>accessType</em>&lt;/access&gt;
        &lt;resetValue&gt;<em>scaledNonNegativeInteger</em>&lt;/resetValue&gt;
        &lt;resetMask&gt;<em>scaledNonNegativeInteger</em>&lt;/resetMask&gt;
        <em> &lt;!-- end of registerPropertiesGroup --&gt;</em>
    </span>
        &lt;addressBlock&gt;
            &lt;offset&gt;<em>scaledNonNegativeInteger</em>&lt;/offset&gt;
            &lt;size&gt;<em>scaledNonNegativeInteger</em>&lt;/size&gt;
            &lt;usage&gt;<em>usageType</em>&lt;/usage&gt;
        &lt;/addressBlock&gt;<span class="opt">
        ...
        &lt;addressBlock&gt;<span class="mand">
            &lt;offset&gt;<em>scaledNonNegativeInteger</em>&lt;/offset&gt;
            &lt;size&gt;<em>scaledNonNegativeInteger</em>&lt;/size&gt;
            &lt;usage&gt;<em>usageType</em>&lt;/usage&gt;</span><span class="opt">
        &lt;/addressBlock&gt;</span>
    <span class="opt">
        &lt;interrupt&gt;</span><span class="mand">
            &lt;name&gt;<em>identifierType</em>&lt;/name&gt;
            &lt;value&gt;<em>scaledNonNegativeInteger</em>&lt;/value&gt;</span>
        &lt;/interrupt&gt;</span></span></pre><pre><span class="mand"><span class="opt">        &lt;registers&gt;
            ...
        &lt;/registers&gt;</span></span></pre><pre><span class="mand">    <b>&lt;/peripheral&gt;</b>
    <span class="opt">...
    &lt;peripheral&gt;
       ...
    &lt;/peripheral&gt;
    </span>
<b>&lt;/peripherals&gt;</b>
</span>
</pre><table  class="cmtable" summary="Peripheral Level Schema">
<tr>
<th nowrap="nowrap">Attribute Name </th><th>Description </th><th>Type </th><th>Occurrence  </th></tr>
<tr>
<td>derivedFrom </td><td>Specifies the name of a peripheral from which this peripheral will be derived. Values are inherit. Elements specified underneath will override inherited values.  </td><td>xs:Name  </td><td>0..1  </td></tr>
<tr>
<th nowrap="nowrap">Element Name </th><th>Description </th><th>Type </th><th>Occurrence  </th></tr>
<tr>
<td>name  </td><td>The name string is used to identify the peripheral. Peripheral names are required to be unique for a device. The name needs to be an ANSI C identifier to allow header file generation.  </td><td>xs:Name  </td><td>1..1   </td></tr>
<tr>
<td>version  </td><td>The string specifies the version of this peripheral description.  </td><td>xs:string  </td><td>0..1   </td></tr>
<tr>
<td>description  </td><td>The string provides an overview of the purpose and functionality of the peripheral. </td><td>xs:string  </td><td>0..1   </td></tr>
<tr>
<td>groupName  </td><td></td><td>xs:string  </td><td>0..1   </td></tr>
<tr>
<td>prependToName  </td><td>All register names of this peripheral have their names prefixed with this string. </td><td>xs:string  </td><td>0..1   </td></tr>
<tr>
<td>appendToName  </td><td>All register names of this peripheral have their names suffixed with this string. </td><td>xs:string  </td><td>0..1   </td></tr>
<tr>
<td>disableCondition  </td><td>Is a C-language compliant logical expression returning a TRUE or FALSE result. If TRUE, refreshing the display for this peripheral is disabled and related accesses by the debugger are suppressed. <br/>
 <br/>
 Only constants and references to other registers contained in the description are allowed: <em>&lt;peripheral&gt;-&gt;&lt;register&gt;-&gt;&lt;field&gt;</em>, for example, (System-&gt;ClockControl-&gt;apbEnable == 0). The following operators are allowed in the expression [&amp;&amp;,||, ==, !=, &gt;&gt;, &lt;&lt;, &amp;, |]. <dl class="section attention"><dt>Attention</dt><dd>Use this feature only in cases where accesses from the debugger to registers of un-clocked peripherals result in severe debugging failures. SVD is intended to provide static information and does not include any run-time computation or functions. Such capabilities can be added by the tools, and is beyond the scope of this description language. </dd></dl>
</td><td>xs:string  </td><td>0..1   </td></tr>
<tr>
<td>baseAddress  </td><td>Lowest address reserved or used by the peripheral. </td><td>scaledNonNegativeInteger  </td><td>1..1   </td></tr>
<tr class="group1">
<td colspan="4">See <a class="el" href="group__register_properties_group__gr.html">registerPropertiesGroup</a> for details.  </td></tr>
<tr class="group1">
<td align="right">size </td><td>Defines the default bit-width of any register contained in the device (implicit inheritance).  </td><td>scaledNonNegativeInteger </td><td>0..1  </td></tr>
<tr class="group1">
<td align="right">access </td><td>Defines the default access rights for all registers. </td><td>accessType </td><td>0..1  </td></tr>
<tr class="group1">
<td align="right">resetValue  </td><td>Defines the default value for all registers at RESET. </td><td>scaledNonNegativeInteger  </td><td>0..1   </td></tr>
<tr class="group1">
<td align="right">resetMask </td><td>Identifies which register bits have a defined reset value. </td><td>scaledNonNegativeInteger </td><td>0..1  </td></tr>
<tr class="group2">
<td>addressBlock </td><td>Specifies an address range uniquely mapped to this peripheral. A peripheral must have at least one address block, but may allocate multiple distinct address ranges. If a peripheral is derived form another peripheral, the addressBlock is not mandatory.  </td><td>addressBlockType </td><td>1..*  </td></tr>
<tr class="group2">
<td align="right">offset </td><td>Specifies the start address of an address block relative to the peripheral <em>baseAddress</em>.  </td><td>scaledNonNegativeInteger  </td><td>1..1  </td></tr>
<tr class="group2">
<td align="right">size </td><td>Specifies the number of addressUnitBits being covered by this address block. The end address of an address block results from the sum of baseAddress, offset, and (size - 1).  </td><td>scaledNonNegativeInteger  </td><td>1..1  </td></tr>
<tr class="group2">
<td align="right">usage </td><td>The following predefined values can be used: <span class="XML-Token">registers<em>, </em> buffer<em>, or</em> reserved</span>.  </td><td>scaledNonNegativeInteger  </td><td>1..1  </td></tr>
<tr class="group1">
<td>interrupt  </td><td>A peripheral can have multiple associated interrupts. This entry allows the debugger to show interrupt names instead of interrupt numbers. </td><td>interruptType  </td><td>0..*   </td></tr>
<tr class="group1">
<td align="right">name  </td><td>The string represents the interrupt name. </td><td>XS:string  </td><td>1..1   </td></tr>
<tr class="group1">
<td align="right">value  </td><td>Is the enumeration index value associated to the interrupt. </td><td>xs:integer  </td><td>1..1   </td></tr>
<tr>
<td>registers  </td><td>See <a class="el" href="group__svd__xml__registers__gr.html">Registers Level</a> for details.  </td><td>&#160; </td><td>0..1   </td></tr>
</table>
<h1><a class="anchor" id="periph_ex"></a>
Example:</h1>
<div class="fragment"><div class="line">...</div>
<div class="line">&lt;peripheral&gt;</div>
<div class="line">  &lt;name&gt;Timer0&lt;/name&gt;</div>
<div class="line">  &lt;version&gt;1.0.32&lt;/version&gt;</div>
<div class="line">  &lt;description&gt;Timer 0 is a simple 16 bit timer counting down ... &lt;/description&gt;</div>
<div class="line">  &lt;baseAddress&gt;0x40000000&lt;/baseAddress&gt;</div>
<div class="line">  &lt;addressBlock&gt;</div>
<div class="line">    &lt;offset&gt;0x0&lt;/offset&gt;</div>
<div class="line">    &lt;size&gt;0x400&lt;/size&gt;</div>
<div class="line">    &lt;usage&gt;registers&lt;/usage&gt;</div>
<div class="line">  &lt;/addressBlock&gt;</div>
<div class="line">  &lt;interrupt&gt;&lt;name&gt;TIM0_INT&lt;/name&gt;&lt;value&gt;34&lt;/value&gt;&lt;/interrupt&gt;</div>
<div class="line">  &lt;registers&gt;</div>
<div class="line">    ...</div>
<div class="line">  &lt;/registers&gt;</div>
<div class="line">&lt;/peripheral&gt;</div>
<div class="line"></div>
<div class="line">&lt;peripheral derivedFrom=<span class="stringliteral">&quot;Timer0&quot;</span>&gt;</div>
<div class="line">  &lt;name&gt;Timer1&lt;/name&gt;</div>
<div class="line">  &lt;baseAddress&gt;0x40000400&lt;/baseAddress&gt;</div>
<div class="line">&lt;/peripheral&gt;</div>
<div class="line">...</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 Mon Mar 18 2013 13:38:02 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.3.1 
	-->
	</li>
  </ul>
</div>
</body>
</html>