]> git.sur5r.net Git - freertos/blobdiff - FreeRTOS/Source/portable/GCC/ARM_CM3_MPU/port.c
Update version number to 9.0.0rc2.
[freertos] / FreeRTOS / Source / portable / GCC / ARM_CM3_MPU / port.c
index 3ff5d55aae46249c278aff8cd91dcec5bd0667c4..f5420d519d936ac24f5b3d1fe91a0c5a7695cb01 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-    FreeRTOS V8.2.1 - Copyright (C) 2015 Real Time Engineers Ltd.\r
+    FreeRTOS V9.0.0rc2 - Copyright (C) 2016 Real Time Engineers Ltd.\r
     All rights reserved\r
 \r
     VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
@@ -8,7 +8,7 @@
 \r
     FreeRTOS is free software; you can redistribute it and/or modify it under\r
     the terms of the GNU General Public License (version 2) as published by the\r
-    Free Software Foundation >>!AND MODIFIED BY!<< the FreeRTOS exception.\r
+    Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.\r
 \r
     ***************************************************************************\r
     >>!   NOTE: The modification to the GPL is included to allow you to     !<<\r
@@ -71,6 +71,8 @@
  * Implementation of functions defined in portable.h for the ARM CM3 port.\r
  *----------------------------------------------------------*/\r
 \r
+#error This port is not supported in this V9.0.0 pre-release revision, but will be supported in the final release.  For now use V8.2.3 instead.\r
\r
 /* Defining MPU_WRAPPERS_INCLUDED_FROM_API_FILE prevents task.h from redefining\r
 all the API functions to use the MPU wrappers.  That should only be done when\r
 task.h is included from an application file. */\r
@@ -207,8 +209,6 @@ QueueHandle_t MPU_xQueueCreateMutex( void );
 QueueHandle_t MPU_xQueueCreateCountingSemaphore( UBaseType_t uxCountValue, UBaseType_t uxInitialCount );\r
 BaseType_t MPU_xQueueTakeMutexRecursive( QueueHandle_t xMutex, TickType_t xBlockTime );\r
 BaseType_t MPU_xQueueGiveMutexRecursive( QueueHandle_t xMutex );\r
-BaseType_t MPU_xQueueAltGenericSend( QueueHandle_t pxQueue, const void * const pvItemToQueue, TickType_t xTicksToWait, BaseType_t xCopyPosition );\r
-BaseType_t MPU_xQueueAltGenericReceive( QueueHandle_t pxQueue, void * const pvBuffer, TickType_t xTicksToWait, BaseType_t xJustPeeking );\r
 void MPU_vQueueAddToRegistry( QueueHandle_t xQueue, char *pcName );\r
 void MPU_vQueueDelete( QueueHandle_t xQueue );\r
 void *MPU_pvPortMalloc( size_t xSize );\r
@@ -334,7 +334,7 @@ static void prvRestoreContextOfFirstTask( void )
                "       ldr r14, =0xfffffffd                    \n" /* Load exec return code. */\r
                "       bx r14                                                  \n"\r
                "                                                                       \n"\r
-               "       .align 2                                                \n"\r
+               "       .align 4                                                \n"\r
                "pxCurrentTCBConst2: .word pxCurrentTCB \n"\r
        );\r
 }\r
@@ -440,7 +440,7 @@ void xPortPendSVHandler( void )
                "       msr psp, r0                                                     \n"\r
                "       bx r14                                                          \n"\r
                "                                                                               \n"\r
-               "       .align 2                                                        \n"\r
+               "       .align 4                                                        \n"\r
                "pxCurrentTCBConst: .word pxCurrentTCB  \n"\r
                ::"i"(configMAX_SYSCALL_INTERRUPT_PRIORITY)\r
        );\r
@@ -911,7 +911,7 @@ BaseType_t xRunningPrivileged = prvRaisePrivilege();
 \r
                uxReturn = uxTaskGetSystemState( pxTaskStatusArray, uxArraySize, pulTotalRunTime );\r
                portRESET_PRIVILEGE( xRunningPrivileged );\r
