]> git.sur5r.net Git - freertos/commitdiff
Introduce configENABLE_BACKWARD_COMPATIBILITY to allow the #defines that provide...
authorrtel <rtel@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Mon, 13 Jan 2014 20:26:47 +0000 (20:26 +0000)
committerrtel <rtel@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Mon, 13 Jan 2014 20:26:47 +0000 (20:26 +0000)
git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@2167 1d2547de-c912-0410-9cb9-b8ca96c0e9e2

FreeRTOS/Demo/PIC18_MPLAB/stdint.h
FreeRTOS/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/stdint.h
FreeRTOS/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/stdint.h
FreeRTOS/Demo/SuperH_SH7216_Renesas/RTOSDemo/stdint.h
FreeRTOS/Source/include/FreeRTOS.h
FreeRTOS/Source/include/stdint.readme [new file with mode: 0644]
FreeRTOS/Source/portable/IAR/ARM_CA9/portmacro.h
FreeRTOS/Source/portable/RVDS/ARM_CA9/portmacro.h

index 30913ad0ac7cd6e412760e618dc3d450225d3401..6d86149ca6bcc6719648f0ca98d3263f706d273c 100644 (file)
@@ -1,9 +1,21 @@
 \r
-#ifndef STDINT_INC\r
-#define STDINT_INC\r
+#ifndef FREERTOS_STDINT\r
+#define FREERTOS_STDINT\r
 \r
-/* This file will get picked up when stdint.h does not appear in the default\r
-include path (which it doesn't seem to be - even though the file exists). */\r
+/*******************************************************************************\r
+ * THIS IS NOT A FULL stdint.h IMPLEMENTATION - It only contains the definitions\r
+ * necessary to build the FreeRTOS code.  It is provided to allow FreeRTOS to be\r
+ * built using compilers that do not provide their own stdint.h definition.\r
+ *\r
+ * To use this file:\r
+ *\r
+ *    1) Copy this file into the directory that contains your FreeRTOSConfig.h\r
+ *       header file, as that directory will already be in the compilers include\r
+ *       path.\r
+ *\r
+ *    2) Rename the copied file stdint.h.\r
+ *\r
+ */\r
 \r
 typedef signed char int8_t;\r
 typedef unsigned char uint8_t;\r
@@ -12,4 +24,4 @@ typedef unsigned short uint16_t;
 typedef long int32_t;\r
 typedef unsigned long uint32_t;\r
 \r
-#endif /* STDINT_INC */\r
+#endif /* FREERTOS_STDINT */\r
index 30913ad0ac7cd6e412760e618dc3d450225d3401..6d86149ca6bcc6719648f0ca98d3263f706d273c 100644 (file)
@@ -1,9 +1,21 @@
 \r
-#ifndef STDINT_INC\r
-#define STDINT_INC\r
+#ifndef FREERTOS_STDINT\r
+#define FREERTOS_STDINT\r
 \r
-/* This file will get picked up when stdint.h does not appear in the default\r
-include path (which it doesn't seem to be - even though the file exists). */\r
+/*******************************************************************************\r
+ * THIS IS NOT A FULL stdint.h IMPLEMENTATION - It only contains the definitions\r
+ * necessary to build the FreeRTOS code.  It is provided to allow FreeRTOS to be\r
+ * built using compilers that do not provide their own stdint.h definition.\r
+ *\r
+ * To use this file:\r
+ *\r
+ *    1) Copy this file into the directory that contains your FreeRTOSConfig.h\r
+ *       header file, as that directory will already be in the compilers include\r
+ *       path.\r
+ *\r
+ *    2) Rename the copied file stdint.h.\r
+ *\r
+ */\r
 \r
 typedef signed char int8_t;\r
 typedef unsigned char uint8_t;\r
@@ -12,4 +24,4 @@ typedef unsigned short uint16_t;
 typedef long int32_t;\r
 typedef unsigned long uint32_t;\r
 \r
-#endif /* STDINT_INC */\r
+#endif /* FREERTOS_STDINT */\r
index 30913ad0ac7cd6e412760e618dc3d450225d3401..6d86149ca6bcc6719648f0ca98d3263f706d273c 100644 (file)
@@ -1,9 +1,21 @@
 \r
-#ifndef STDINT_INC\r
-#define STDINT_INC\r
+#ifndef FREERTOS_STDINT\r
+#define FREERTOS_STDINT\r
 \r
