]> git.sur5r.net Git - freertos/blobdiff - FreeRTOS/Source/portable/GCC/ATMega323/port.c
Replace standard types with stdint.h types.
[freertos] / FreeRTOS / Source / portable / GCC / ATMega323 / port.c
index 0e97aa419640817999811f82f8345ca985d08f5b..3a8a2721164a6f00e3268fc45926fab8a02315af 100644 (file)
@@ -83,20 +83,20 @@ Changes from V2.6.0
  *----------------------------------------------------------*/\r
 \r
 /* Start tasks with interrupts enables. */\r
-#define portFLAGS_INT_ENABLED                                  ( ( portSTACK_TYPE ) 0x80 )\r
+#define portFLAGS_INT_ENABLED                                  ( ( StackType_t ) 0x80 )\r
 \r
 /* Hardware constants for timer 1. */\r
-#define portCLEAR_COUNTER_ON_MATCH                             ( ( unsigned char ) 0x08 )\r
-#define portPRESCALE_64                                                        ( ( unsigned char ) 0x03 )\r
-#define portCLOCK_PRESCALER                                            ( ( unsigned long ) 64 )\r
-#define portCOMPARE_MATCH_A_INTERRUPT_ENABLE   ( ( unsigned char ) 0x10 )\r
+#define portCLEAR_COUNTER_ON_MATCH                             ( ( uint8_t ) 0x08 )\r
+#define portPRESCALE_64                                                        ( ( uint8_t ) 0x03 )\r
+#define portCLOCK_PRESCALER                                            ( ( uint32_t ) 64 )\r
+#define portCOMPARE_MATCH_A_INTERRUPT_ENABLE   ( ( uint8_t ) 0x10 )\r
 \r
 /*-----------------------------------------------------------*/\r
 \r
 /* We require the address of the pxCurrentTCB variable, but don't want to know\r
 any details of its type. */\r
-typedef void tskTCB;\r
-extern volatile tskTCB * volatile pxCurrentTCB;\r
+typedef void TCB_t;\r
+extern volatile TCB_t * volatile pxCurrentTCB;\r
 \r
 /*-----------------------------------------------------------*/\r
 \r
@@ -220,9 +220,9 @@ static void prvSetupTimerInterrupt( void );
 /* \r
  * See header file for description. \r
  */\r
