]> git.sur5r.net Git - freertos/blobdiff - FreeRTOS/Demo/CORTEX_MPU_M23_Nuvoton_NuMaker_PFM_M2351_IAR_GCC/Projects/Keil/NonSecure/FreeRTOSDemo_ns.sct
Use linker script variables for MPU setup for Nuvoton M2351 Keil Project
[freertos] / FreeRTOS / Demo / CORTEX_MPU_M23_Nuvoton_NuMaker_PFM_M2351_IAR_GCC / Projects / Keil / NonSecure / FreeRTOSDemo_ns.sct
index 961bae92c9242aee1e63bd9f50855747f6119085..3273dd5071f40ed54969b3110c7ea97665e35628 100644 (file)
@@ -1,59 +1,70 @@
-\r
-; Privileged Code:\r
-;   Start   : 0x10040000\r
-;   End     : 0x10047000 - 1\r
-;   Size    : 28 Kbytes\r
+; NOTE: ARMv8-M MPU requires that each region must start on a 32 byte aligned\r
+; address and the size of a region must be a multiple of 32 bytes.\r
+;\r
+; Flash Layout\r
+;\r
+;  ---------------------\r
+; |   Privileged Code   |\r
+;  ---------------------\r
+; |    System Calls     |\r
+;  ---------------------\r
+; |  Unprivileged Code  |\r
+;  ---------------------\r
+;\r
+; RAM Layout\r
 ;\r
-; Privileged Data:\r
-;   Start   : 0x30008000\r
-;   End     : 0x30009000 - 1\r
-;   Size    : 4 Kbytes\r
-LR_IROM_NS_PRIVILEGED 0x10040000 0x00007000 ; load region size_region\r
+;  ---------------------\r
+; |   Privileged Data   |\r
+;  ---------------------\r
+; |  Unprivileged Data  |\r
+;  ---------------------\r
+\r
+LR_APP 0x10040000 ; load region\r
 {\r
-    ER_IROM_NS_PRIVILEGED +0 ; load address = execution address\r
+    ER_IROM_NS_PRIVILEGED +0 ALIGN 32\r
     {\r
         *.o(RESET, +First)\r
         *(InRoot$$Sections) ; All sections that must be in a root region\r
         *(privileged_functions)\r
     }\r
 \r
-    ER_IRAM_NS_PRIVILEGED 0x30008000 0x00001000\r
+    ER_IROM_NS_PRIVILEGED_ALIGN +0 ALIGN 32 EMPTY 0x0\r
     {\r
-        *(privileged_data)\r
     }\r
-}\r
 \r
-; System Calls:\r
-;   Start   : 0x10047000\r
-;   End     : 0x10048000 - 1\r
-;   Size    : 4 Kbytes\r
-LR_IROM_NS_SYSTEM_CALLS 0x10047000 0x00001000 ; load region size_region\r
-{\r
-    ER_IROM_NS_SYSTEM_CALLS +0 ; load address = execution address\r
+    ER_IROM_NS_FREERTOS_SYSTEM_CALLS +0 ALIGN 32\r
     {\r
-         *(freertos_system_calls)\r
+        *(freertos_system_calls)\r
     }\r
-}\r
 \r
-; Unprivileged Code:\r
-;   Start   : 0x10048000\r
-;   End     : 0x10080000 - 1\r
-;   Size    : 224 Kbytes\r
-;\r
-; Unprivileged Data:\r
-;   Start   : 0x30009000\r
-;   End     : 0x30018000 - 1\r
-;   Size    : 60 Kbytes\r
-LR_IROM_NS_UNPRIVILEGED 0x10048000 0x00038000 ; load region size_region\r
-{\r
-    ER_IROM_NS_UNPRIVILEGED +0 ; load address = execution address\r
+    ER_IROM_NS_FREERTOS_SYSTEM_CALLS_ALIGN +0 ALIGN 32 EMPTY 0x0\r
+    {\r
+    }\r
+\r
+    ER_IROM_NS_UNPRIVILEGED +0 ALIGN 32\r
     {\r
-         *(+RO)\r
+        *(+RO)\r
     }\r
 \r
-    ER_IRAM_NS_UNPRIVILEGED 0x30009000 0x0000F000\r
+    ER_IROM_NS_UNPRIVILEGED_ALIGN +0 ALIGN 32 EMPTY 0x0\r
+    {\r
+    }\r
+\r
+    ER_IRAM_NS_PRIVILEGED 0x30008000 ALIGN 32\r
+    {\r
+        *(privileged_data)\r
+    }\r
+\r
+    ER_IRAM_NS_PRIVILEGED_ALIGN +0 ALIGN 32 EMPTY 0x0\r
+    {\r
+    }\r
+\r
+    ER_IRAM_NS_UNPRIVILEGED +0 ALIGN 32\r
     {\r
         *(+RW, +ZI)\r
     }\r
-}\r
 \r
+    ER_IRAM_NS_UNPRIVILEGED_ALIGN +0 ALIGN 32 EMPTY 0x0\r
+    {\r
+    }\r
+}\r