<!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>/device element</title>
<title>CMSIS-SVD: /device element</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-SVD
   &#160;<span id="projectnumber">Version 1.3.3</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.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('elem_device.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">/device element </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>The element <em>&lt;device&gt;</em> provides the outermost frame of the description.</p>
<ul>
<li>Only one <em>&lt;device&gt;</em> section is allowed per file. All other elements are described within this scope.</li>
<li>A <em>&lt;device&gt;</em> contains one or more peripherals, but one <em>&lt;cpu&gt;</em> description.</li>
<li>Optional elements such as <em>&lt;size&gt;</em>, <em>&lt;access&gt;</em>, or <em>&lt;resetValue&gt;</em> defined on this level represent default values for registers and can be refined at lower levels.</li>
</ul>
<p><b>Example</b> </p>
<div class="fragment"><div class="line">&lt;device schemaVersion=<span class="stringliteral">&quot;1.3&quot;</span> xmlns:xs=<span class="stringliteral">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span> xs:noNamespaceSchemaLocation=<span class="stringliteral">&quot;CMSIS-SVD.xsd&quot;</span>&gt;</div>
<div class="line">  &lt;vendor&gt;ARM Ltd.&lt;/vendor&gt;</div>
<div class="line">  &lt;vendorID&gt;ARM&lt;/vendorID&gt;</div>
<div class="line">  &lt;name&gt;ARM_Cortex_M4&lt;/name&gt;</div>
<div class="line">  &lt;series&gt;ARMCM4&lt;/series&gt;</div>
<div class="line">  &lt;version&gt;0.1&lt;/version&gt;</div>
<div class="line">  &lt;description&gt;Arm Cortex-M4 based Microcontroller demonstration device&lt;/description&gt;</div>
<div class="line">  &lt;licenseText&gt;</div>
<div class="line">    Arm Limited (Arm) is supplying this software for use with Cortex-M \n</div>
<div class="line">    processor based microcontrollers.  This file can be freely distributed \n</div>
<div class="line">    within development tools that are supporting such Arm based processors. \n</div>
<div class="line">    \n</div>
<div class="line">    THIS SOFTWARE IS PROVIDED &quot;AS IS&quot;.  NO WARRANTIES, WHETHER EXPRESS, IMPLIED \n</div>
<div class="line">    OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF \n</div>
<div class="line">    MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. \n</div>
<div class="line">    ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR \n</div>
<div class="line">    CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.</div>
<div class="line">  &lt;/licenseText&gt;</div>
<div class="line">  ...</div>
<div class="line">  &lt;headerSystemFilename&gt;system_ARMCM4&lt;/headeSystemFilename&gt;</div>
<div class="line">  &lt;headerDefinitionsPrefix&gt;ARM_&lt;/headerDefinitionsPrefix&gt;</div>
<div class="line">  &lt;addressUnitBits&gt;8&lt;/addressUnitBits&gt;</div>
<div class="line">  &lt;width&gt;32&lt;/width&gt;</div>
<div class="line">  &lt;size&gt;32&lt;/size&gt;</div>
<div class="line">  &lt;access&gt;read-write&lt;/access&gt;</div>
<div class="line">  &lt;resetValue&gt;0&lt;/resetValue&gt;</div>
<div class="line">  &lt;resetMask&gt;0xffffffff&lt;/resetMask&gt;</div>
<div class="line">  &lt;peripherals&gt;</div>
<div class="line">    ...</div>
<div class="line">  &lt;/peripherals&gt;</div>
<div class="line">&lt;/device&gt;</div>
</div><!-- fragment --><p>This example describes a device from the vendor <span class="XML-Token">ARM Ltd.</span> using <span class="XML-Token">ARM</span> as short name. The device belongs to the device family <span class="XML-Token">ARMCM4</span>. The device description is at version <span class="XML-Token">0.1</span> and uniquely identifies the device by the name <span class="XML-Token">ARM_Cortex_M4</span>. The legal disclaimer in the header files generated from this description is captured and formatted in accordance to the standard Arm CMSIS disclaimer. The CMSIS system file included by the generated device header file is named <span class="XML-Token">system_ARMCM4.h</span> and all type definitions will be prepended with <span class="XML-Token">ARM_</span>.</p>
<p>The peripherals are memory mapped in a byte-addressable address space with a bus width of <span class="XML-Token">32</span> bits. The default size of the registers contained in the peripherals is set to <span class="XML-Token">32</span> bits. Unless redefined for specific peripherals, all registers or fields are <span class="XML-Token">read-write</span> accessible. A reset value of <span class="XML-Token">0</span>, valid for all <span class="XML-Token">32</span> bits as specified by the reset mask, is set for all registers unless redefined at a lower level.</p>
<p><a class="anchor" id="elem_device_sc"></a><b>/device</b> </p>
<table  class="cmtable" summary="Device Level Schema">
<tr>
<th>Parent Level </th><th colspan="3">Element Chain  </th></tr>
<tr>
<td>root </td><td colspan="3">None; Document root  </td></tr>
<tr>
<th>Attributes </th><th>Description </th><th>Type </th><th>Use  </th></tr>
<tr>
<td>xmlns:xs </td><td>Specify the underlying XML schema to which the CMSIS-SVD schema is compliant. Has to be set to: <span class="XML-Token">"http://www.w3.org/2001/XMLSchema-instance"</span>. </td><td>xs:decimal </td><td>required  </td></tr>
<tr>
<td>xmlns:xs </td><td>Specify the file path and file name of the CMSIS-SVD Schema. For example, <span class="XML-Token">CMSIS-SVD.xsd</span>. </td><td>xs:string </td><td>required  </td></tr>
<tr>
<td>schemaVersion </td><td>Specify the compliant CMSIS-SVD schema version (for example, <span class="XML-Token">1.1</span>). </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>vendor </td><td>Specify the vendor of the device using the full name.  </td><td>xs:string  </td><td>0..1   </td></tr>
<tr>
<td>vendorID </td><td>Specify the vendor abbreviation without spaces or special characters. This information is used to define the directory.  </td><td>xs:string  </td><td>0..1   </td></tr>
<tr>
<td>name </td><td>The string identifies the device or device series. Device names are required to be unique. </td><td>xs:string  </td><td>1..1   </td></tr>
<tr>
<td>series </td><td>Specify the name of the device series.  </td><td>xs:string  </td><td>0..1   </td></tr>
<tr>
<td>version </td><td>Define the version of the SVD file. Silicon vendors maintain the description throughout the life-cycle of the device and ensure that all updated and released copies have a unique version string. Higher numbers indicate a more recent version.   </td><td>xs:string  </td><td>1..1  </td></tr>
<tr>
<td>description  </td><td>Describe the main features of the device (for example CPU, clock frequency, peripheral overview). </td><td>xs:string  </td><td>1..1   </td></tr>
<tr>
<td>licenseText  </td><td>The text will be copied into the header section of the generated device header file and shall contain the legal disclaimer. New lines can be inserted by using <span class="XML-Token">\n</span>. This section is mandatory if the SVD file is used for generating the device header file. </td><td>xs:string  </td><td>0..1   </td></tr>
<tr>
<td><a class="el" href="elem_cpu.html">cpu</a>  </td><td>Describe the processor included in the device. </td><td>xs:string  </td><td>0..1   </td></tr>
<tr>
<td>headerSystemFilename  </td><td>Specify the file name (without extension) of the device-specific system include file (<code>system_&lt;device&gt;.h</code>; See CMSIS-Core description). The header file generator customizes the include statement referencing the CMSIS system file within the CMSIS device header file. By default, the filename is <code>system_<em>device-name</em>.h</code>. In cases where a device series shares a single system header file, the name of the series shall be used instead of the individual device name.  </td><td>xs:string  </td><td>0..1   </td></tr>
<tr>
<td>headerDefinitionsPrefix  </td><td>This string is prepended to all type definition names generated in the CMSIS-Core device header file. This is used if the vendor's software requires vendor-specific types in order to avoid name clashes with other definied types. </td><td>xs:string  </td><td>0..1   </td></tr>
<tr>
<td>addressUnitBits  </td><td>Define the number of data bits uniquely selected by each address. The value for Cortex-M-based devices is <span class="XML-Token">8</span> (byte-addressable).  </td><td>scaledNonNegativeInteger  </td><td>1..1   </td></tr>
<tr>
<td>width  </td><td>Define the number of data bit-width of the maximum single data transfer supported by the bus infrastructure. This information is relevant for debuggers when accessing registers, because it might be required to issue multiple accesses for resources of a bigger size. The expected value for Cortex-M-based devices is <span class="XML-Token">32</span>. </td><td>scaledNonNegativeInteger  </td><td>1..1   </td></tr>
<tr class="group2">
<td>&#160; </td><td colspan="3" style="white-space:pre-wrap;">Refer to <a class="el" href="elem_special.html#registerPropertiesGroup_gr">registerPropertiesGroup</a> for details about the colored elements listed below.  </td></tr>
<tr class="group2">
<td>size </td><td>Default bit-width of any register contained in the device. </td><td>scaledNonNegativeInteger </td><td>0..1  </td></tr>
<tr class="group2">
<td>access </td><td>Default access rights for all registers. </td><td>accessType </td><td>0..1   </td></tr>
<tr class="group2">
<td>protection </td><td>Default access protection for all registers. </td><td>protectionStringType </td><td>0..1   </td></tr>
<tr class="group2">
<td>resetValue  </td><td>Default value for all registers at RESET. </td><td>scaledNonNegativeInteger </td><td>0..1   </td></tr>
<tr class="group2">
<td>resetMask </td><td>Define which register bits have a defined reset value. </td><td>scaledNonNegativeInteger </td><td>0..1  </td></tr>
<tr>
<td><a class="el" href="elem_peripherals.html">peripherals</a> </td><td>Group to define peripherals.  </td><td>&#160; </td><td>1..1   </td></tr>
<tr>
<td>vendorExtensions  </td><td>The content and format of this section is unspecified. Silicon vendors may choose to provide additional information. By default, this section is ignored when constructing CMSIS files. It is up to the silicon vendor to specify a schema for this section.  </td><td>xs:anyType (restriction)  </td><td>0..1   </td></tr>
</table>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="svd_Format_pg.html">SVD Description (*.svd) Format</a></li>
    <li class="footer">Generated on Wed Jul 10 2019 15:21:05 for CMSIS-SVD Version 1.3.3 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>