-portSTACK_TYPE *pxPortInitialiseStack( portSTACK_TYPE *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
 {\r
-unsigned short usAddress;\r
+uint16_t usAddress;\r
 \r
        /* Place a few bytes of known values on the bottom of the stack. \r
        This is just useful for debugging. */\r
@@ -241,92 +241,92 @@ unsigned short usAddress;
 \r
        /* The start of the task code will be popped off the stack last, so place\r
        it on first. */\r
-       usAddress = ( unsigned short ) pxCode;\r
-       *pxTopOfStack = ( portSTACK_TYPE ) ( usAddress & ( unsigned short ) 0x00ff );\r
+       usAddress = ( uint16_t ) pxCode;\r
+       *pxTopOfStack = ( StackType_t ) ( usAddress & ( uint16_t ) 0x00ff );\r
        pxTopOfStack--;\r
 \r
        usAddress >>= 8;\r
-       *pxTopOfStack = ( portSTACK_TYPE ) ( usAddress & ( unsigned short ) 0x00ff );\r
+       *pxTopOfStack = ( StackType_t ) ( usAddress & ( uint16_t ) 0x00ff );\r
        pxTopOfStack--;\r
 \r
        /* Next simulate the stack as if after a call to portSAVE_CONTEXT().  \r
        portSAVE_CONTEXT places the flags on the stack immediately after r0\r
        to ensure the interrupts get disabled as soon as possible, and so ensuring\r
        the stack use is minimal should a context switch interrupt occur. */\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0x00;        /* R0 */\r
+       *pxTopOfStack = ( StackType_t ) 0x00;   /* R0 */\r
        pxTopOfStack--;\r
        *pxTopOfStack = portFLAGS_INT_ENABLED;\r
        pxTopOfStack--;\r
 \r
 \r
        /* Now the remaining registers.   The compiler expects R1 to be 0. */\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0x00;        /* R1 */\r
+       *pxTopOfStack = ( StackType_t ) 0x00;   /* R1 */\r
        pxTopOfStack--;\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0x02;        /* R2 */\r
+       *pxTopOfStack = ( StackType_t ) 0x02;   /* R2 */\r
        pxTopOfStack--;\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0x03;        /* R3 */\r
+       *pxTopOfStack = ( StackType_t ) 0x03;   /* R3 */\r
        pxTopOfStack--;\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0x04;        /* R4 */\r
+       *pxTopOfStack = ( StackType_t ) 0x04;   /* R4 */\r
        pxTopOfStack--;\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0x05;        /* R5 */\r
+       *pxTopOfStack = ( StackType_t ) 0x05;   /* R5 */\r
        pxTopOfStack--;\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0x06;        /* R6 */\r
+       *pxTopOfStack = ( StackType_t ) 0x06;   /* R6 */\r
        pxTopOfStack--;\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0x07;        /* R7 */\r
+       *pxTopOfStack = ( StackType_t ) 0x07;   /* R7 */\r
        pxTopOfStack--;\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0x08;        /* R8 */\r
+       *pxTopOfStack = ( StackType_t ) 0x08;   /* R8 */\r
        pxTopOfStack--;\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0x09;        /* R9 */\r
+       *pxTopOfStack = ( StackType_t ) 0x09;   /* R9 */\r
        pxTopOfStack--;\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0x10;        /* R10 */\r
+       *pxTopOfStack = ( StackType_t ) 0x10;   /* R10 */\r
        pxTopOfStack--;\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0x11;        /* R11 */\r
+       *pxTopOfStack = ( StackType_t ) 0x11;   /* R11 */\r
        pxTopOfStack--;\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0x12;        /* R12 */\r
+       *pxTopOfStack = ( StackType_t ) 0x12;   /* R12 */\r
        pxTopOfStack--;\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0x13;        /* R13 */\r
+       *pxTopOfStack = ( StackType_t ) 0x13;   /* R13 */\r
        pxTopOfStack--;\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0x14;        /* R14 */\r
+       *pxTopOfStack = ( StackType_t ) 0x14;   /* R14 */\r
        pxTopOfStack--;\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0x15;        /* R15 */\r
+       *pxTopOfStack = ( StackType_t ) 0x15;   /* R15 */\r
        pxTopOfStack--;\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0x16;        /* R16 */\r
+       *pxTopOfStack = ( StackType_t ) 0x16;   /* R16 */\r
        pxTopOfStack--;\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0x17;        /* R17 */\r
+       *pxTopOfStack = ( StackType_t ) 0x17;   /* R17 */\r
        pxTopOfStack--;\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0x18;        /* R18 */\r
+       *pxTopOfStack = ( StackType_t ) 0x18;   /* R18 */\r
        pxTopOfStack--;\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0x19;        /* R19 */\r
+       *pxTopOfStack = ( StackType_t ) 0x19;   /* R19 */\r
        pxTopOfStack--;\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0x20;        /* R20 */\r
+       *pxTopOfStack = ( StackType_t ) 0x20;   /* R20 */\r
        pxTopOfStack--;\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0x21;        /* R21 */\r
+       *pxTopOfStack = ( StackType_t ) 0x21;   /* R21 */\r
        pxTopOfStack--;\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0x22;        /* R22 */\r
+       *pxTopOfStack = ( StackType_t ) 0x22;   /* R22 */\r
        pxTopOfStack--;\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0x23;        /* R23 */\r
+       *pxTopOfStack = ( StackType_t ) 0x23;   /* R23 */\r
        pxTopOfStack--;\r
 \r
        /* Place the parameter on the stack in the expected location. */\r
-       usAddress = ( unsigned short ) pvParameters;\r
-       *pxTopOfStack = ( portSTACK_TYPE ) ( usAddress & ( unsigned short ) 0x00ff );\r
+       usAddress = ( uint16_t ) pvParameters;\r
+       *pxTopOfStack = ( StackType_t ) ( usAddress & ( uint16_t ) 0x00ff );\r
        pxTopOfStack--;\r
 \r
        usAddress >>= 8;\r
-       *pxTopOfStack = ( portSTACK_TYPE ) ( usAddress & ( unsigned short ) 0x00ff );\r
+       *pxTopOfStack = ( StackType_t ) ( usAddress & ( uint16_t ) 0x00ff );\r
        pxTopOfStack--;\r
 \r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0x26;        /* R26 X */\r
+       *pxTopOfStack = ( StackType_t ) 0x26;   /* R26 X */\r
        pxTopOfStack--;\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0x27;        /* R27 */\r
+       *pxTopOfStack = ( StackType_t ) 0x27;   /* R27 */\r
        pxTopOfStack--;\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0x28;        /* R28 Y */\r
+       *pxTopOfStack = ( StackType_t ) 0x28;   /* R28 Y */\r
        pxTopOfStack--;\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0x29;        /* R29 */\r
+       *pxTopOfStack = ( StackType_t ) 0x29;   /* R29 */\r
        pxTopOfStack--;\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0x30;        /* R30 Z */\r
+       *pxTopOfStack = ( StackType_t ) 0x30;   /* R30 Z */\r
        pxTopOfStack--;\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0x031;       /* R31 */\r
+       *pxTopOfStack = ( StackType_t ) 0x031;  /* R31 */\r
        pxTopOfStack--;\r
 \r
        /*lint +e950 +e611 +e923 */\r
@@ -335,7 +335,7 @@ unsigned short usAddress;
 }\r
 /*-----------------------------------------------------------*/\r
 \r
-portBASE_TYPE xPortStartScheduler( void )\r
+BaseType_t xPortStartScheduler( void )\r
 {\r
        /* Setup the hardware to generate the tick. */\r
        prvSetupTimerInterrupt();\r
@@ -399,8 +399,8 @@ void vPortYieldFromTick( void )
  */\r
 static void prvSetupTimerInterrupt( void )\r
 {\r
-unsigned long ulCompareMatch;\r
-unsigned char ucHighByte, ucLowByte;\r
+uint32_t ulCompareMatch;\r
+uint8_t ucHighByte, ucLowByte;\r
 \r
        /* Using 16bit timer 1 to generate the tick.  Correct fuses must be\r
        selected for the configCPU_CLOCK_HZ clock. */\r
@@ -411,13 +411,13 @@ unsigned char ucHighByte, ucLowByte;
        ulCompareMatch /= portCLOCK_PRESCALER;\r
 \r
        /* Adjust for correct value. */\r
-       ulCompareMatch -= ( unsigned long ) 1;\r
+       ulCompareMatch -= ( uint32_t ) 1;\r
 \r
        /* Setup compare match value for compare match A.  Interrupts are disabled \r
        before this is called so we need not worry here. */\r
-       ucLowByte = ( unsigned char ) ( ulCompareMatch & ( unsigned long ) 0xff );\r
+       ucLowByte = ( uint8_t ) ( ulCompareMatch & ( uint32_t ) 0xff );\r
        ulCompareMatch >>= 8;\r
-       ucHighByte = ( unsigned char ) ( ulCompareMatch & ( unsigned long ) 0xff );\r
+       ucHighByte = ( uint8_t ) ( ulCompareMatch & ( uint32_t ) 0xff );\r
        OCR1AH = ucHighByte;\r
        OCR1AL = ucLowByte;\r
 \r