]> git.sur5r.net Git - freertos/blobdiff - FreeRTOS/Source/portable/GCC/HCS12/portmacro.h
Update version numbers in preparation for new release.
[freertos] / FreeRTOS / Source / portable / GCC / HCS12 / portmacro.h
index ddf523b93ac4d1a0e5f78dc3f57a9d746cfe174c..ea10596578ddee13482e8ab5c1e3fb4d699bf398 100644 (file)
@@ -1,60 +1,64 @@
 /*\r
-    FreeRTOS V7.6.0 - Copyright (C) 2013 Real Time Engineers Ltd. \r
+    FreeRTOS V8.2.2 - Copyright (C) 2015 Real Time Engineers Ltd.\r
     All rights reserved\r
 \r
     VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
 \r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *    FreeRTOS provides completely free yet professionally developed,    *\r
-     *    robust, strictly quality controlled, supported, and cross          *\r
-     *    platform software that has become a de facto standard.             *\r
-     *                                                                       *\r
-     *    Help yourself get started quickly and support the FreeRTOS         *\r
-     *    project by purchasing a FreeRTOS tutorial book, reference          *\r
-     *    manual, or both from: http://www.FreeRTOS.org/Documentation        *\r
-     *                                                                       *\r
-     *    Thank you!                                                         *\r
-     *                                                                       *\r
-    ***************************************************************************\r
-\r
     This file is part of the FreeRTOS distribution.\r
 \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
 \r
-    >>! NOTE: The modification to the GPL is included to allow you to distribute\r
-    >>! a combined work that includes FreeRTOS without being obliged to provide\r
-    >>! the source code for proprietary components outside of the FreeRTOS\r
-    >>! kernel.\r
+    ***************************************************************************\r
+    >>!   NOTE: The modification to the GPL is included to allow you to     !<<\r
+    >>!   distribute a combined work that includes FreeRTOS without being   !<<\r
+    >>!   obliged to provide the source code for proprietary components     !<<\r
+    >>!   outside of the FreeRTOS kernel.                                   !<<\r
+    ***************************************************************************\r
 \r
     FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY\r
     WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r
-    FOR A PARTICULAR PURPOSE.  Full license text is available from the following\r
+    FOR A PARTICULAR PURPOSE.  Full license text is available on the following\r
     link: http://www.freertos.org/a00114.html\r
 \r
-    1 tab == 4 spaces!\r
-\r
     ***************************************************************************\r
      *                                                                       *\r
-     *    Having a problem?  Start by reading the FAQ "My application does   *\r
-     *    not run, what could be wrong?"                                     *\r
+     *    FreeRTOS provides completely free yet professionally developed,    *\r
+     *    robust, strictly quality controlled, supported, and cross          *\r
+     *    platform software that is more than just the market leader, it     *\r
+     *    is the industry's de facto standard.                               *\r
      *                                                                       *\r
-     *    http://www.FreeRTOS.org/FAQHelp.html                               *\r
+     *    Help yourself get started quickly while simultaneously helping     *\r
+     *    to support the FreeRTOS project by purchasing a FreeRTOS           *\r
+     *    tutorial book, reference manual, or both:                          *\r
+     *    http://www.FreeRTOS.org/Documentation                              *\r
      *                                                                       *\r
     ***************************************************************************\r
 \r
-    http://www.FreeRTOS.org - Documentation, books, training, latest versions,\r
-    license and Real Time Engineers Ltd. contact details.\r
+    http://www.FreeRTOS.org/FAQHelp.html - Having a problem?  Start by reading\r
+    the FAQ page "My application does not run, what could be wrong?".  Have you\r
+    defined configASSERT()?\r
+\r
+    http://www.FreeRTOS.org/support - In return for receiving this top quality\r
+    embedded software for free we request you assist our global community by\r
+    participating in the support forum.\r
+\r
+    http://www.FreeRTOS.org/training - Investing in training allows your team to\r
+    be as productive as possible as early as possible.  Now you can receive\r
+    FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers\r
+    Ltd, and the world's leading authority on the world's leading RTOS.\r
 \r
     http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,\r
     including FreeRTOS+Trace - an indispensable productivity tool, a DOS\r
     compatible FAT file system, and our tiny thread aware UDP/IP stack.\r
 \r
-    http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High\r
-    Integrity Systems to sell under the OpenRTOS brand.  Low cost OpenRTOS\r
-    licenses offer ticketed support, indemnification and middleware.\r
+    http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.\r
+    Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.\r
+\r
+    http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High\r
+    Integrity Systems ltd. to sell under the OpenRTOS brand.  Low cost OpenRTOS\r
+    licenses offer ticketed support, indemnification and commercial middleware.\r
 \r
     http://www.SafeRTOS.com - High Integrity Systems also provide a safety\r
     engineered and independently SIL3 certified version for use in safety and\r
@@ -72,7 +76,7 @@ extern "C" {
 #endif\r
 \r
 /*-----------------------------------------------------------\r
- * Port specific definitions.  \r
+ * Port specific definitions.\r
  *\r
  * The settings in this file configure FreeRTOS correctly for the\r
  * given hardware and compiler.\r
@@ -87,27 +91,32 @@ extern "C" {
 #define portDOUBLE             double\r
 #define portLONG               long\r
 #define portSHORT              short\r
-#define portSTACK_TYPE unsigned portCHAR\r
+#define portSTACK_TYPE uint8_t\r
 #define portBASE_TYPE  char\r
 \r
+typedef portSTACK_TYPE StackType_t;\r
+typedef signed char BaseType_t;\r
+typedef unsigned char UBaseType_t;\r
+\r
+\r
 #if( configUSE_16_BIT_TICKS == 1 )\r
-       typedef unsigned portSHORT portTickType;\r
-       #define portMAX_DELAY ( portTickType ) 0xffff\r
+       typedef uint16_t TickType_t;\r
+       #define portMAX_DELAY ( TickType_t ) 0xffff\r
 #else\r
-       typedef unsigned portLONG portTickType;\r
-       #define portMAX_DELAY ( portTickType ) 0xffffffffUL\r
+       typedef uint32_t TickType_t;\r
+       #define portMAX_DELAY ( TickType_t ) 0xffffffffUL\r
 #endif\r
 /*-----------------------------------------------------------*/\r
 \r
 /* Hardware specifics. */\r
 #define portBYTE_ALIGNMENT                     1\r
 #define portSTACK_GROWTH                       ( -1 )\r
