<!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>/azone/partition element</title>
<title>CMSIS-Zone (Preview): /azone/partition 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-Zone (Preview)
   &#160;<span id="projectnumber">Version 0.9.2</span>
   </div>
   <div id="projectbrief">System Resource Management</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('xml_partition.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>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><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">/azone/partition element </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>The <a class="el" href="xml_partition.html">/azone/partition element</a> contains a list of memory partitions that are created with the CMSIS-Zone utility. These memory partitions are based on parent memory definitions specified by <a class="el" href="xml_memories.html">/rzone/resources/memories element</a>.</p>
<p><b>Example</b> </p>
<div class="fragment"><div class="line">&lt;partition&gt;</div>
<div class="line">  &lt;memory parent=<span class="stringliteral">&quot;Flash_NS&quot;</span> name=<span class="stringliteral">&quot;ROM_NS&quot;</span> offset=<span class="stringliteral">&quot;0x00000000&quot;</span> size=<span class="stringliteral">&quot;0x40000&quot;</span> fixed=<span class="stringliteral">&quot;1&quot;</span> access=<span class="stringliteral">&quot;rx&quot;</span> info=<span class="stringliteral">&quot;application code&quot;</span> /&gt;</div>
<div class="line">  &lt;memory parent=<span class="stringliteral">&quot;Flash_S&quot;</span>  name=<span class="stringliteral">&quot;ROM_S&quot;</span>  offset=<span class="stringliteral">&quot;0x00040000&quot;</span> size=<span class="stringliteral">&quot;0x40000&quot;</span> access=<span class="stringliteral">&quot;x&quot;</span>  info=<span class="stringliteral">&quot;boot code /&gt;</span></div>
<div class="line"><span class="stringliteral">  &lt;memory parent=&quot;</span>SRAM1_NS<span class="stringliteral">&quot; name=&quot;</span>RAM_NS<span class="stringliteral">&quot; offset=&quot;</span>0x00000000<span class="stringliteral">&quot; size=&quot;</span>0x20000<span class="stringliteral">&quot; /&gt;</span></div>
<div class="line"><span class="stringliteral">  &lt;memory parent=&quot;</span>SRAM1_S<span class="stringliteral">&quot;  name=&quot;</span>RAM_S<span class="stringliteral">&quot;  offset=&quot;</span>0x00010000<span class="stringliteral">&quot; size=&quot;</span>0x20000<span class="stringliteral">&quot; /&gt;</span></div>
<div class="line"><span class="stringliteral">&lt;/partition&gt;</span></div>
</div><!-- fragment --><p> &#160;</p>
<table  class="cmtable" summary="Element: partition">
<tr>
<th>Parent Element </th><th colspan="3">Element Chain  </th></tr>
<tr>
<td><a class="el" href="xml_azone_pg.html">azone</a> </td><td colspan="3"><a class="el" href="xml_azone_pg.html">/azone element</a>  </td></tr>
<tr>
<th>Child Elements </th><th>Description </th><th>Type </th><th>Occurrence  </th></tr>
<tr>
<td><a class="el" href="xml_partition.html#xml_amemory">memory</a> </td><td>Defines a new memory sub-region that is related to a parent region in the *.rzone file. </td><td>complexType </td><td>0..*  </td></tr>
<tr>
<td><a class="el" href="xml_partition.html#xml_aperipheral">peripheral</a> </td><td>Defines a settings for a peripheral. </td><td>complexType </td><td>0..*  </td></tr>
</table>
<h1><a class="anchor" id="xml_amemory"></a>
/azone/partition/memory element</h1>
<p>The <a class="el" href="xml_partition.html#xml_amemory">/azone/partition/memory element</a> defines a new memory sub-region that is related to a parent region in the *.rzone file.</p>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000001">Todo:</a></b></dt><dd>this needs verification</dd></dl>
<table  class="cmtable" summary="Element: memory">
<tr>
<th>Parent Element </th><th colspan="3">Element Chain  </th></tr>
<tr>
<td><a class="el" href="xml_partition.html">partition</a> </td><td colspan="3"><a class="el" href="xml_partition.html">/azone/partition element</a>  </td></tr>
<tr>
<th>Attributes </th><th>Description </th><th>Type </th><th>Use  </th></tr>
<tr>
<td>parent </td><td>The name of the parent region in the related *.rzone file. </td><td>xs:string </td><td>required  </td></tr>
<tr>
<td>name </td><td>The name of a new memory partition. </td><td>xs:string </td><td>required  </td></tr>
<tr>
<td>size </td><td>The physical memory size this block allocates. </td><td>xs:string </td><td>required  </td></tr>
<tr>
<td>offset </td><td>The address offset of this memory partition. If fixed="1" the memory block cannot be re-ordered within the region. </td><td>xs:string </td><td>required  </td></tr>
<tr>
<td>access </td><td><a class="el" href="zoneFormat.html#access">Access</a> permissions for this memory block. </td><td><a class="el" href="zoneFormat.html#access">AccessType</a> </td><td>optional  </td></tr>
<tr>
<td>security </td><td><a class="el" href="zoneFormat.html#security">Security</a> attributes for this memory block. </td><td><a class="el" href="zoneFormat.html#security">SecurityType</a> </td><td>optional  </td></tr>
<tr>
<td>privilege </td><td><a class="el" href="zoneFormat.html#privilege">Privilege level</a> for this memory block. </td><td><a class="el" href="zoneFormat.html#privilege">PrivilegeType</a> </td><td>optional  </td></tr>
<tr>
<td>startup </td><td>"1" specifies that this region is used for the startup code of the application. Default value is "0". </td><td>xs:boolean </td><td>optional  </td></tr>
<tr>
<td>fixed </td><td>"1" indicates a fixed offset within that region. "0" (default) allows to re-arrange the block within the region. </td><td>xs:boolean </td><td>optional  </td></tr>
<tr>
<td>uninit </td><td>"1" specifies that this region is not zero initialized during startup. Default value is "0". </td><td>xs:boolean </td><td>optional  </td></tr>
<tr>
<td>shared </td><td>"1" specifies that this region is used by multiple zones. Default value is "0". </td><td>xs:boolean </td><td>optional  </td></tr>
<tr>
<td>dma </td><td>"1" specifies that this region is accessed by a DMA controller. Default value is "0". </td><td>xs:boolean </td><td>optional  </td></tr>
<tr>
<td>Pname </td><td>The processor that can access this memory region. If omitted all processors of the system have access. </td><td>xs:string </td><td>optional  </td></tr>
<tr>
<td>info </td><td>Brief description of the memory block. </td><td>xs:string </td><td>optional  </td></tr>
</table>
<h1><a class="anchor" id="xml_aperipheral"></a>
/azone/partition/peripheral element</h1>
<p>The <a class="el" href="xml_partition.html#xml_aperipheral">/azone/partition/peripheral element</a> defines settings for a peripheral in a related *.rzone file.</p>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000002">Todo:</a></b></dt><dd>this needs verification</dd></dl>
<table  class="cmtable" summary="Element: peripheral">
<tr>
<th>Parent Element </th><th colspan="3">Element Chain  </th></tr>
<tr>
<td><a class="el" href="xml_partition.html">partition</a> </td><td colspan="3"><a class="el" href="xml_partition.html">/azone/partition element</a>  </td></tr>
<tr>
<th>Attributes </th><th>Description </th><th>Type </th><th>Use  </th></tr>
<tr>
<td>name </td><td>The name of the peripheral. The combination group / name must be be unique within a processor (specified by Pname). </td><td>xs:string </td><td>required  </td></tr>
<tr>
<td>group </td><td>The group name of the peripheral. The combination group / name must be be unique within a processor (specified by Pname). </td><td>xs:string </td><td>required  </td></tr>
<tr>
<td>start </td><td>The logical start address of the peripheral in both secure and non-secure mode. </td><td>xs:string </td><td>optional  </td></tr>
<tr>
<td>start_s </td><td>The logical start address of the peripheral in secure mode. </td><td>xs:string </td><td>optional  </td></tr>
<tr>
<td>start_ns </td><td>The logical start address of the peripheral in non-secure mode. </td><td>xs:string </td><td>optional  </td></tr>
<tr>
<td>shared </td><td>"1" specifies that this peripheral group is used by multiple zones. Default value is "0". </td><td>xs:boolean </td><td>optional  </td></tr>
<tr>
<td>dma </td><td>"1" specifies that this peripheral group is accessed by a DMA controller. Default value is "0". </td><td>xs:boolean </td><td>optional  </td></tr>
<tr>
<td>external </td><td>"1" specifies that this peripheral is provided by an external component that is not part of the device. Default value is "0". </td><td>xs:boolean </td><td>optional  </td></tr>
<tr>
<td>access </td><td><a class="el" href="zoneFormat.html#access">Access</a> permissions for this peripheral. </td><td><a class="el" href="zoneFormat.html#access">AccessType</a> </td><td>optional  </td></tr>
<tr>
<td>security </td><td><a class="el" href="zoneFormat.html#security">Security</a> attributes for this peripheral. </td><td><a class="el" href="zoneFormat.html#security">SecurityType</a> </td><td>optional  </td></tr>
<tr>
<td>privilege </td><td><a class="el" href="zoneFormat.html#privilege">Privilege level</a> for this peripheral. </td><td><a class="el" href="zoneFormat.html#privilege">PrivilegeType</a> </td><td>optional  </td></tr>
<tr>
<th>Child Elements </th><th>Description </th><th>Type </th><th>Occurrence  </th></tr>
<tr>
<td><a class="el" href="xml_partition.html#xml_aslot">slot</a> </td><td>Defines a settings for a slot. </td><td>complexType </td><td>0..*  </td></tr>
</table>
<h1><a class="anchor" id="xml_aslot"></a>
/azone/partition/peripheral/slot element</h1>
<p>The <a class="el" href="xml_partition.html#xml_aslot">/azone/partition/peripheral/slot element</a> defines settings for a slot in a related *.rzone file.</p>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000003">Todo:</a></b></dt><dd>this needs verification</dd></dl>
<table  class="cmtable" summary="Element: slot">
<tr>
<th>Parent Element </th><th colspan="3">Element Chain  </th></tr>
<tr>
<td><a class="el" href="xml_partition.html#xml_aperipheral">peripheral</a> </td><td colspan="3"><a class="el" href="xml_partition.html#xml_aperipheral">/azone/partition/peripheral element</a>  </td></tr>
<tr>
<th>Attributes </th><th>Description </th><th>Type </th><th>Use  </th></tr>
<tr>
<td>name </td><td>The name of the slot. The combination group / peripheral / name must be be unique within a processor (specified by Pname). </td><td>xs:string </td><td>required  </td></tr>
<tr>
<td>secure </td><td>Overwrites the setting of the secure attribute in the *.rzone file. </td><td>xs:boolean </td><td>optional  </td></tr>
<tr>
<td>privilege </td><td>Overwrites the setting of the privilege attribute in the *.rzone file. </td><td>xs:boolean </td><td>optional  </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="zoneFormat.html">Zone Description Format</a></li><li class="navelem"><a class="el" href="xml_azone_pg.html">/azone element</a></li>
    <li class="footer">Generated on Wed Jul 10 2019 15:21:06 for CMSIS-Zone (Preview) Version 0.9.2 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>
