<!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>Memory and Peripheral Resources</title>
<title>CMSIS-Zone (Preview): Memory and Peripheral Resources</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('zTUIMemPerRes.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">Memory and Peripheral Resources </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>The available memory can be further divided into <a class="el" href="zTUIMemPerRes.html#zTUIMemAdd">smaller regions</a> that are later assigned to zones, for example a zone for loader and zone for application.</p>
<p>For memory and peripherals <a class="el" href="zTUIMemPerRes.html#zTUIPerProp">properties</a> such as access permission, privilege, and security level can be configured. These settings can be for example used to generate source code files that configure the device at run-time.</p>
<h1><a class="anchor" id="zTUIMemView"></a>
View memory and peripheral resources</h1>
<p>Initially, this uses the information in the *.rzone file which defines the generic access permissions for memory and peripherals. The CMSIS-Zone Editor shows the <b>Resource</b> <b>Map</b> of the given device:</p>
<div class="image">
<img src="lpc55_resource_map.png" alt="lpc55_resource_map.png"/>
</div>
<p>Here, you can see all resources that are available on the device.You see <b>Memory</b>, <b>Peripherals</b>, <b>Cores</b>, and <b>Info</b> related to the resources. <a class="el" href="zTUI.html#zTGUIZoneEditor">Colored resources</a> are assigned to a zone.</p>
<h1><a class="anchor" id="zTUIMemAdd"></a>
Create Memory Regions</h1>
<p>To create a new memory region, right-click on the memory that you want to divide and select <b>Add memory region</b>:</p>
<div class="image">
<img src="AddMemoryBlock.png" alt="AddMemoryBlock.png"/>
</div>
<p>In the dialog a name derived from the parent memory region is provided. Change this region name as needed and specify the size. In this dialog, you change permissions, privilege, or security level for the memory region. When done, click <b>Finish:</b> </p>
<div class="image">
<img src="NewMemoryBlockWiz.png" alt="NewMemoryBlockWiz.png"/>
</div>
<p>The new memory region is immediately shown in the zone map. Depending on the security level, you may be able to assign this new region only to certain zones. For example, secure memory regions cannot be assigned to a non-secure zone.</p>
<div class="image">
<img src="IRAM1_1Display.png" alt="IRAM1_1Display.png"/>
</div>
<p>The information about the memory regions is stored in the <a class="el" href="xml_partition.html#xml_amemory">/azone/partition/memory element</a> element of the *.azone file.</p>
<h1><a class="anchor" id="zTUIMemDel"></a>
Delete Memory Regions</h1>
<p>To delete a memory region, right-click on the memory region select <b>Delete memory region</b>:</p>
<div class="image">
<img src="DelMemoryRegion.png" alt="DelMemoryRegion.png"/>
</div>
<h1><a class="anchor" id="zTUIPerProp"></a>
Resource Properties</h1>
<p>To change the properties of a resource, such as a peripheral for example, right-click the resource and select <b>Properties:</b> </p>
<div class="image">
<img src="res_prop.png" alt="res_prop.png"/>
</div>
<p>Then, you can set these properties:</p>
<div class="image">
<img src="peripheral_properties.png" alt="peripheral_properties.png"/>
</div>
<p><b>General</b> </p>
<ul>
<li><code>Shared:</code> the resource can be accessed by more than one zone</li>
<li><code>Startup:</code> locate the vector table to this region</li>
<li><code>No</code> zero init: preserve RAM content at startup</li>
<li><code>DMA:</code> enable direct memory access</li>
</ul>
<p><b>Permissions</b> </p>
<ul>
<li><code>peripheral:</code> mark this as a peripheral</li>
<li><code>read</code> </li>
<li><code>write</code> </li>
<li><code>execute</code> </li>
</ul>
<p><b>Privilege</b> </p>
<ul>
<li><code>not</code> specified</li>
<li><code>privileged</code> </li>
<li><code>unprivileged</code> </li>
</ul>
<p><b>Security</b> </p>
<ul>
<li><code>not</code> specified</li>
<li><code>non-secure</code> </li>
<li><code>non-secure</code> callable</li>
<li><code>secure</code> </li>
</ul>
<p>The information about the peripherals is stored in the <a class="el" href="xml_partition.html#xml_aperipheral">/azone/partition/peripheral element</a> element of the *.azone file.</p>
<h1><a class="anchor" id="zTUIPerSlotConf"></a>
Configure peripheral slot access rights</h1>
<p>Peripherals can have so called slots that can be configured separately. Depending on the peripheral, the slots have different names in the Zone Editor. For example, for DMA they are called <b>Channels:</b> </p>
<div class="image">
<img src="dma_channel_config.png" alt="dma_channel_config.png"/>
</div>
<p>For GPIOs, they are called <b>Pins:</b> </p>
<div class="image">
<img src="gpio_pins_config.png" alt="gpio_pins_config.png"/>
</div>
<p>In the dialog, you can set security and privilege levels:</p>
<div class="image">
<img src="dma_gpio_config.png" alt="dma_gpio_config.png"/>
</div>
<p>The information about the slots is stored in the <a class="el" href="xml_partition.html#xml_aslot">/azone/partition/peripheral/slot element</a> element of the *.azone file. </p>
</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="zoneToolUsage.html">CMSIS-Zone Utility</a></li><li class="navelem"><a class="el" href="zTInteractiveMode.html">Interactive Mode</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>