-               return xReturn;\r
+               return uxReturn;\r
        }\r
 #endif\r
 /*-----------------------------------------------------------*/\r
@@ -1136,32 +1136,6 @@ void * xReturn;
 #endif\r
 /*-----------------------------------------------------------*/\r
 \r
-#if configUSE_ALTERNATIVE_API == 1\r
-       BaseType_t MPU_xQueueAltGenericSend( QueueHandle_t pxQueue, const void * const pvItemToQueue, TickType_t xTicksToWait, BaseType_t xCopyPosition )\r
-       {\r
-       BaseType_t xReturn;\r
-       BaseType_t xRunningPrivileged = prvRaisePrivilege();\r
-\r
-               xReturn =       BaseType_t xQueueAltGenericSend( pxQueue, pvItemToQueue, xTicksToWait, xCopyPosition );\r
-               portRESET_PRIVILEGE( xRunningPrivileged );\r
-               return xReturn;\r
-       }\r
-#endif\r
-/*-----------------------------------------------------------*/\r
-\r
-#if configUSE_ALTERNATIVE_API == 1\r
-       BaseType_t MPU_xQueueAltGenericReceive( QueueHandle_t pxQueue, void * const pvBuffer, TickType_t xTicksToWait, BaseType_t xJustPeeking )\r
-       {\r
-    BaseType_t xReturn;\r
-       BaseType_t xRunningPrivileged = prvRaisePrivilege();\r
-\r
-               xReturn = xQueueAltGenericReceive( pxQueue, pvBuffer, xTicksToWait, xJustPeeking );\r
-               portRESET_PRIVILEGE( xRunningPrivileged );\r
-               return xReturn;\r
-       }\r
-#endif\r
-/*-----------------------------------------------------------*/\r
-\r
 #if configQUEUE_REGISTRY_SIZE > 0\r
        void MPU_vQueueAddToRegistry( QueueHandle_t xQueue, char *pcName )\r
        {\r
@@ -1184,27 +1158,35 @@ BaseType_t xRunningPrivileged = prvRaisePrivilege();
 }\r
 /*-----------------------------------------------------------*/\r
 \r
-void *MPU_pvPortMalloc( size_t xSize )\r
-{\r
-void *pvReturn;\r
-BaseType_t xRunningPrivileged = prvRaisePrivilege();\r
+#if( configSUPPORT_DYNAMIC_ALLOCATION == 1 )\r
+       \r
+       void *MPU_pvPortMalloc( size_t xSize )\r
+       {\r
+       void *pvReturn;\r
+       BaseType_t xRunningPrivileged = prvRaisePrivilege();\r
 \r
-       pvReturn = pvPortMalloc( xSize );\r
+               pvReturn = pvPortMalloc( xSize );\r
 \r
-       portRESET_PRIVILEGE( xRunningPrivileged );\r
+               portRESET_PRIVILEGE( xRunningPrivileged );\r
 \r
-       return pvReturn;\r
-}\r
+               return pvReturn;\r
+       }\r
+       \r
+#endif /* configSUPPORT_DYNAMIC_ALLOCATION */\r
 /*-----------------------------------------------------------*/\r
 \r
-void MPU_vPortFree( void *pv )\r
-{\r
-BaseType_t xRunningPrivileged = prvRaisePrivilege();\r
+#if( configSUPPORT_DYNAMIC_ALLOCATION == 1 )\r
 \r
-       vPortFree( pv );\r
+       void MPU_vPortFree( void *pv )\r
+       {\r
+       BaseType_t xRunningPrivileged = prvRaisePrivilege();\r
 \r
-       portRESET_PRIVILEGE( xRunningPrivileged );\r
-}\r
+               vPortFree( pv );\r
+\r
+               portRESET_PRIVILEGE( xRunningPrivileged );\r
+       }\r
+       \r
+#endif /* configSUPPORT_DYNAMIC_ALLOCATION */\r
 /*-----------------------------------------------------------*/\r
 \r
 void MPU_vPortInitialiseBlocks( void )\r