void ATTR_NEAR vPortTickInterrupt( void );\r
\r
/* Function in non-banked memory which actually switches to first task. */\r
-portBASE_TYPE ATTR_NEAR xStartSchedulerNear( void );\r
+BaseType_t ATTR_NEAR xStartSchedulerNear( void );\r
\r
/* Calls to portENTER_CRITICAL() can be nested. When they are nested the \r
critical section should not be left (i.e. interrupts should not be re-enabled)\r
depth. Each task maintains it's own critical nesting depth variable so \r
uxCriticalNesting is saved and restored from the task stack during a context\r
switch. */\r
-volatile unsigned portBASE_TYPE uxCriticalNesting = 0x80; // un-initialized\r
+volatile UBaseType_t uxCriticalNesting = 0x80; // un-initialized\r
\r
/*-----------------------------------------------------------*/\r
\r
/* \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
\r
\r
\r
\r
/* The address of the task function is placed in the stack byte at a time. */\r
- *pxTopOfStack = ( portSTACK_TYPE ) *( ((portSTACK_TYPE *) (&pxCode) ) + 1 );\r
- *--pxTopOfStack = ( portSTACK_TYPE ) *( ((portSTACK_TYPE *) (&pxCode) ) + 0 );\r
+ *pxTopOfStack = ( StackType_t ) *( ((StackType_t *) (&pxCode) ) + 1 );\r
+ *--pxTopOfStack = ( StackType_t ) *( ((StackType_t *) (&pxCode) ) + 0 );\r
\r
/* Next are all the registers that form part of the task context. */\r
\r
/* Y register */\r
- *--pxTopOfStack = ( portSTACK_TYPE ) 0xff;\r
- *--pxTopOfStack = ( portSTACK_TYPE ) 0xee;\r
+ *--pxTopOfStack = ( StackType_t ) 0xff;\r
+ *--pxTopOfStack = ( StackType_t ) 0xee;\r
\r
/* X register */\r
- *--pxTopOfStack = ( portSTACK_TYPE ) 0xdd;\r
- *--pxTopOfStack = ( portSTACK_TYPE ) 0xcc;\r
+ *--pxTopOfStack = ( StackType_t ) 0xdd;\r
+ *--pxTopOfStack = ( StackType_t ) 0xcc;\r
\r
/* A register contains parameter high byte. */\r
- *--pxTopOfStack = ( portSTACK_TYPE ) *( ((portSTACK_TYPE *) (&pvParameters) ) + 0 );\r
+ *--pxTopOfStack = ( StackType_t ) *( ((StackType_t *) (&pvParameters) ) + 0 );\r
\r
/* B register contains parameter low byte. */\r
- *--pxTopOfStack = ( portSTACK_TYPE ) *( ((portSTACK_TYPE *) (&pvParameters) ) + 1 );\r
+ *--pxTopOfStack = ( StackType_t ) *( ((StackType_t *) (&pvParameters) ) + 1 );\r
\r
/* CCR: Note that when the task starts interrupts will be enabled since\r
"I" bit of CCR is cleared */\r
- *--pxTopOfStack = ( portSTACK_TYPE ) 0x80; // keeps Stop disabled (MCU default)\r
+ *--pxTopOfStack = ( StackType_t ) 0x80; // keeps Stop disabled (MCU default)\r
\r
/* tmp softregs used by GCC. Values right now don't matter. */\r
__asm("\n\\r
\r
/* The critical nesting depth is initialised with 0 (meaning not in\r
a critical section). */\r
- *--pxTopOfStack = ( portSTACK_TYPE ) 0x00;\r
+ *--pxTopOfStack = ( StackType_t ) 0x00;\r
\r
\r
return pxTopOfStack;\r
}\r
/*-----------------------------------------------------------*/\r
\r
-portBASE_TYPE xPortStartScheduler( void )\r
+BaseType_t xPortStartScheduler( void )\r
{\r
/* xPortStartScheduler() does not start the scheduler directly because \r
the header file containing the xPortStartScheduler() prototype is part \r
Instead it simply calls the locally defined xNearStartScheduler() - \r
which does use the CODE_SEG pragma. */\r
\r
- short register d;\r
+ int16_t register d;\r
__asm ("jmp xStartSchedulerNear ; will never return": "=d"(d));\r
return d;\r
}\r
/*-----------------------------------------------------------*/\r
\r
-portBASE_TYPE xStartSchedulerNear( void )\r
+BaseType_t xStartSchedulerNear( void )\r
{\r
/* Configure the timer that will generate the RTOS tick. Interrupts are\r
disabled when this function is called. */\r