|
|
@@ -102,7 +102,8 @@ used further in other toolchains.
|
|
|
|
|
|
This documentation contains the following:
|
|
|
- \subpage zTInstall shows how to install the utility.
|
|
|
- - \subpage zTUI explains the utility's GUI.
|
|
|
+ - \subpage zTUI introduces the utility's GUI.
|
|
|
+ - \subpage zTInteractiveMode explains how to create projects and zones using the GUI.
|
|
|
- \subpage zTCLI demonstrates how to work with the command line interface.
|
|
|
- \subpage zTExamples contains pre-built demos for various devices.
|
|
|
|
|
|
@@ -142,13 +143,26 @@ project.
|
|
|
|
|
|
\section zTGUI CMSIS-Zone GUI
|
|
|
|
|
|
-The utility's GUI provides menus for selecting commands and toolbar buttons in the \b Zone \b Editor window.
|
|
|
-
|
|
|
-The picture shows the CMSIS-Zone utility with an opened .azone file, with the \b Zone tab selected:
|
|
|
+The utility's GUI provides menus for selecting commands and toolbar buttons in the \ref zTGUIZoneEditor window:
|
|
|
|
|
|
\image html GUI.png
|
|
|
|
|
|
|
|
|
+\section zTGUIZoneEditor Zone Editor
|
|
|
+
|
|
|
+The <b>Zone Editor</b> shows \c .azone files in tow different views: \b Resources and \b Zones. The \b Resources view shows
|
|
|
+all resources available to that system or sub-system. By default, it shows the selected device, as well as lists of memories
|
|
|
+and peripherals:
|
|
|
+
|
|
|
+\todo add screenshot of resources tab only here
|
|
|
+<!--\image html toBeAdded.png-->
|
|
|
+
|
|
|
+The \b Zones view shows the same resources, but mapped to zones that have been created for the device:
|
|
|
+
|
|
|
+\todo add screenshot of zones tab only here
|
|
|
+<!--\image html toBeAdded.png-->
|
|
|
+
|
|
|
+
|
|
|
\subsection zTGUIButtons Toolbar Buttons
|
|
|
|
|
|
The <b>Zone Editor</b> window contains toolbar buttons that offer direct access to functionality of the utility:
|
|
|
@@ -162,23 +176,25 @@ The <b>Zone Editor</b> window contains toolbar buttons that offer direct access
|
|
|
| Arrange memory blocks | Arranges memory blocks according to their sizes |
|
|
|
| Add new zone | Adds a new zone to the zone map |
|
|
|
| Generate | Generates CMSIS-Zone output files |
|
|
|
+*/
|
|
|
|
|
|
-\section zTUICreateProject Create a CMSIS-Zone Project
|
|
|
-
|
|
|
-Currently, the flow is not complete. Please use one of the pre-built \ref zTExamples instead.
|
|
|
|
|
|
+/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/
|
|
|
+/**
|
|
|
+\page zTInteractiveMode Interactive Mode
|
|
|
|
|
|
-\section zTUIResources Memory and Peripheral Resources
|
|
|
+In the \b Interactive \b Mode, you can use the GUI to
|
|
|
+ - \ref zTUICreateProject "create new projects"
|
|
|
+ - \ref zTUIPatitioning "create zones"
|
|
|
+ - \ref zTUIGenerate "generate" the relevant output.
|
|
|
|
|
|
-The azone file has two tabs: \b Resources and \b Zones. The \b Resources tab shows all resources available to that system or
|
|
|
-sub-system. The default view shows lists of memories, and peripherals. It also displays the available processor cores:
|
|
|
|
|
|
-\image html MyProjAZoneOpen.png
|
|
|
+\section zTUICreateProject Create a CMSIS-Zone Project
|
|
|
|
|
|
-We will revisit this view after we have created some zones in the next step.
|
|
|
+Currently, the flow is not complete. Please use one of the pre-built \ref zTExamples instead.
|
|
|
|
|
|
|
|
|
-\section zTUIPatitioning Zone Partitioning
|
|
|
+\section zTUIPatitioning Create Zones
|
|
|
|
|
|
To split a multi-processor system into single-processor sub-systems, you need to create new zones. Switch to the \b Zones tab
|
|
|
and click the <b>Add new zone</b> button:
|
|
|
@@ -201,7 +217,7 @@ Next, create an additional zone called "CM33_1", attached to processor core 1, w
|
|
|
\section zTAssign Assign Resources to Zones
|
|
|
|
|
|
In a first step, assign resources to both processor cores. Based on this assignment, you can later add zones to each core and
|
|
|
-assing the resources to these zones.
|
|
|
+assign the resources to these zones.
|
|
|
|
|
|
Using the check boxes in the \b Zones tab, you can assign resources to one of the processor cores or both:
|
|
|
|
|
|
@@ -211,27 +227,28 @@ Green entries show that a resource has been assigned to only one zone, while ora
|
|
|
|
|
|
Save your work.
|
|
|
|
|
|
-Next, click on the <b>Generate Code</b> button, to create separate rzone and azone files for the two processors. We need
|
|
|
-them to further separate the zones.
|
|
|
-
|
|
|
|
|
|
\section zTUIGenerate Generate output
|
|
|
|
|
|
+Next, click on the <b>Generate Code</b> button, to create separate \c .rzone and \c .azone files for the two processors. We
|
|
|
+need them to further separate the zones.
|
|
|
+
|
|
|
+
|
|
|
In Eclipse's Project Explorer, expand <b>MyProject - CM33_0</b> and double-click \c CM33_0.azone. The file opens in the
|
|
|
<b>CMSIS-Zone Editor</b>. You now only see the resources that are assigned to this processor:
|
|
|
|
|
|
\image html CM33_0Azone.png
|
|
|
|
|
|
-Create the following:
|
|
|
+Now, you can refine the system partitioning by creating additional zones that contain security related settings, for example:
|
|
|
- A zone called "Secure", with the security setting "Secure".
|
|
|
- A zone called "Non-Secure", with the security setting "Non-Secure".
|
|
|
|
|
|
\note
|
|
|
|
|
|
-As we are now working with the first instance of the Cortex-M33 processor exclusively, you won't be able to assign these
|
|
|
-zones to the second processor instance anymore.
|
|
|
+Adding zones only works for the currently opened \c .azone file. To assign such zones to the second processor instance, open
|
|
|
+the \c CM33_1.azone file.
|
|
|
|
|
|
-In the next section, we will divide the memory blocks and assign them to these different zones.
|
|
|
+The next section explains how to divide memory blocks into smaller chunks and how assign them to different zones.
|
|
|
|
|
|
|
|
|
\section zTAddMemoryBlock Add a Memory Block
|
|
|
@@ -252,6 +269,9 @@ new block only to certain zones. For example, secure memory blocks cannot be ass
|
|
|
checkbox for the assignment is missing:
|
|
|
|
|
|
\image html IRAM1_1Display.png
|
|
|
+
|
|
|
+Use this flow to partition the project as required by the system design. When done, \ref zTUIGenerate "generate" the output
|
|
|
+files and continue in your toolchain of choice.
|
|
|
*/
|
|
|
|
|
|
|
|
|
@@ -261,46 +281,20 @@ checkbox for the assignment is missing:
|
|
|
|
|
|
The CMSIS-Zone plug-ins provide a headless mode to generate the FTL model and process templates. The command line is:
|
|
|
|
|
|
-<tt>eclipsec.exe -noSplash -application com.arm.cmsis.zone.ui.headlessgen -azone FILENME.azone -ftl FTL_DIR -ftl_gen FTL_GEN_DIR</tt>
|
|
|
+<tt>eclipsec.exe -noSplash -consoleLog --launcher.suppressErrors -application com.arm.cmsis.zone.ui.headlessgen -azone FILENME.azone -ftl FTL_DIR -ftl_gen FTL_GEN_DIR</tt>
|
|
|
|
|
|
\b Where
|
|
|
-<table>
|
|
|
- <tr>
|
|
|
- <th>Parameter</th>
|
|
|
- <th>Description</th>
|
|
|
- <th>Required</th>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td>\c -noSplash</td>
|
|
|
- <td>Suppresses Eclipse's splash screen</td>
|
|
|
- <td>[required]</td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td><tt>-application com.arm.cmsis.zone.ui.headlessgen</tt></td>
|
|
|
- <td>Specifies the plug-in to be called</td>
|
|
|
- <td>[required]</td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td><tt>-azone FILNAME.azone</tt></td>
|
|
|
- <td>Specifies the .azone file to be processed</td>
|
|
|
- <td>[required]</td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td><tt>-ftl FTL_DIR</tt></td>
|
|
|
- <td>Relative or absolute directory with templates to process</td>
|
|
|
- <td>[optional - by default, "ftl" directory under the azone's file path is used]</td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td><tt>-ftl_gen FTL_GEN_DIR</tt></td>
|
|
|
- <td>Relative or absolute output directory to write generated files</td>
|
|
|
- <td>[optional - by default, "ft_gen" directory under the azone's file path is used]</td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td><tt>-help</tt></td>
|
|
|
- <td>Shows command line parameter information</td>
|
|
|
- <td>[optional]</td>
|
|
|
- </tr>
|
|
|
-</table>
|
|
|
+
|
|
|
+| Parameter | Description | Required |
|
|
|
+|-----------|-------------|----------|
|
|
|
+| <tt>-noSplash</tt> | Suppresses Eclipse's splash screen | [required] |
|
|
|
+| <tt>-launcher.suppressErrors</tt> | Suppresses error dialog | [optional] |
|
|
|
+| <tt>-consoleLog</tt> | Suppresses diagnostic messages | [optional] |
|
|
|
+| <tt>-application com.arm.cmsis.zone.ui.headlessgen</tt> | Specifies the plug-in to be called | [required] |
|
|
|
+| <tt>-azone FILNAME.azone</tt> | Specifies the .azone file to be processed | [required] |
|
|
|
+| <tt>-ftl FTL_DIR</tt> | Relative or absolute directory with templates to process | [optional - by default, \c ftl directory under the azone's file path is used] |
|
|
|
+| <tt>-ftl_gen FTL_GEN_DIR</tt> | Relative or absolute output directory to write generated files | [optional - by default, \c ftl_gen directory under the azone's file path is used] |
|
|
|
+| <tt>-help</tt> | Shows command line parameter information | [optional] |
|
|
|
|
|
|
\b Examples
|
|
|
\code
|