<!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>Zone Description Format</title>
<title>CMSIS-Zone (Preview): Zone Description Format</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.0.1</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_Format.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">Zone Description Format </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>The <b>Zone Description Format</b> uses standard XML annotations and is defined in the schema file <b>ZONE.xsd</b>. It is intended to provide a tool vendor agnostic storage format for</p>
<ul>
<li>describing embedded system resource capabilities<ul>
<li>specific <a class="el" href="format_device.html">device</a> and <a class="el" href="format_processor.html">processor</a> properties</li>
<li>available <a class="el" href="format_memory.html">memory</a> and <a class="el" href="format_peripheral.html">peripheral</a> resources</li>
</ul>
</li>
<li>specifying resource partitioning across<ul>
<li><a class="el" href="format_pzone.html">project zones</a>, e.g. for secure and non-secure firmware parts</li>
<li><a class="el" href="format_xzone.html">execution zones</a>, e.g. for functional segregation</li>
</ul>
</li>
</ul>
<h1><a class="anchor" id="XML_Format_Model"></a>
Storage Data Model</h1>
<p>In the following diagram the overall structure of the <b>Storage Data Model</b> is depicted. The <a class="el" href="XML_Format.html#XML_Format_Schema">storage format</a> is derived from the model.</p>
<div class="image">
<img src="storagemodel.png" alt="storagemodel.png"/>
<div class="caption">
Storage Data Model Class Diagram</div></div>
<p> The storage model is developed based on the domain and can be seen as the domain model as well. Its main purpose is to capture all information about presumable embedded systems and microcontroller devices.</p>
<h2><a class="anchor" id="XML_Format_Model_Decomp"></a>
Embedded Microcontroller System Decomposition</h2>
<p>Todays available system-on-modules (SoM) and system-on-chips (SoC) already physically outlines the overall composition. It seems to be viable to stick with todays system structures. It's not likely that this structure will change drastically.</p>
<p>A detailed view on the decomposition of an arbitrary SoM is given in the diagram below.</p>
<div class="image">
<img src="som-decomposition.png" alt="som-decomposition.png"/>
<div class="caption">
System-on-Module Decomposition</div></div>
<p> The SoM itself (System) can be seen as a composition of one or more SoCs (Device) combined with an arbitrary amount of board-level resources, i.e. off-chip memory (Memory) and peripheral (Peripheral). In turn each SoC is a composition of one or more processor elements (Processor, PE) with chip-level resources, i.e. on-chip memory and peripheral.</p>
<p>Private memory and peripheral resources local to a dedicated PE has been simplified. These can also be seen as chip-level resources.</p>
<p>The grouping (ResourceGroup) is intended to allow structural grouping of resources elements, i.e. by type or bus structure.</p>
<dl class="section note"><dt>Note</dt><dd>The names (i.e. <code>name</code> attributes) are typically used as references and hence must be unique per class. Duplicate names are allowed if object hierarchies do not overlap. I.e. resources contained on two separate SoCs may have the same name but the name of a SoM level resource must not be reused on SoC level.</dd></dl>
<h2><a class="anchor" id="XML_Format_Model_MemMap"></a>
Microcontroller Memory Map Specification</h2>
<p>Most of the Multi-Core-SoCs available today show uniform memory maps. But in principle the logical memory address used to address a certain resource may vary between multiple PEs on the same SoC. Taking this into account leads to memory map specification on both SoC and PE level, see diagram below.</p>
<div class="image">
<img src="soc-memorymap.png" alt="soc-memorymap.png"/>
<div class="caption">
System-on-Chip Memory Map Specification</div></div>
<p> The memory maps specified on SoC and PE level are additive, i.e. the PEs actual memory map is the combination of both. This split allow the specification of uniform memory maps without duplication. Only the non-uniform parts need to be specified on PE level.</p>
<p>Each resource can be mapped as often as needed, i.e. to reflect multiple memory aliases. By default the <code>name</code> attribute is used to identify the resource to be mapped. In order to map the same resource multiple times into a PEs memory space the <code>alias</code> attribute must be given to identify the resource instead. The mapping names must be unique per PE because they are used as references later.</p>
<p>The attributes of the mapping are merged with those of the resource mapped. This allows the mapping of an individual PE to enhance the basic attributes of a resource. For example a memory resource that is basically readable/writeable/executable might be mapped to a PE as readonly memory.</p>
<h2><a class="anchor" id="XML_Format_Model_Assign"></a>
Zone Resource Assignments</h2>
<p>A system can be split into an arbitrary amount of project zones (PZone). And each PZone can be further split into execution zones (XZone). Resources used by an individual zone are represented using assignments (Assignment). Refer to the diagram below.</p>
<div class="image">
<img src="zone-assignment.png" alt="zone-assignment.png"/>
<div class="caption">
Zone Resource Assignments</div></div>
<p> Each PZone is assigned to a dedicated PE which is selected to execute the resulting software part. The PE is referenced by the unique combination of <code>Dname</code> and <code>Pname</code> attributes. The XZones are contained in the PZone they belong to.</p>
<p>Both PZones and XZones can have arbitrary assignments to available resources visible to the assigned PE. Assignments to SoC level resources not part of the SoC the PE is located on are illegal. Such assignments cannot be represented because the unique reference is built from <code>PZone::Dname</code> and <code>Assignment::name</code>.</p>
<p>As a resource may be visible to the enclosing PE using multiple mappings the <code>as</code> attribute can be used to distinguish which alias is used for access. Selecting the correct alias is significant because of the effective access attributes resulting from merging <code>Resource.access</code>, <code>MemoryMapping.access</code>/<code>PeripheralMapping.access</code> and <code>Assignment.access</code>.</p>
<p>Whilst peripheral resources can be assigned directly memory resources need to be split into blocks (MemoryBlock). A block can be seen as an arbitrary part of the physical memory. Individual blocks can be defined using modified access attributes, e.g. for having dedicated executable or readonly regions in RAM.</p>
<h1><a class="anchor" id="XML_Format_Schema"></a>
Zone Schema</h1>
<p>The XML schema is defined hierarchically with the following top-level elements:</p>
<p><a class="el" href="format_system.html">/system element</a></p>
<ul>
<li><a class="el" href="format_device.html">/device element</a></li>
<li><a class="el" href="format_resources.html">/resources element</a></li>
<li><a class="el" href="format_zones.html">/zones element</a></li>
</ul>
<div class="fragment"><div class="line">&lt;system&gt;</div>
<div class="line">  </div>
<div class="line">  &lt;device&gt;</div>
<div class="line">  </div>
<div class="line">    &lt;processor&gt;</div>
<div class="line">      &lt;memory_map&gt;</div>
<div class="line">        &lt;memory/&gt;</div>
<div class="line">        &lt;peripheral/&gt;</div>
<div class="line">      &lt;/memory_map&gt;</div>
<div class="line">    &lt;/processor&gt;</div>
<div class="line">    </div>
<div class="line">    &lt;memory_map&gt;</div>
<div class="line">      &lt;memory/&gt;</div>
<div class="line">      &lt;peripheral/&gt;</div>
<div class="line">    &lt;/memory_map&gt;</div>
<div class="line">  </div>
<div class="line">    &lt;resources&gt;</div>
<div class="line">    </div>
<div class="line">      &lt;memory&gt;</div>
<div class="line">        &lt;region&gt;</div>
<div class="line">          &lt;block/&gt;</div>
<div class="line">        &lt;/region&gt;</div>
<div class="line">      &lt;/memory&gt;</div>
<div class="line">      </div>
<div class="line">      &lt;peripherals&gt;</div>
<div class="line">        &lt;peripheral/&gt;</div>
<div class="line">      &lt;/peripherals&gt;</div>
<div class="line">      </div>
<div class="line">    &lt;/resources&gt;</div>
<div class="line">    </div>
<div class="line">  &lt;/device&gt;</div>
<div class="line">  </div>
<div class="line">  &lt;resources&gt;</div>
<div class="line">  </div>
<div class="line">    &lt;memory&gt;</div>
<div class="line">      &lt;region&gt;</div>
<div class="line">        &lt;block/&gt;</div>
<div class="line">      &lt;/region&gt;</div>
<div class="line">    &lt;/memory&gt;</div>
<div class="line">    </div>
<div class="line">    &lt;peripherals&gt;</div>
<div class="line">      &lt;peripheral/&gt;</div>
<div class="line">    &lt;/peripherals&gt;</div>
<div class="line">    </div>
<div class="line">  &lt;/resources&gt;</div>
<div class="line">  </div>
<div class="line">  &lt;zones&gt;</div>
<div class="line">    &lt;pzone&gt;</div>
<div class="line">      &lt;assign&gt;</div>
<div class="line">        &lt;capture/&gt;</div>
<div class="line">      &lt;/assign&gt;</div>
<div class="line">      </div>
<div class="line">      &lt;xzone&gt;</div>
<div class="line">        &lt;assign/&gt;</div>
<div class="line">      &lt;/xzone&gt;</div>
<div class="line">      </div>
<div class="line">    &lt;/pzone&gt;</div>
<div class="line">  &lt;/zones&gt;</div>
<div class="line">  </div>
<div class="line">&lt;/system&gt;</div>
</div><!-- fragment --><h1><a class="anchor" id="Example"></a>
Example</h1>
</div></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 Wed Aug 1 2018 17:12:47 for CMSIS-Zone (Preview) 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>
