Quellcode durchsuchen

CMSIS-Zone documentation inproved

reinhardkeil vor 6 Jahren
Ursprung
Commit
f1804f545d

+ 19 - 4
CMSIS/DoxyGen/Zone/src/GenDataModel.txt

@@ -87,7 +87,7 @@ This information can be used for example, to create a linker script that defines
     <td>\subpage fm_interrupt ".interrupt"</td>
     <td>A sequence of all interrupt sources available.</td>
     <td>sequence</td>
-  </tr>
+  </tr>`
   <tr>
     <td>\subpage fm_mpc_setup ".mpc_setup"</td>
     <td>Contains the device specific configuration registers for the setup of the Memory Protection Controller (MPC).</td>
@@ -214,7 +214,7 @@ The \ref fm_processor provides a sequence of processor elements that are in the
 
 /**************************************************************************************************/
 /**
-\page fm_memory ../memory[n] sequence element
+\page fm_memory memory[n] sequence element
 
 The \ref fm_memory provides a sequence of memory information.
 
@@ -556,7 +556,7 @@ The \ref fm_reg_setup contains a sequence of device specific configuration for t
 
 /**************************************************************************************************/
 /**
-\page fm_peripheral ../peripheral[n] element
+\page fm_peripheral peripheral[n] element
 
 The \ref fm_peripheral contains a sequence of all peripherals that are accessible in the zone (or system partition).
 
@@ -718,7 +718,7 @@ The \ref fm_mpu_setup contains the configuration information for the Memory Prot
   </tr>
   <tr>
     <td>mpu_setup.region[<i>n</i>].access.w</td>
-    <td>The \em write \ref access "access" permission setting for the region..</td>
+    <td>The \em write \ref access "access" permission setting for the region.</td>
     <td>xs:boolean</td>
   </tr>
   <tr>
@@ -751,6 +751,21 @@ The \ref fm_mpu_setup contains the configuration information for the Memory Prot
     <td>'1' indicates that the memory type of that region is ROM ('0' for RAM or peripheral).</td>
     <td>xs:boolean</td>
   </tr>
+  <tr>
+    <td>mpu_setup.region[<i>n</i>].addr_v7M</td>
+    <td>Only for v7M: Region base address field value for v7M register MPU_RBAR.</td>
+    <td>xs:string</td>
+  </tr>
+  <tr>
+    <td>mpu_setup.region[<i>n</i>].size_v7M</td>
+    <td>Only for v7M: Block size field value for v7M register MPU_RASR (examples: 4=32bytes, 9=1KB, 19=1MB).</td>
+    <td>xs:string</td>
+  </tr>
+  <tr>
+    <td>mpu_setup.region[<i>n</i>].srd_v7M</td>
+    <td>Only for v7M: Subregion disable value for v7M register MPU_RASR.</td>
+    <td>xs:string</td>
+  </tr>
   
   
 </table>

+ 47 - 25
CMSIS/DoxyGen/Zone/src/Overview.txt

@@ -2,26 +2,47 @@
 /**
 \mainpage
 
-\b CMSIS-Zone defines methods to describe system resources and to partition these resources into multiple projects and execution areas. 
-The system resources may include multiple processors, memory areas, peripherals and related interrupts. 
-The system resources and partition assignments are stored in \ref zoneFormat (XML based). 
-
-\b CMSIS-Zone includes a utility that manages these XML files. This utility:
-  - displays all available system resources including memory and peripherals
-  - allows to partition memory and assign resources to sub-systems.
-  - supports the setup of secure, non-secure, and MPU protected execution zones with assignment of memory, peripherals, and interrupts.
-  - provides a data model for generation of configuration files for tool and hardware setup.
-  
-The following diagram explains the development work flow when using the \b CMSIS-Zone management tool. 
+\section Overview Overview 
+
+Embedded systems frequently integrate specify hardware for access protection or system isolation. For example, a Cortex-M33 processor based system may incorporate:
+ - SAU (Secure Attribute Unit) to create a secure execution partition with controlled access from a non-secure execution partition.
+ - MPC (Memory Protection Controller) to control the system-wide access permissions to memory.
+ - PPC (Peripheral Protection Controller) to control the system-wide access permissions to peripherals.
+ - MPU (Memory Protection Controller) to create execution compartments and protect other system parts from illegal access.
+
+Embedded systems may also integrate multiple processors that share system resources (memory and peripherals). In an AMP 
+(Asymmetric Multiprocessor System) it is required to assign or partition the available resources to various processors
+that execute independent parts of the application software.
+
+\b CMSIS-Zone helps you to manage this complexity and allows to partition an embedded system into <b>project zones</b> 
+and/or <b>execution zones</b>.
+
+A <b>project zone</b> defines the memory resources and peripherals for a sub-project that execute on the system. 
+Typical examples are boot-loader and user application, however also the secure and non-secure parts of a Cortex-M TrustZone 
+system is defined using project zones. 
+
+An <b>execution zone</b> is a software compartment that is protected using a MPU.
+It defines the access rights to memory and peripherals for a isolated part of the system. This ensures that for example a 
+communication stack (with design flaws) cannot tamper the data or peripherals of other critical parts in a system.
+
+\b CMSIS-Zone includes a utility that allows you to manage these zones. The input to this utility is a resource (*.rzone) file the defines the system resources 
+including memory and peripherals.  
+
+For these resources the user interface of the CMSIS-Zone utility allows:
+  - to setup of overall system-wide access permissions to memory and peripherals.
+  - to define project zones (optional with processor selection and/or security mode) or execution zones (optional with privilege level).
+  - to assign memory and peripherals to these project or execution zones.
+
+This system configuration is stored in an assignment (*.azone) file.  With the \b Generate function of
+the CMSIS-Zone utility, the resource and configuration data can be used to generate:
+  - source code for the setup of protection hardware such as SAU, MPC, PPC, MPU. 
+  - configuration files for software development tools (i.e. linker scatter file).
+  - sub-system resource (*.rzone) files that list <b>project zone</b> resources available for sub-projects.
+ 
+The following diagram shows the development work flow when using the \b CMSIS-Zone management tool. 
 
 \image html Partitioning_Workflow.png  "CMSIS-Zone development workflow"
 
-The CMSIS-Zone utility reads a \ref rzone ".rzone" file that defines the overall system resources of an SoC system.
-An interactive GUI supports the system partitioning. The assignments of the various partitions (also called zones)
-saved in the \ref azone ".azone" file.
-
-The combined information of resources and assignments can be exported to multiple \ref rzone ".rzone" files that represent a sub-system.
-By using file templates the CMSIS-Zone utility can create tool or hardware configuration files.
 
 It is possible to uses these steps multiple times which allows to split a complex SoC design with multiple processors into 
 smaller sub-systems. For example a multi-core device can be partitioned in steps:
@@ -33,9 +54,16 @@ The following SoC diagram exemplifies step 1 and step 2 of this workflow.
   
 \image html Partitioning_Hardware.png  "Hardware partitioning in multiple steps"
 
-\section mainIntroVideo CMSIS-Zone introduction video
+\section ManualSections Manual Sections
+
+The following sections explain: 
+- \ref zoneToolUsage describes the tool features and explains the usage on several examples.
+- \ref zoneFormat (XML based) that stores resource (*.rzone) and assignment (*.azone) information.
+- \ref GenDataModel which is used to create tool set-up files and hardware configuration files.
+
+\section mainIntroVideo Introduction Video
 
-Watch this short video to learn how to use the \ref zoneToolUsage :
+This video show how to use the \ref zoneToolUsage :
 
 \htmlonly
 <video preload="none" controls="" poster="https://community.arm.com/cfs-file/__key/telligent-evolution-videotranscoding-securefilestorage/communityserver-blogs-components-weblogfiles-00-00-00-21-12/Nuvoton_5F00_Zone.mp4.jpg" width="880" height="495">
@@ -44,12 +72,6 @@ Watch this short video to learn how to use the \ref zoneToolUsage :
 	</video>
 \endhtmlonly
 
-
-The following sections explain: 
-- \ref zoneToolUsage shows hot to use the CMSIS-Zone stand-alone tool to generate the relevant project information to be used
-  in integrated development environments (IDEs).
-- \ref zoneFormat (XML based) that stores system resource information and the configuration of project zones and execution zones.
-- \ref GenDataModel which is used to create tool set-up files and hardware configuration files.
 */
 
 

BIN
CMSIS/DoxyGen/Zone/src/images/CMSIS_Zone.pptx


BIN
CMSIS/DoxyGen/Zone/src/images/DevelopmentFlow.png


BIN
CMSIS/DoxyGen/Zone/src/images/Partitioning_Hardware.png


BIN
CMSIS/DoxyGen/Zone/src/images/genmodel.png


BIN
CMSIS/DoxyGen/Zone/src/images/soc-memorymap.png


BIN
CMSIS/DoxyGen/Zone/src/images/som-decomposition.png


BIN
CMSIS/DoxyGen/Zone/src/images/storagemodel.png


BIN
CMSIS/DoxyGen/Zone/src/images/zone-assignment.png