|
|
@@ -127,7 +127,7 @@ information. Go to <b>Window - Preferences</b> and select <b>CMSIS Packs</b>:
|
|
|
|
|
|
\image html CMSISPacksPreferences.png
|
|
|
|
|
|
-Browse to your pack root folder, usually C:\\users\\username\\AppData\\Local\\Arm\\Packs. Click <b>Apply and Close</b>.
|
|
|
+Browse to your pack root folder, usually \c C:\\users\\username\\AppData\\Local\\Arm\\Packs. Click <b>Apply and Close</b>.
|
|
|
|
|
|
This concludes the installation and setup of the Eclipse environment.
|
|
|
*/
|
|
|
@@ -148,11 +148,19 @@ The utility's GUI provides menus for selecting commands and toolbar buttons in t
|
|
|
\image html GUI.png
|
|
|
|
|
|
|
|
|
+\section zTProjEx Project Explorer
|
|
|
+
|
|
|
+Projects that are currently available in the Eclipse workspace are shown in the <b>Project Explorer</b>. When creating a new
|
|
|
+project, you will first find the \ref rzone ".rzone" and the \ref azone ".azone" files here. Later, generator files and
|
|
|
+generated files are shown as well.
|
|
|
+
|
|
|
+\todo explain .fzone, ftl files
|
|
|
+
|
|
|
\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:
|
|
|
+The <b>Zone Editor</b> shows \ref azone ".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-->
|
|
|
@@ -183,7 +191,7 @@ The <b>Zone Editor</b> window contains toolbar buttons that offer direct access
|
|
|
/**
|
|
|
\page zTInteractiveMode Interactive Mode
|
|
|
|
|
|
-In the \b Interactive \b Mode, you can use the GUI to
|
|
|
+In the \b Interactive \b Mode, use the GUI to
|
|
|
- \ref zTUICreateProject "create new projects"
|
|
|
- \ref zTUIPatitioning "create zones"
|
|
|
- \ref zTUIGenerate "generate" the relevant output.
|
|
|
@@ -191,7 +199,13 @@ In the \b Interactive \b Mode, you can use the GUI to
|
|
|
|
|
|
\section zTUICreateProject Create a CMSIS-Zone Project
|
|
|
|
|
|
-Currently, the flow is not complete. Please use one of the pre-built \ref zTExamples instead.
|
|
|
+Currently, the flow is not complete. Please use one of the pre-built \ref zTExamples instead:
|
|
|
+- The \ref zTEMusca example shows the configuration of a multi-processor system with two Arm Cortex-M33 cores. Both cores
|
|
|
+ offer TrustZone for Armv8-M and thus two zonoes (secure/non-secure) are created for each processor.
|
|
|
+- the \ref zTELPC55 example is based on a multi-processor system with two Cortex-M33 processors, where only core 0 is eanbled
|
|
|
+ with TrustZone for Armv8-M. Thus, the second core is not further divided into sub-zones.
|
|
|
+
|
|
|
+The following sections explain how the \ref zTEMusca example was created.
|
|
|
|
|
|
|
|
|
\section zTUIPatitioning Create Zones
|
|
|
@@ -202,12 +216,14 @@ and click the <b>Add new zone</b> button:
|
|
|
\image html AddNewZoneButton.png
|
|
|
|
|
|
In the new window, you need to specify a name for the zone, select the applicable core, and choose the security level
|
|
|
-(secure/non-secure). Here, we create a new zone that called "CM33_0" and is attached to processor core 0 without any security
|
|
|
-attribute (not specified):
|
|
|
+(secure/non-secure).
|
|
|
+
|
|
|
+In the \ref zTEMusca "Musca" example, a new zone called "CM33_0" was created and attached to processor core 0 without any
|
|
|
+security attribute (not specified):
|
|
|
|
|
|
\image html NewZoneCM33_0.png
|
|
|
|
|
|
-Next, create an additional zone called "CM33_1", attached to processor core 1, without security attribute.
|
|
|
+Similarly, an additional zone called "CM33_1" was created and attached to processor core 1, without security attribute.
|
|
|
|
|
|
\b Save your settings:
|
|
|
|
|
|
@@ -217,11 +233,11 @@ 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
|
|
|
-assign the resources to these zones.
|
|
|
+assign the resources available to the processor to these zones.
|
|
|
|
|
|
-Using the check boxes in the \b Zones tab, you can assign resources to one of the processor cores or both:
|
|
|
+Using the check boxes in the \b Zones tab, assign resources to one of the processor cores or both:
|
|
|
|
|
|
-\image html CoreResAsgn.png
|
|
|
+\image html CoreResAsgn.png "Resource assignment for Musca-A1"
|
|
|
|
|
|
Green entries show that a resource has been assigned to only one zone, while orange entries show assignments to both zones.
|
|
|
|
|
|
@@ -230,23 +246,26 @@ Save your work.
|
|
|
|
|
|
\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.
|
|
|
+Next, click on the <b>Generate Code</b> button:
|
|
|
+
|
|
|
+\image html GenCodeButton.png
|
|
|
|
|
|
+This step creates separate \ref rzone ".rzone" and \ref azone ".azone" files for the two processors. Use them to add zones to
|
|
|
+each processor.
|
|
|
|
|
|
-In Eclipse's Project Explorer, expand <b>MyProject - CM33_0</b> and double-click \c CM33_0.azone. The file opens in the
|
|
|
+In Eclipse's Project Explorer, expand <b>Musca-A_S_NS - 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
|
|
|
|
|
|
-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".
|
|
|
+The system partitioning was refined by creating additional zones that contain security related settings:
|
|
|
+- A zone called "CM33_0_S", with the security setting "Secure".
|
|
|
+- A zone called "CM33_0_NS", with the security setting "Non-Secure".
|
|
|
|
|
|
\note
|
|
|
|
|
|
-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.
|
|
|
+Adding zones only works for the currently opened \ref azone ".azone" file. To assign such zones to the second processor
|
|
|
+instance, open the \c CM33_1.azone file.
|
|
|
|
|
|
The next section explains how to divide memory blocks into smaller chunks and how assign them to different zones.
|
|
|
|
|
|
@@ -279,7 +298,9 @@ files and continue in your toolchain of choice.
|
|
|
/**
|
|
|
\page zTCLI Command Line Mode
|
|
|
|
|
|
-The CMSIS-Zone plug-ins provide a headless mode to generate the FTL model and process templates. The command line is:
|
|
|
+As the \c rzone and \c azone files are XML based, it is possible to create them without the usage of the CMSIS-Zone utility.
|
|
|
+If you create these files manually or using an automated process, you can use the CMSIS-Zone plug-in in a headless mode to
|
|
|
+generate the FTL model and process templates. The command line is:
|
|
|
|
|
|
<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>
|
|
|
|
|
|
@@ -287,19 +308,19 @@ The CMSIS-Zone plug-ins provide a headless mode to generate the FTL model and pr
|
|
|
|
|
|
| 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
|
|
|
+| \c -noSplash | Suppresses Eclipse's splash screen | [required] |
|
|
|
+| \c -launcher.suppressErrors | Suppresses error dialog | [optional] |
|
|
|
+| \c -consoleLog | Suppresses diagnostic messages | [optional] |
|
|
|
+| \c -application \c com.arm.cmsis.zone.ui.headlessgen | Specifies the plug-in to be called | [required] |
|
|
|
+| \c -azone \c FILNAME.azone | Specifies the .azone file to be processed | [required] |
|
|
|
+| \c -ftl \c FTL_DIR | Relative or absolute directory with templates to process | [optional - by default, \c ftl directory under the azone's file path is used] |
|
|
|
+| \c -ftl_gen \c FTL_GEN_DIR | Relative or absolute output directory to write generated files | [optional - by default, \c ftl_gen directory under the azone's file path is used] |
|
|
|
+| \c -help | Shows command line parameter information | [optional] |
|
|
|
+
|
|
|
+<!--\b Examples
|
|
|
\code
|
|
|
eclipsec.exe -noSplash -application com.arm.cmsis.zone.ui.headlessgen -azone Musca-A1.azone
|
|
|
-\endcode
|
|
|
+\endcode-->
|
|
|
*/
|
|
|
|
|
|
|
|
|
@@ -307,6 +328,24 @@ eclipsec.exe -noSplash -application com.arm.cmsis.zone.ui.headlessgen -azone Mus
|
|
|
/**
|
|
|
\page zTExamples Examples
|
|
|
|
|
|
+Pre-configures projects are available that demonstrate the usage of the CMSIS-Zone utility.
|
|
|
+
|
|
|
+\section zTExImport Import examples
|
|
|
+
|
|
|
+Import the examples to Eclipse using the following flow:
|
|
|
+- Go to <b>File - Import</b> and select <b>General - Projects from Folder or Archive</b>:
|
|
|
+
|
|
|
+\image html import_from_file.png
|
|
|
+
|
|
|
+Click \b Next.
|
|
|
+
|
|
|
+Using the \b Archive... button, browse to the import source and select the ZIP file that you want to import. The import
|
|
|
+wizard window shows what is available in the archive. Select the \b Folder that can be imported as an <b>Eclipse project</b>:
|
|
|
+
|
|
|
+\image html import_wizard.png
|
|
|
+
|
|
|
+Click \b Finish. The project is imported and opened in the \ref zTProjEx.
|
|
|
+
|
|
|
\section zTEMusca Arm Musca-A1
|
|
|
|
|
|
\section zTELPC55 NXP LPC55S69
|