]> git.sur5r.net Git - freertos/blobdiff - FreeRTOS/Demo/Common/ARMv8M/mpu_demo/mpu_demo.c
Add support for running FreeRTOS on Secure Side only in Cortex M33 port. Also, change...
[freertos] / FreeRTOS / Demo / Common / ARMv8M / mpu_demo / mpu_demo.c
index d3a81facaef8bc6627b8402a188b6d25ca7ddea0..7bb526bf481b7b9916598150bee60acc49e51406 100644 (file)
@@ -76,48 +76,48 @@ static void prvROAccessTask( void * pvParameters )
 {\r
 uint8_t ucVal;\r
 \r
-    /* Unused parameters. */\r
-    ( void ) pvParameters;\r
-\r
-    for( ; ; )\r
-    {\r
-        /* This task has RO access to ucSharedMemory and therefore it can read\r
-         * it but cannot modify it. */\r
-        ucVal = ucSharedMemory[ 0 ];\r
-\r
-        /* Silent compiler warnings about unused variables. */\r
-        ( void ) ucVal;\r
-\r
-        /* Since this task has Read Only access to the ucSharedMemory region,\r
-         * writing to it results in Memory Fault. Set ucROTaskFaultTracker[ 0 ]\r
-         * to 1 to tell the Memory Fault Handler that this is an expected fault.\r
-         * The handler will recover from this fault gracefully by jumping to the\r
-         * next instruction. */\r
-        ucROTaskFaultTracker[ 0 ] = 1;\r
-\r
-        /* Illegal access to generate Memory Fault. */\r
-        ucSharedMemory[ 0 ] = 0;\r
-\r
-        /* Wait for a second. */\r
-        vTaskDelay( pdMS_TO_TICKS( 1000 ) );\r
-    }\r
+       /* Unused parameters. */\r
+       ( void ) pvParameters;\r
+\r
+       for( ; ; )\r
+       {\r
+               /* This task has RO access to ucSharedMemory and therefore it can read\r
+                * it but cannot modify it. */\r
+               ucVal = ucSharedMemory[ 0 ];\r
+\r
+               /* Silent compiler warnings about unused variables. */\r
+               ( void ) ucVal;\r
+\r
+               /* Since this task has Read Only access to the ucSharedMemory region,\r
+                * writing to it results in Memory Fault. Set ucROTaskFaultTracker[ 0 ]\r
+                * to 1 to tell the Memory Fault Handler that this is an expected fault.\r
+                * The handler will recover from this fault gracefully by jumping to the\r
+                * next instruction. */\r
+               ucROTaskFaultTracker[ 0 ] = 1;\r
+\r
+               /* Illegal access to generate Memory Fault. */\r
+               ucSharedMemory[ 0 ] = 0;\r
+\r
+               /* Wait for a second. */\r
+               vTaskDelay( pdMS_TO_TICKS( 1000 ) );\r
+       }\r
 }\r
 /*-----------------------------------------------------------*/\r
 \r
 static void prvRWAccessTask( void * pvParameters )\r
 {\r
-    /* Unused parameters. */\r
-    ( void ) pvParameters;\r
-\r
-    for( ; ; )\r
-    {\r
-        /* This task has RW access to ucSharedMemory and therefore can write to\r
-         * it. */\r
-        ucSharedMemory[ 0 ] = 0;\r
-\r
-        /* Wait for a second. */\r
-        vTaskDelay( pdMS_TO_TICKS( 1000 ) );\r
-    }\r
+       /* Unused parameters. */\r
+       ( void ) pvParameters;\r
+\r
+       for( ; ; )\r
+       {\r
+               /* This task has RW access to ucSharedMemory and therefore can write to\r
+                * it. */\r
+               ucSharedMemory[ 0 ] = 0;\r
+\r
+               /* Wait for a second. */\r
+               vTaskDelay( pdMS_TO_TICKS( 1000 ) );\r
+       }\r
 }\r
 /*-----------------------------------------------------------*/\r
 \r