-/* This file will get picked up when stdint.h does not appear in the default\r
-include path (which it doesn't seem to be - even though the file exists). */\r
+/*******************************************************************************\r
+ * THIS IS NOT A FULL stdint.h IMPLEMENTATION - It only contains the definitions\r
+ * necessary to build the FreeRTOS code.  It is provided to allow FreeRTOS to be\r
+ * built using compilers that do not provide their own stdint.h definition.\r
+ *\r
+ * To use this file:\r
+ *\r
+ *    1) Copy this file into the directory that contains your FreeRTOSConfig.h\r
+ *       header file, as that directory will already be in the compilers include\r
+ *       path.\r
+ *\r
+ *    2) Rename the copied file stdint.h.\r
+ *\r
+ */\r
 \r
 typedef signed char int8_t;\r
 typedef unsigned char uint8_t;\r
@@ -12,4 +24,4 @@ typedef unsigned short uint16_t;
 typedef long int32_t;\r
 typedef unsigned long uint32_t;\r
 \r
-#endif /* STDINT_INC */\r
+#endif /* FREERTOS_STDINT */\r
index 30913ad0ac7cd6e412760e618dc3d450225d3401..6d86149ca6bcc6719648f0ca98d3263f706d273c 100644 (file)
@@ -1,9 +1,21 @@
 \r
-#ifndef STDINT_INC\r
-#define STDINT_INC\r
+#ifndef FREERTOS_STDINT\r
+#define FREERTOS_STDINT\r
 \r
-/* This file will get picked up when stdint.h does not appear in the default\r
-include path (which it doesn't seem to be - even though the file exists). */\r
+/*******************************************************************************\r
+ * THIS IS NOT A FULL stdint.h IMPLEMENTATION - It only contains the definitions\r
+ * necessary to build the FreeRTOS code.  It is provided to allow FreeRTOS to be\r
+ * built using compilers that do not provide their own stdint.h definition.\r
+ *\r
+ * To use this file:\r
+ *\r
+ *    1) Copy this file into the directory that contains your FreeRTOSConfig.h\r
+ *       header file, as that directory will already be in the compilers include\r
+ *       path.\r
+ *\r
+ *    2) Rename the copied file stdint.h.\r
+ *\r
+ */\r
 \r
 typedef signed char int8_t;\r
 typedef unsigned char uint8_t;\r
@@ -12,4 +24,4 @@ typedef unsigned short uint16_t;
 typedef long int32_t;\r
 typedef unsigned long uint32_t;\r
 \r
-#endif /* STDINT_INC */\r
+#endif /* FREERTOS_STDINT */\r
index 39d6d229d786e8680a136d4f6b0492dc3bf9397e..de1a41ff94b2f9a2819afcbd9cdd8047dc7bd7be 100644 (file)
 #include <stddef.h>\r
 #include <stdint.h>\r
 \r
+/* Check stdint.h was included. */\r
+#ifndef UINT32_MAX\r
+       /* Check if the FreeRTOS stdint subset has been included. */\r
+       #ifndef FREERTOS_STDINT\r
+               #error Read the instructions in FreeRTOS/source/stdint.readme if stdint.h is not provided with your compiler.\r
+       #endif /* FREERTOS_STDINT */\r
+#endif /* UINT32_MAX */\r
+\r
 /* Basic FreeRTOS definitions. */\r
 #include "projdefs.h"\r
 \r
@@ -684,29 +692,36 @@ is included as it is used by the port layer. */
        #define mtCOVERAGE_TEST_MARKER()\r
 #endif\r
 \r