-#define portTICK_RATE_MS                       ( ( portTickType ) 1000 / configTICK_RATE_HZ )\r
+#define portTICK_PERIOD_MS                     ( ( TickType_t ) 1000 / configTICK_RATE_HZ )\r
 #define portYIELD()                                    __asm( "swi" );\r
 /*-----------------------------------------------------------*/\r
 \r
 /* Critical section handling. */\r
-#define portENABLE_INTERRUPTS()                                __asm( "cli" )  \r
+#define portENABLE_INTERRUPTS()                                __asm( "cli" )\r
 #define portDISABLE_INTERRUPTS()                       __asm( "sei" )\r
 \r
 /*\r
@@ -118,7 +127,7 @@ extern "C" {
  */\r
 #define portENTER_CRITICAL()                                                                   \\r
 {                                                                                                                              \\r
-       extern volatile unsigned portBASE_TYPE uxCriticalNesting;       \\r
+       extern volatile UBaseType_t uxCriticalNesting;  \\r
                                                                                                                                \\r
        portDISABLE_INTERRUPTS();                                                                       \\r
        uxCriticalNesting++;                                                                            \\r
@@ -126,12 +135,12 @@ extern "C" {
 \r
 /*\r
  * Interrupts are disabled so we can access the nesting count directly.  If the\r
- * nesting is found to be 0 (no nesting) then we are leaving the critical \r
+ * nesting is found to be 0 (no nesting) then we are leaving the critical\r
  * section and interrupts can be re-enabled.\r
  */\r
 #define  portEXIT_CRITICAL()                                                                   \\r
 {                                                                                                                              \\r
-       extern volatile unsigned portBASE_TYPE uxCriticalNesting;       \\r
+       extern volatile UBaseType_t uxCriticalNesting;  \\r
                                                                                                                                \\r
        uxCriticalNesting--;                                                                            \\r
        if( uxCriticalNesting == 0 )                                                            \\r
@@ -143,10 +152,10 @@ extern "C" {
 \r
 /* Task utilities. */\r
 \r
-/* \r
- * These macros are very simple as the processor automatically saves and \r
+/*\r
+ * These macros are very simple as the processor automatically saves and\r
  * restores its registers as interrupts are entered and exited.  In\r
- * addition to the (automatically stacked) registers we also stack the \r
+ * addition to the (automatically stacked) registers we also stack the\r
  * critical nesting count.  Each task maintains its own critical nesting\r
  * count as it is legitimate for a task to yield from within a critical\r
  * section.  If the banked memory model is being used then the PPAGE\r
@@ -154,9 +163,9 @@ extern "C" {
  */\r
 \r
 #ifdef BANKED_MODEL\r
-       /* \r
+       /*\r
         * Load the stack pointer for the task, then pull the critical nesting\r
-        * count and PPAGE register from the stack.  The remains of the \r
+        * count and PPAGE register from the stack.  The remains of the\r
         * context are restored by the RTI instruction.\r
         */\r
        #define portRESTORE_CONTEXT()                                                   \\r
@@ -173,9 +182,9 @@ extern "C" {
                " );                                                                    \\r
        }\r
 \r
-       /* \r
+       /*\r
         * By the time this macro is called the processor has already stacked the\r
-        * registers.  Simply stack the nesting count and PPAGE value, then save \r
+        * registers.  Simply stack the nesting count and PPAGE value, then save\r
         * the task stack pointer.\r
         */\r
        #define portSAVE_CONTEXT()                                                      \\r
@@ -193,7 +202,7 @@ extern "C" {
        }\r
 #else\r
 \r
-       /* \r
+       /*\r
         * These macros are as per the BANKED versions above, but without saving\r
         * and restoring the PPAGE register.\r
         */\r