@@ -127,38 +127,38 @@ static StackType_t xROAccessTaskStack[ configMINIMAL_STACK_SIZE ] __attribute__(
 static StackType_t xRWAccessTaskStack[ configMINIMAL_STACK_SIZE ] __attribute__( ( aligned( 32 ) ) );\r
 TaskParameters_t xROAccessTaskParameters =\r
 {\r
-    .pvTaskCode     = prvROAccessTask,\r
-    .pcName         = "ROAccess",\r
-    .usStackDepth   = configMINIMAL_STACK_SIZE,\r
-    .pvParameters   = NULL,\r
-    .uxPriority     = tskIDLE_PRIORITY,\r
-    .puxStackBuffer = xROAccessTaskStack,\r
-    .xRegions       = {\r
-                        { ucSharedMemory,       32, tskMPU_REGION_READ_ONLY | tskMPU_REGION_EXECUTE_NEVER  },\r
-                        { ucROTaskFaultTracker, 32, tskMPU_REGION_READ_WRITE | tskMPU_REGION_EXECUTE_NEVER },\r
-                        { 0,                    0,  0                                                      },\r
-                      }\r
+       .pvTaskCode             = prvROAccessTask,\r
+       .pcName                 = "ROAccess",\r
+       .usStackDepth   = configMINIMAL_STACK_SIZE,\r
+       .pvParameters   = NULL,\r
+       .uxPriority             = tskIDLE_PRIORITY,\r
+       .puxStackBuffer = xROAccessTaskStack,\r
+       .xRegions               =       {\r
+                                                       { ucSharedMemory,               32,     tskMPU_REGION_READ_ONLY | tskMPU_REGION_EXECUTE_NEVER   },\r
+                                                       { ucROTaskFaultTracker, 32,     tskMPU_REGION_READ_WRITE | tskMPU_REGION_EXECUTE_NEVER  },\r
+                                                       { 0,                                    0,      0                                                                                                               },\r
+                                               }\r
 };\r
 TaskParameters_t xRWAccessTaskParameters =\r
 {\r
-    .pvTaskCode     = prvRWAccessTask,\r
-    .pcName         = "RWAccess",\r
-    .usStackDepth   = configMINIMAL_STACK_SIZE,\r
-    .pvParameters   = NULL,\r
-    .uxPriority     = tskIDLE_PRIORITY,\r
-    .puxStackBuffer = xRWAccessTaskStack,\r
-    .xRegions       = {\r
-                        { ucSharedMemory, 32, tskMPU_REGION_READ_WRITE | tskMPU_REGION_EXECUTE_NEVER },\r
-                        { 0,              0,  0                                                      },\r
-                        { 0,              0,  0                                                      },\r
-                      }\r
+       .pvTaskCode             = prvRWAccessTask,\r
+       .pcName                 = "RWAccess",\r
+       .usStackDepth   = configMINIMAL_STACK_SIZE,\r
+       .pvParameters   = NULL,\r
+       .uxPriority             = tskIDLE_PRIORITY,\r
+       .puxStackBuffer = xRWAccessTaskStack,\r
+       .xRegions               =       {\r
+                                                       { ucSharedMemory,       32,     tskMPU_REGION_READ_WRITE | tskMPU_REGION_EXECUTE_NEVER  },\r
+                                                       { 0,                            0,      0                                                                                                               },\r
+                                                       { 0,                            0,      0                                                                                                               },\r
+                                               }\r
 };\r
 \r
-    /* Create an unprivileged task with RO access to ucSharedMemory. */\r
-    xTaskCreateRestricted( &( xROAccessTaskParameters ), NULL );\r
+       /* Create an unprivileged task with RO access to ucSharedMemory. */\r
+       xTaskCreateRestricted( &( xROAccessTaskParameters ), NULL );\r
 \r
-    /* Create an unprivileged task with RW access to ucSharedMemory. */\r
-    xTaskCreateRestricted( &( xRWAccessTaskParameters ), NULL );\r
+       /* Create an unprivileged task with RW access to ucSharedMemory. */\r
+       xTaskCreateRestricted( &( xRWAccessTaskParameters ), NULL );\r
 }\r
 /*-----------------------------------------------------------*/\r
 \r
@@ -166,27 +166,27 @@ void vHandleMemoryFault( uint32_t * pulFaultStackAddress )
 {\r
 uint32_t ulPC;\r
 \r
-    /* Is this an expected fault? */\r
-    if( ucROTaskFaultTracker[ 0 ] == 1 )\r
-    {\r
-        /* Read program counter. */\r
-        ulPC = pulFaultStackAddress[ 6 ];\r
-\r
-        /* Increment the program counter by 2 to move to the next instruction. */\r
-        ulPC += 2;\r
-\r
-        /* Save the new program counter on the stack. */\r
-        pulFaultStackAddress[ 6 ] = ulPC;\r
-\r
-        /* Mark the fault as handled. */\r
-        ucROTaskFaultTracker[ 0 ] = 0;\r
-    }\r
-    else\r
-    {\r
-        /* This is an unexpected fault - loop forever. */\r
-        for( ; ; )\r
-        {\r
-        }\r
-    }\r
+       /* Is this an expected fault? */\r
+       if( ucROTaskFaultTracker[ 0 ] == 1 )\r
+       {\r
+               /* Read program counter. */\r
+               ulPC = pulFaultStackAddress[ 6 ];\r
+\r
+               /* Increment the program counter by 2 to move to the next instruction. */\r
+               ulPC += 2;\r
+\r
+               /* Save the new program counter on the stack. */\r
+               pulFaultStackAddress[ 6 ] = ulPC;\r
+\r
+               /* Mark the fault as handled. */\r
+               ucROTaskFaultTracker[ 0 ] = 0;\r
+       }\r
+       else\r
+       {\r
+               /* This is an unexpected fault - loop forever. */\r
+               for( ; ; )\r
+               {\r
+               }\r
+       }\r
 }\r
 /*-----------------------------------------------------------*/\r