-/* For backward compatibility. */\r
-#define eTaskStateGet eTaskGetState\r
-#define portTickType TickType_t\r
-#define xTaskHandle TaskHandle_t\r
-#define xQueueHandle QueueHandle_t\r
-#define xSemaphoreHandle SemaphoreHandle_t\r
-#define xQueueSetHandle QueueSetHandle_t\r
-#define xQueueSetMemberHandle QueueSetMemberHandle_t\r
-#define xTimeOutType TimeOut_t\r
-#define xMemoryRegion MemoryRegion_t\r
-#define xTaskParameters TaskParameters_t\r
-#define xTaskStatusType        TaskStatus_t\r
-#define xTimerHandle TimerHandle_t\r
-#define xCoRoutineHandle CoRoutineHandle_t\r
-#define pdTASK_HOOK_CODE TaskHookFunction_t\r
-#define portTICK_RATE_MS portTICK_PERIOD_MS\r
-\r
-/* Backward compatibility within the scheduler code only - these definitions\r
-are not really required but are included for completeness. */\r
-#define tmrTIMER_CALLBACK TimerCallbackFunction_t\r
-#define pdTASK_CODE TaskFunction_t\r
-#define xListItem ListItem_t\r
-#define xList List_t\r
+/* Definitions to allow backward compatibility with FreeRTOS versions prior to\r
+V8 if desired. */\r
+#ifndef configENABLE_BACKWARD_COMPATIBILITY\r
+       #define configENABLE_BACKWARD_COMPATIBILITY 1\r
+#endif\r
+\r
+#if configENABLE_BACKWARD_COMPATIBILITY == 1\r
+       #define eTaskStateGet eTaskGetState\r
+       #define portTickType TickType_t\r
+       #define xTaskHandle TaskHandle_t\r
+       #define xQueueHandle QueueHandle_t\r
+       #define xSemaphoreHandle SemaphoreHandle_t\r
+       #define xQueueSetHandle QueueSetHandle_t\r
+       #define xQueueSetMemberHandle QueueSetMemberHandle_t\r
+       #define xTimeOutType TimeOut_t\r
+       #define xMemoryRegion MemoryRegion_t\r
+       #define xTaskParameters TaskParameters_t\r
+       #define xTaskStatusType TaskStatus_t\r
+       #define xTimerHandle TimerHandle_t\r
+       #define xCoRoutineHandle CoRoutineHandle_t\r
+       #define pdTASK_HOOK_CODE TaskHookFunction_t\r
+       #define portTICK_RATE_MS portTICK_PERIOD_MS\r
+\r
+       /* Backward compatibility within the scheduler code only - these definitions\r
+       are not really required but are included for completeness. */\r
+       #define tmrTIMER_CALLBACK TimerCallbackFunction_t\r
+       #define pdTASK_CODE TaskFunction_t\r
+       #define xListItem ListItem_t\r
+       #define xList List_t\r
+#endif /* configENABLE_BACKWARD_COMPATIBILITY */\r
 \r
 #endif /* INC_FREERTOS_H */\r
 \r
diff --git a/FreeRTOS/Source/include/stdint.readme b/FreeRTOS/Source/include/stdint.readme
new file mode 100644 (file)
index 0000000..6d86149
--- /dev/null
@@ -0,0 +1,27 @@
+\r
+#ifndef FREERTOS_STDINT\r
+#define FREERTOS_STDINT\r
+\r
+/*******************************************************************************\r
+ * THIS IS NOT A FULL stdint.h IMPLEMENTATION - It only contains the definitions\r
+ * necessary to build the FreeRTOS code.  It is provided to allow FreeRTOS to be\r
+ * built using compilers that do not provide their own stdint.h definition.\r
+ *\r
+ * To use this file:\r
+ *\r
+ *    1) Copy this file into the directory that contains your FreeRTOSConfig.h\r
+ *       header file, as that directory will already be in the compilers include\r
+ *       path.\r
+ *\r
+ *    2) Rename the copied file stdint.h.\r
+ *\r
+ */\r
+\r
+typedef signed char int8_t;\r
+typedef unsigned char uint8_t;\r
+typedef short int16_t;\r
+typedef unsigned short uint16_t;\r
+typedef long int32_t;\r
+typedef unsigned long uint32_t;\r
+\r
+#endif /* FREERTOS_STDINT */\r
index eff88c440ad2389045eb487f8040327ad867abc8..143c7ea02a44a9c6bcbbf5732d93842865b7682a 100644 (file)
@@ -94,9 +94,9 @@
        #define portSTACK_TYPE  uint32_t\r
        #define portBASE_TYPE   long\r
 \r
-typedef portSTACK_TYPE StackType_t;\r
-typedef long BaseType_t;\r
-typedef unsigned long UBaseType_t;\r
+       typedef portSTACK_TYPE StackType_t;\r
+       typedef long BaseType_t;\r
+       typedef unsigned long UBaseType_t;\r
 \r
        typedef uint32_t TickType_t;\r
        #define portMAX_DELAY ( TickType_t ) 0xffffffffUL\r
@@ -115,7 +115,7 @@ typedef unsigned long UBaseType_t;
        /* Called at the end of an ISR that can cause a context switch. */\r
        #define portEND_SWITCHING_ISR( xSwitchRequired )\\r
        {                                                                                               \\r
-       extern uint32_t ulPortYieldRequired;            \\r
+       extern uint32_t ulPortYieldRequired;                    \\r
                                                                                                        \\r
                if( xSwitchRequired != pdFALSE )                        \\r
                {                                                                                       \\r
index da194a4925a6940d9a67800f3ed6406863e78add..3d17000b26fd886b809ab9d3d099e22789821f13 100644 (file)
@@ -115,7 +115,7 @@ typedef unsigned long UBaseType_t;
 /* Called at the end of an ISR that can cause a context switch. */\r
 #define portEND_SWITCHING_ISR( xSwitchRequired )\\r
 {                                                                                              \\r
-extern uint32_t ulPortYieldRequired;           \\r
+extern uint32_t ulPortYieldRequired;                   \\r
                                                                                                \\r
        if( xSwitchRequired != pdFALSE )                        \\r
        {                                                                                       \\r