From db5df4bfde3ae0b306e63d9e912a4b0f78876e31 Mon Sep 17 00:00:00 2001 From: Soren Ptak Date: Thu, 7 Dec 2023 11:16:33 -0500 Subject: Revert Portable/CodeWarrior formatting (#831) Revert the formatting on CodeWarrior ports --- portable/CodeWarrior/ColdFire_V1/port.c | 39 +++-- portable/CodeWarrior/ColdFire_V1/portmacro.h | 59 ++++---- portable/CodeWarrior/ColdFire_V2/port.c | 50 +++---- portable/CodeWarrior/ColdFire_V2/portmacro.h | 56 ++++---- portable/CodeWarrior/HCS12/port.c | 90 ++++++------ portable/CodeWarrior/HCS12/portmacro.h | 207 +++++++++++++-------------- 6 files changed, 245 insertions(+), 256 deletions(-) diff --git a/portable/CodeWarrior/ColdFire_V1/port.c b/portable/CodeWarrior/ColdFire_V1/port.c index dd6d794e9..d9831384e 100644 --- a/portable/CodeWarrior/ColdFire_V1/port.c +++ b/portable/CodeWarrior/ColdFire_V1/port.c @@ -31,38 +31,35 @@ #include "task.h" -#define portINITIAL_FORMAT_VECTOR ( ( StackType_t ) 0x4000 ) +#define portINITIAL_FORMAT_VECTOR ( ( StackType_t ) 0x4000 ) /* Supervisor mode set. */ -#define portINITIAL_STATUS_REGISTER ( ( StackType_t ) 0x2000 ) +#define portINITIAL_STATUS_REGISTER ( ( StackType_t ) 0x2000) /* The clock prescale into the timer peripheral. */ -#define portPRESCALE_VALUE ( ( uint8_t ) 10 ) +#define portPRESCALE_VALUE ( ( uint8_t ) 10 ) /* The clock frequency into the RTC. */ -#define portRTC_CLOCK_HZ ( ( uint32_t ) 1000 ) +#define portRTC_CLOCK_HZ ( ( uint32_t ) 1000 ) asm void interrupt VectorNumber_VL1swi vPortYieldISR( void ); static void prvSetupTimerInterrupt( void ); /* Used to keep track of the number of nested calls to taskENTER_CRITICAL(). This - * will be set to 0 prior to the first task being started. */ +will be set to 0 prior to the first task being started. */ static uint32_t ulCriticalNesting = 0x9999UL; /*-----------------------------------------------------------*/ -StackType_t * pxPortInitialiseStack( StackType_t * pxTopOfStack, - TaskFunction_t pxCode, - void * pvParameters ) +StackType_t *pxPortInitialiseStack( StackType_t * pxTopOfStack, TaskFunction_t pxCode, void *pvParameters ) { - uint32_t ulOriginalA5; - __asm { - MOVE.L A5, ulOriginalA5 - }; +uint32_t ulOriginalA5; + __asm{ MOVE.L A5, ulOriginalA5 }; - *pxTopOfStack = ( StackType_t ) 0xDEADBEEF; + + *pxTopOfStack = (StackType_t) 0xDEADBEEF; pxTopOfStack--; /* Exception stack frame starts with the return address. */ @@ -73,7 +70,7 @@ StackType_t * pxPortInitialiseStack( StackType_t * pxTopOfStack, pxTopOfStack--; *pxTopOfStack = ( StackType_t ) 0x0; /*FP*/ - pxTopOfStack -= 14; /* A5 to D0. */ + pxTopOfStack -= 14; /* A5 to D0. */ /* Parameter in A0. */ *( pxTopOfStack + 8 ) = ( StackType_t ) pvParameters; @@ -87,7 +84,7 @@ StackType_t * pxPortInitialiseStack( StackType_t * pxTopOfStack, BaseType_t xPortStartScheduler( void ) { - extern void vPortStartFirstTask( void ); +extern void vPortStartFirstTask( void ); ulCriticalNesting = 0UL; @@ -110,7 +107,7 @@ static void prvSetupTimerInterrupt( void ) RTCMOD = portRTC_CLOCK_HZ / configTICK_RATE_HZ; /* Enable the RTC to generate interrupts - interrupts are already disabled - * when this code executes. */ + when this code executes. */ RTCSC_RTIE = 1; } /*-----------------------------------------------------------*/ @@ -126,20 +123,19 @@ void vPortEnterCritical( void ) if( ulCriticalNesting == 0UL ) { /* Guard against context switches being pended simultaneously with a - * critical section being entered. */ + critical section being entered. */ do { portDISABLE_INTERRUPTS(); - if( INTC_FRC == 0UL ) { break; } portENABLE_INTERRUPTS(); + } while( 1 ); } - ulCriticalNesting++; } /*-----------------------------------------------------------*/ @@ -147,7 +143,6 @@ void vPortEnterCritical( void ) void vPortExitCritical( void ) { ulCriticalNesting--; - if( ulCriticalNesting == 0 ) { portENABLE_INTERRUPTS(); @@ -157,7 +152,7 @@ void vPortExitCritical( void ) void vPortYieldHandler( void ) { - uint32_t ulSavedInterruptMask; +uint32_t ulSavedInterruptMask; ulSavedInterruptMask = portSET_INTERRUPT_MASK_FROM_ISR(); { @@ -171,7 +166,7 @@ void vPortYieldHandler( void ) void interrupt VectorNumber_Vrtc vPortTickISR( void ) { - uint32_t ulSavedInterruptMask; +uint32_t ulSavedInterruptMask; /* Clear the interrupt. */ RTCSC |= RTCSC_RTIF_MASK; diff --git a/portable/CodeWarrior/ColdFire_V1/portmacro.h b/portable/CodeWarrior/ColdFire_V1/portmacro.h index d72637801..a98093d72 100644 --- a/portable/CodeWarrior/ColdFire_V1/portmacro.h +++ b/portable/CodeWarrior/ColdFire_V1/portmacro.h @@ -46,34 +46,34 @@ */ /* Type definitions. */ -#define portCHAR char -#define portFLOAT float -#define portDOUBLE double -#define portLONG long -#define portSHORT short -#define portSTACK_TYPE uint32_t -#define portBASE_TYPE long - -typedef portSTACK_TYPE StackType_t; -typedef long BaseType_t; -typedef unsigned long UBaseType_t; - - -#if ( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_16_BITS ) - typedef uint16_t TickType_t; - #define portMAX_DELAY ( TickType_t ) 0xffff +#define portCHAR char +#define portFLOAT float +#define portDOUBLE double +#define portLONG long +#define portSHORT short +#define portSTACK_TYPE uint32_t +#define portBASE_TYPE long + +typedef portSTACK_TYPE StackType_t; +typedef long BaseType_t; +typedef unsigned long UBaseType_t; + + +#if( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_16_BITS ) + typedef uint16_t TickType_t; + #define portMAX_DELAY ( TickType_t ) 0xffff #elif ( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_32_BITS ) - typedef uint32_t TickType_t; - #define portMAX_DELAY ( TickType_t ) ( 0xFFFFFFFFUL ) + typedef uint32_t TickType_t; + #define portMAX_DELAY ( TickType_t ) ( 0xFFFFFFFFUL ) #else #error configTICK_TYPE_WIDTH_IN_BITS set to unsupported tick type width. #endif /*-----------------------------------------------------------*/ /* Hardware specifics. */ -#define portBYTE_ALIGNMENT 4 -#define portSTACK_GROWTH -1 -#define portTICK_PERIOD_MS ( ( TickType_t ) 1000 / configTICK_RATE_HZ ) +#define portBYTE_ALIGNMENT 4 +#define portSTACK_GROWTH -1 +#define portTICK_PERIOD_MS ( ( TickType_t ) 1000 / configTICK_RATE_HZ ) /*-----------------------------------------------------------*/ uint32_t ulPortSetIPL( uint32_t ); @@ -83,29 +83,30 @@ uint32_t ulPortSetIPL( uint32_t ); extern void vPortEnterCritical( void ); extern void vPortExitCritical( void ); -#define portENTER_CRITICAL() vPortEnterCritical() -#define portEXIT_CRITICAL() vPortExitCritical() +#define portENTER_CRITICAL() vPortEnterCritical() +#define portEXIT_CRITICAL() vPortExitCritical() extern UBaseType_t uxPortSetInterruptMaskFromISR( void ); extern void vPortClearInterruptMaskFromISR( UBaseType_t ); -#define portSET_INTERRUPT_MASK_FROM_ISR() ulPortSetIPL( configMAX_SYSCALL_INTERRUPT_PRIORITY ) -#define portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedStatusRegister ) ulPortSetIPL( uxSavedStatusRegister ) +#define portSET_INTERRUPT_MASK_FROM_ISR() ulPortSetIPL( configMAX_SYSCALL_INTERRUPT_PRIORITY ) +#define portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedStatusRegister ) ulPortSetIPL( uxSavedStatusRegister ) /*-----------------------------------------------------------*/ /* Task utilities. */ -#define portNOP() asm volatile ( "nop" ) +#define portNOP() asm volatile ( "nop" ) /* Context switches are requested using the force register. */ -#define portYIELD() INTC_SFRC = 0x3E; portNOP(); portNOP(); portNOP(); portNOP(); portNOP() +#define portYIELD() INTC_SFRC = 0x3E; portNOP(); portNOP(); portNOP(); portNOP(); portNOP() /*-----------------------------------------------------------*/ /* Task function macros as described on the FreeRTOS.org WEB site. */ -#define portTASK_FUNCTION_PROTO( vFunction, pvParameters ) void vFunction( void * pvParameters ) __attribute__( ( noreturn ) ) -#define portTASK_FUNCTION( vFunction, pvParameters ) void vFunction( void * pvParameters ) +#define portTASK_FUNCTION_PROTO( vFunction, pvParameters ) void vFunction( void *pvParameters ) __attribute__((noreturn)) +#define portTASK_FUNCTION( vFunction, pvParameters ) void vFunction( void *pvParameters ) /*-----------------------------------------------------------*/ + #define portEND_SWITCHING_ISR( xSwitchRequired ) \ do \ { \ diff --git a/portable/CodeWarrior/ColdFire_V2/port.c b/portable/CodeWarrior/ColdFire_V2/port.c index a7a78a7e9..5bca650fe 100644 --- a/portable/CodeWarrior/ColdFire_V2/port.c +++ b/portable/CodeWarrior/ColdFire_V2/port.c @@ -31,41 +31,39 @@ #include "task.h" -#define portINITIAL_FORMAT_VECTOR ( ( StackType_t ) 0x4000 ) +#define portINITIAL_FORMAT_VECTOR ( ( StackType_t ) 0x4000 ) /* Supervisor mode set. */ -#define portINITIAL_STATUS_REGISTER ( ( StackType_t ) 0x2000 ) +#define portINITIAL_STATUS_REGISTER ( ( StackType_t ) 0x2000) /* Used to keep track of the number of nested calls to taskENTER_CRITICAL(). This - * will be set to 0 prior to the first task being started. */ +will be set to 0 prior to the first task being started. */ static uint32_t ulCriticalNesting = 0x9999UL; -#define portSAVE_CONTEXT() \ - lea.l( -60, % sp ), % sp; \ - movem.l % d0 - % fp, ( % sp ); \ - move.l pxCurrentTCB, % a0; \ - move.l % sp, ( % a0 ); +#define portSAVE_CONTEXT() \ + lea.l (-60, %sp), %sp; \ + movem.l %d0-%fp, (%sp); \ + move.l pxCurrentTCB, %a0; \ + move.l %sp, (%a0); -#define portRESTORE_CONTEXT() \ - move.l pxCurrentTCB, % a0; \ - move.l( % a0 ), % sp; \ - movem.l( % sp ), % d0 - % fp; \ - lea.l % sp@( 60 ), % sp; \ +#define portRESTORE_CONTEXT() \ + move.l pxCurrentTCB, %a0; \ + move.l (%a0), %sp; \ + movem.l (%sp), %d0-%fp; \ + lea.l %sp@(60), %sp; \ rte /*-----------------------------------------------------------*/ -StackType_t * pxPortInitialiseStack( StackType_t * pxTopOfStack, - TaskFunction_t pxCode, - void * pvParameters ) +StackType_t *pxPortInitialiseStack( StackType_t * pxTopOfStack, TaskFunction_t pxCode, void *pvParameters ) { *pxTopOfStack = ( StackType_t ) pvParameters; pxTopOfStack--; - *pxTopOfStack = ( StackType_t ) 0xDEADBEEF; + *pxTopOfStack = (StackType_t) 0xDEADBEEF; pxTopOfStack--; /* Exception stack frame starts with the return address. */ @@ -76,7 +74,7 @@ StackType_t * pxPortInitialiseStack( StackType_t * pxTopOfStack, pxTopOfStack--; *pxTopOfStack = ( StackType_t ) 0x0; /*FP*/ - pxTopOfStack -= 14; /* A5 to D0. */ + pxTopOfStack -= 14; /* A5 to D0. */ return pxTopOfStack; } @@ -84,7 +82,7 @@ StackType_t * pxPortInitialiseStack( StackType_t * pxTopOfStack, BaseType_t xPortStartScheduler( void ) { - extern void vPortStartFirstTask( void ); +extern void vPortStartFirstTask( void ); ulCriticalNesting = 0UL; @@ -109,20 +107,19 @@ void vPortEnterCritical( void ) if( ulCriticalNesting == 0UL ) { /* Guard against context switches being pended simultaneously with a - * critical section being entered. */ + critical section being entered. */ do { portDISABLE_INTERRUPTS(); - if( MCF_INTC0_INTFRCH == 0UL ) { break; } portENABLE_INTERRUPTS(); + } while( 1 ); } - ulCriticalNesting++; } /*-----------------------------------------------------------*/ @@ -130,7 +127,6 @@ void vPortEnterCritical( void ) void vPortExitCritical( void ) { ulCriticalNesting--; - if( ulCriticalNesting == 0 ) { portENABLE_INTERRUPTS(); @@ -140,12 +136,12 @@ void vPortExitCritical( void ) void vPortYieldHandler( void ) { - uint32_t ulSavedInterruptMask; +uint32_t ulSavedInterruptMask; ulSavedInterruptMask = portSET_INTERRUPT_MASK_FROM_ISR(); - /* Note this will clear all forced interrupts - this is done for speed. */ - MCF_INTC0_INTFRCL = 0; - vTaskSwitchContext(); + /* Note this will clear all forced interrupts - this is done for speed. */ + MCF_INTC0_INTFRCL = 0; + vTaskSwitchContext(); portCLEAR_INTERRUPT_MASK_FROM_ISR( ulSavedInterruptMask ); } /*-----------------------------------------------------------*/ diff --git a/portable/CodeWarrior/ColdFire_V2/portmacro.h b/portable/CodeWarrior/ColdFire_V2/portmacro.h index e367e0774..a59dff9dd 100644 --- a/portable/CodeWarrior/ColdFire_V2/portmacro.h +++ b/portable/CodeWarrior/ColdFire_V2/portmacro.h @@ -46,33 +46,33 @@ */ /* Type definitions. */ -#define portCHAR char -#define portFLOAT float -#define portDOUBLE double -#define portLONG long -#define portSHORT short -#define portSTACK_TYPE uint32_t -#define portBASE_TYPE long - -typedef portSTACK_TYPE StackType_t; -typedef long BaseType_t; -typedef unsigned long UBaseType_t; - -#if ( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_16_BITS ) - typedef uint16_t TickType_t; - #define portMAX_DELAY ( TickType_t ) 0xffff +#define portCHAR char +#define portFLOAT float +#define portDOUBLE double +#define portLONG long +#define portSHORT short +#define portSTACK_TYPE uint32_t +#define portBASE_TYPE long + +typedef portSTACK_TYPE StackType_t; +typedef long BaseType_t; +typedef unsigned long UBaseType_t; + +#if( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_16_BITS ) + typedef uint16_t TickType_t; + #define portMAX_DELAY ( TickType_t ) 0xffff #elif ( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_32_BITS ) - typedef uint32_t TickType_t; - #define portMAX_DELAY ( TickType_t ) ( 0xFFFFFFFFUL ) + typedef uint32_t TickType_t; + #define portMAX_DELAY ( TickType_t ) ( 0xFFFFFFFFUL ) #else #error configTICK_TYPE_WIDTH_IN_BITS set to unsupported tick type width. #endif /*-----------------------------------------------------------*/ /* Hardware specifics. */ -#define portBYTE_ALIGNMENT 4 -#define portSTACK_GROWTH -1 -#define portTICK_PERIOD_MS ( ( TickType_t ) 1000 / configTICK_RATE_HZ ) +#define portBYTE_ALIGNMENT 4 +#define portSTACK_GROWTH -1 +#define portTICK_PERIOD_MS ( ( TickType_t ) 1000 / configTICK_RATE_HZ ) /*-----------------------------------------------------------*/ uint32_t ulPortSetIPL( uint32_t ); #define portDISABLE_INTERRUPTS() ulPortSetIPL( configMAX_SYSCALL_INTERRUPT_PRIORITY ) @@ -81,28 +81,28 @@ uint32_t ulPortSetIPL( uint32_t ); extern void vPortEnterCritical( void ); extern void vPortExitCritical( void ); -#define portENTER_CRITICAL() vPortEnterCritical() -#define portEXIT_CRITICAL() vPortExitCritical() +#define portENTER_CRITICAL() vPortEnterCritical() +#define portEXIT_CRITICAL() vPortExitCritical() extern UBaseType_t uxPortSetInterruptMaskFromISR( void ); extern void vPortClearInterruptMaskFromISR( UBaseType_t ); -#define portSET_INTERRUPT_MASK_FROM_ISR() ulPortSetIPL( configMAX_SYSCALL_INTERRUPT_PRIORITY ) -#define portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedStatusRegister ) ulPortSetIPL( uxSavedStatusRegister ) +#define portSET_INTERRUPT_MASK_FROM_ISR() ulPortSetIPL( configMAX_SYSCALL_INTERRUPT_PRIORITY ) +#define portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedStatusRegister ) ulPortSetIPL( uxSavedStatusRegister ) /*-----------------------------------------------------------*/ /* Task utilities. */ -#define portNOP() asm volatile ( "nop" ) +#define portNOP() asm volatile ( "nop" ) /* Note this will overwrite all other bits in the force register, it is done this way for speed. */ -#define portYIELD() MCF_INTC0_INTFRCL = ( 1UL << configYIELD_INTERRUPT_VECTOR ); portNOP(); portNOP() /* -32 as we are using the high word of the 64bit mask. */ +#define portYIELD() MCF_INTC0_INTFRCL = ( 1UL << configYIELD_INTERRUPT_VECTOR ); portNOP(); portNOP() /* -32 as we are using the high word of the 64bit mask. */ /*-----------------------------------------------------------*/ /* Task function macros as described on the FreeRTOS.org WEB site. */ -#define portTASK_FUNCTION_PROTO( vFunction, pvParameters ) void vFunction( void * pvParameters ) __attribute__( ( noreturn ) ) -#define portTASK_FUNCTION( vFunction, pvParameters ) void vFunction( void * pvParameters ) +#define portTASK_FUNCTION_PROTO( vFunction, pvParameters ) void vFunction( void *pvParameters ) __attribute__((noreturn)) +#define portTASK_FUNCTION( vFunction, pvParameters ) void vFunction( void *pvParameters ) /*-----------------------------------------------------------*/ #define portEND_SWITCHING_ISR( xSwitchRequired ) \ diff --git a/portable/CodeWarrior/HCS12/port.c b/portable/CodeWarrior/HCS12/port.c index 1b6f5c37d..e4876125a 100644 --- a/portable/CodeWarrior/HCS12/port.c +++ b/portable/CodeWarrior/HCS12/port.c @@ -32,8 +32,8 @@ /*----------------------------------------------------------- -* Implementation of functions defined in portable.h for the HCS12 port. -*----------------------------------------------------------*/ + * Implementation of functions defined in portable.h for the HCS12 port. + *----------------------------------------------------------*/ /* @@ -43,29 +43,29 @@ static void prvSetupTimerInterrupt( void ); /* Interrupt service routines have to be in non-banked memory - as does the - * scheduler startup function. */ +scheduler startup function. */ #pragma CODE_SEG __NEAR_SEG NON_BANKED -/* Manual context switch function. This is the SWI ISR. */ -void interrupt vPortYield( void ); + /* Manual context switch function. This is the SWI ISR. */ + void interrupt vPortYield( void ); -/* Tick context switch function. This is the timer ISR. */ -void interrupt vPortTickInterrupt( void ); + /* Tick context switch function. This is the timer ISR. */ + void interrupt vPortTickInterrupt( void ); -/* Simply called by xPortStartScheduler(). xPortStartScheduler() does not - * start the scheduler directly because the header file containing the - * xPortStartScheduler() prototype is part of the common kernel code, and - * therefore cannot use the CODE_SEG pragma. */ -static BaseType_t xBankedStartScheduler( void ); + /* Simply called by xPortStartScheduler(). xPortStartScheduler() does not + start the scheduler directly because the header file containing the + xPortStartScheduler() prototype is part of the common kernel code, and + therefore cannot use the CODE_SEG pragma. */ + static BaseType_t xBankedStartScheduler( void ); #pragma CODE_SEG DEFAULT /* Calls to portENTER_CRITICAL() can be nested. When they are nested the - * critical section should not be left (i.e. interrupts should not be re-enabled) - * until the nesting depth reaches 0. This variable simply tracks the nesting - * depth. Each task maintains it's own critical nesting depth variable so - * uxCriticalNesting is saved and restored from the task stack during a context - * switch. */ +critical section should not be left (i.e. interrupts should not be re-enabled) +until the nesting depth reaches 0. This variable simply tracks the nesting +depth. Each task maintains it's own critical nesting depth variable so +uxCriticalNesting is saved and restored from the task stack during a context +switch. */ volatile UBaseType_t uxCriticalNesting = 0xff; /*-----------------------------------------------------------*/ @@ -73,33 +73,31 @@ volatile UBaseType_t uxCriticalNesting = 0xff; /* * See header file for description. */ -StackType_t * pxPortInitialiseStack( StackType_t * pxTopOfStack, - TaskFunction_t pxCode, - void * pvParameters ) +StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters ) { /* - * Place a few bytes of known values on the bottom of the stack. - * This can be uncommented to provide useful stack markers when debugging. - * - * pxTopOfStack = ( StackType_t ) 0x11; - * pxTopOfStack--; - * pxTopOfStack = ( StackType_t ) 0x22; - * pxTopOfStack--; - * pxTopOfStack = ( StackType_t ) 0x33; - * pxTopOfStack--; - */ + Place a few bytes of known values on the bottom of the stack. + This can be uncommented to provide useful stack markers when debugging. + + *pxTopOfStack = ( StackType_t ) 0x11; + pxTopOfStack--; + *pxTopOfStack = ( StackType_t ) 0x22; + pxTopOfStack--; + *pxTopOfStack = ( StackType_t ) 0x33; + pxTopOfStack--; + */ /* Setup the initial stack of the task. The stack is set exactly as - * expected by the portRESTORE_CONTEXT() macro. In this case the stack as - * expected by the HCS12 RTI instruction. */ + expected by the portRESTORE_CONTEXT() macro. In this case the stack as + expected by the HCS12 RTI instruction. */ /* The address of the task function is placed in the stack byte at a time. */ - *pxTopOfStack = ( StackType_t ) *( ( ( StackType_t * ) ( &pxCode ) ) + 1 ); + *pxTopOfStack = ( StackType_t ) *( ((StackType_t *) (&pxCode) ) + 1 ); pxTopOfStack--; - *pxTopOfStack = ( StackType_t ) *( ( ( StackType_t * ) ( &pxCode ) ) + 0 ); + *pxTopOfStack = ( StackType_t ) *( ((StackType_t *) (&pxCode) ) + 0 ); pxTopOfStack--; /* Next are all the registers that form part of the task context. */ @@ -117,15 +115,15 @@ StackType_t * pxPortInitialiseStack( StackType_t * pxTopOfStack, pxTopOfStack--; /* A register contains parameter high byte. */ - *pxTopOfStack = ( StackType_t ) *( ( ( StackType_t * ) ( &pvParameters ) ) + 0 ); + *pxTopOfStack = ( StackType_t ) *( ((StackType_t *) (&pvParameters) ) + 0 ); pxTopOfStack--; /* B register contains parameter low byte. */ - *pxTopOfStack = ( StackType_t ) *( ( ( StackType_t * ) ( &pvParameters ) ) + 1 ); + *pxTopOfStack = ( StackType_t ) *( ((StackType_t *) (&pvParameters) ) + 1 ); pxTopOfStack--; /* CCR: Note that when the task starts interrupts will be enabled since - * "I" bit of CCR is cleared */ + "I" bit of CCR is cleared */ *pxTopOfStack = ( StackType_t ) 0x00; pxTopOfStack--; @@ -136,7 +134,7 @@ StackType_t * pxPortInitialiseStack( StackType_t * pxTopOfStack, #endif /* Finally the critical nesting depth is initialised with 0 (not within - * a critical section). */ + a critical section). */ *pxTopOfStack = ( StackType_t ) 0x00; return pxTopOfStack; @@ -159,10 +157,10 @@ static void prvSetupTimerInterrupt( void ) BaseType_t xPortStartScheduler( void ) { /* xPortStartScheduler() does not start the scheduler directly because - * the header file containing the xPortStartScheduler() prototype is part - * of the common kernel code, and therefore cannot use the CODE_SEG pragma. - * Instead it simply calls the locally defined xBankedStartScheduler() - - * which does use the CODE_SEG pragma. */ + the header file containing the xPortStartScheduler() prototype is part + of the common kernel code, and therefore cannot use the CODE_SEG pragma. + Instead it simply calls the locally defined xBankedStartScheduler() - + which does use the CODE_SEG pragma. */ return xBankedStartScheduler(); } @@ -173,7 +171,7 @@ BaseType_t xPortStartScheduler( void ) static BaseType_t xBankedStartScheduler( void ) { /* Configure the timer that will generate the RTOS tick. Interrupts are - * disabled when this function is called. */ + disabled when this function is called. */ prvSetupTimerInterrupt(); /* Restore the context of the first task. */ @@ -224,15 +222,15 @@ void interrupt vPortTickInterrupt( void ) TFLG1 = 1; /* Restore the context of a task - which may be a different task - * to that interrupted. */ + to that interrupted. */ portRESTORE_CONTEXT(); } - #else /* if configUSE_PREEMPTION == 1 */ + #else { xTaskIncrementTick(); TFLG1 = 1; } - #endif /* if configUSE_PREEMPTION == 1 */ + #endif } #pragma CODE_SEG DEFAULT diff --git a/portable/CodeWarrior/HCS12/portmacro.h b/portable/CodeWarrior/HCS12/portmacro.h index f2f899346..d0d0a140e 100644 --- a/portable/CodeWarrior/HCS12/portmacro.h +++ b/portable/CodeWarrior/HCS12/portmacro.h @@ -41,40 +41,40 @@ */ /* Type definitions. */ -#define portCHAR char -#define portFLOAT float -#define portDOUBLE double -#define portLONG long -#define portSHORT short -#define portSTACK_TYPE uint8_t -#define portBASE_TYPE char - -typedef portSTACK_TYPE StackType_t; -typedef signed char BaseType_t; -typedef unsigned char UBaseType_t; - -#if ( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_16_BITS ) - typedef uint16_t TickType_t; - #define portMAX_DELAY ( TickType_t ) 0xffff +#define portCHAR char +#define portFLOAT float +#define portDOUBLE double +#define portLONG long +#define portSHORT short +#define portSTACK_TYPE uint8_t +#define portBASE_TYPE char + +typedef portSTACK_TYPE StackType_t; +typedef signed char BaseType_t; +typedef unsigned char UBaseType_t; + +#if( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_16_BITS ) + typedef uint16_t TickType_t; + #define portMAX_DELAY ( TickType_t ) 0xffff #elif ( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_32_BITS ) - typedef uint32_t TickType_t; - #define portMAX_DELAY ( TickType_t ) ( 0xFFFFFFFFUL ) + typedef uint32_t TickType_t; + #define portMAX_DELAY ( TickType_t ) ( 0xFFFFFFFFUL ) #else #error configTICK_TYPE_WIDTH_IN_BITS set to unsupported tick type width. #endif /*-----------------------------------------------------------*/ /* Hardware specifics. */ -#define portBYTE_ALIGNMENT 1 -#define portSTACK_GROWTH ( -1 ) -#define portTICK_PERIOD_MS ( ( TickType_t ) 1000 / configTICK_RATE_HZ ) -#define portYIELD() __asm( "swi" ); -#define portNOP() __asm( "nop" ); +#define portBYTE_ALIGNMENT 1 +#define portSTACK_GROWTH ( -1 ) +#define portTICK_PERIOD_MS ( ( TickType_t ) 1000 / configTICK_RATE_HZ ) +#define portYIELD() __asm( "swi" ); +#define portNOP() __asm( "nop" ); /*-----------------------------------------------------------*/ /* Critical section handling. */ -#define portENABLE_INTERRUPTS() __asm( "cli" ) -#define portDISABLE_INTERRUPTS() __asm( "sei" ) +#define portENABLE_INTERRUPTS() __asm( "cli" ) +#define portDISABLE_INTERRUPTS() __asm( "sei" ) /* * Disable interrupts before incrementing the count of critical section nesting. @@ -82,29 +82,29 @@ typedef unsigned char UBaseType_t; * re-enabled. Once interrupts are disabled the nesting count can be accessed * directly. Each task maintains its own nesting count. */ -#define portENTER_CRITICAL() \ - { \ - extern volatile UBaseType_t uxCriticalNesting; \ - \ - portDISABLE_INTERRUPTS(); \ - uxCriticalNesting++; \ - } +#define portENTER_CRITICAL() \ +{ \ + extern volatile UBaseType_t uxCriticalNesting; \ + \ + portDISABLE_INTERRUPTS(); \ + uxCriticalNesting++; \ +} /* * Interrupts are disabled so we can access the nesting count directly. If the * nesting is found to be 0 (no nesting) then we are leaving the critical * section and interrupts can be re-enabled. */ -#define portEXIT_CRITICAL() \ - { \ - extern volatile UBaseType_t uxCriticalNesting; \ - \ - uxCriticalNesting--; \ - if( uxCriticalNesting == 0 ) \ - { \ - portENABLE_INTERRUPTS(); \ - } \ - } +#define portEXIT_CRITICAL() \ +{ \ + extern volatile UBaseType_t uxCriticalNesting; \ + \ + uxCriticalNesting--; \ + if( uxCriticalNesting == 0 ) \ + { \ + portENABLE_INTERRUPTS(); \ + } \ +} /*-----------------------------------------------------------*/ /* Task utilities. */ @@ -120,71 +120,70 @@ typedef unsigned char UBaseType_t; */ #ifdef BANKED_MODEL - -/* - * Load the stack pointer for the task, then pull the critical nesting - * count and PPAGE register from the stack. The remains of the - * context are restored by the RTI instruction. - */ - #define portRESTORE_CONTEXT() \ - { \ - extern volatile void * pxCurrentTCB; \ - extern volatile UBaseType_t uxCriticalNesting; \ - \ - __asm( "ldx pxCurrentTCB" ); \ - __asm( "lds 0, x" ); \ - __asm( "pula" ); \ - __asm( "staa uxCriticalNesting" ); \ - __asm( "pula" ); \ - __asm( "staa 0x30" ); /* 0x30 = PPAGE */ \ + /* + * Load the stack pointer for the task, then pull the critical nesting + * count and PPAGE register from the stack. The remains of the + * context are restored by the RTI instruction. + */ + #define portRESTORE_CONTEXT() \ + { \ + extern volatile void * pxCurrentTCB; \ + extern volatile UBaseType_t uxCriticalNesting; \ + \ + __asm( "ldx pxCurrentTCB" ); \ + __asm( "lds 0, x" ); \ + __asm( "pula" ); \ + __asm( "staa uxCriticalNesting" ); \ + __asm( "pula" ); \ + __asm( "staa 0x30" ); /* 0x30 = PPAGE */ \ } -/* - * By the time this macro is called the processor has already stacked the - * registers. Simply stack the nesting count and PPAGE value, then save - * the task stack pointer. - */ - #define portSAVE_CONTEXT() \ - { \ - extern volatile void * pxCurrentTCB; \ - extern volatile UBaseType_t uxCriticalNesting; \ - \ - __asm( "ldaa 0x30" ); /* 0x30 = PPAGE */ \ - __asm( "psha" ); \ - __asm( "ldaa uxCriticalNesting" ); \ - __asm( "psha" ); \ - __asm( "ldx pxCurrentTCB" ); \ - __asm( "sts 0, x" ); \ + /* + * By the time this macro is called the processor has already stacked the + * registers. Simply stack the nesting count and PPAGE value, then save + * the task stack pointer. + */ + #define portSAVE_CONTEXT() \ + { \ + extern volatile void * pxCurrentTCB; \ + extern volatile UBaseType_t uxCriticalNesting; \ + \ + __asm( "ldaa 0x30" ); /* 0x30 = PPAGE */ \ + __asm( "psha" ); \ + __asm( "ldaa uxCriticalNesting" ); \ + __asm( "psha" ); \ + __asm( "ldx pxCurrentTCB" ); \ + __asm( "sts 0, x" ); \ } -#else /* ifdef BANKED_MODEL */ - -/* - * These macros are as per the BANKED versions above, but without saving - * and restoring the PPAGE register. - */ +#else - #define portRESTORE_CONTEXT() \ - { \ - extern volatile void * pxCurrentTCB; \ - extern volatile UBaseType_t uxCriticalNesting; \ - \ - __asm( "ldx pxCurrentTCB" ); \ - __asm( "lds 0, x" ); \ - __asm( "pula" ); \ - __asm( "staa uxCriticalNesting" ); \ + /* + * These macros are as per the BANKED versions above, but without saving + * and restoring the PPAGE register. + */ + + #define portRESTORE_CONTEXT() \ + { \ + extern volatile void * pxCurrentTCB; \ + extern volatile UBaseType_t uxCriticalNesting; \ + \ + __asm( "ldx pxCurrentTCB" ); \ + __asm( "lds 0, x" ); \ + __asm( "pula" ); \ + __asm( "staa uxCriticalNesting" ); \ } - #define portSAVE_CONTEXT() \ - { \ - extern volatile void * pxCurrentTCB; \ - extern volatile UBaseType_t uxCriticalNesting; \ - \ - __asm( "ldaa uxCriticalNesting" ); \ - __asm( "psha" ); \ - __asm( "ldx pxCurrentTCB" ); \ - __asm( "sts 0, x" ); \ + #define portSAVE_CONTEXT() \ + { \ + extern volatile void * pxCurrentTCB; \ + extern volatile UBaseType_t uxCriticalNesting; \ + \ + __asm( "ldaa uxCriticalNesting" ); \ + __asm( "psha" ); \ + __asm( "ldx pxCurrentTCB" ); \ + __asm( "sts 0, x" ); \ } -#endif /* ifdef BANKED_MODEL */ +#endif /* * Utility macro to call macros above in correct order in order to perform a @@ -192,14 +191,14 @@ typedef unsigned char UBaseType_t; * the ISR does not use any local (stack) variables. If the ISR uses stack * variables portYIELD() should be used in it's place. */ -#define portTASK_SWITCH_FROM_ISR() \ - portSAVE_CONTEXT(); \ - vTaskSwitchContext(); \ +#define portTASK_SWITCH_FROM_ISR() \ + portSAVE_CONTEXT(); \ + vTaskSwitchContext(); \ portRESTORE_CONTEXT(); /* Task function macros as described on the FreeRTOS.org WEB site. */ -#define portTASK_FUNCTION_PROTO( vFunction, pvParameters ) void vFunction( void * pvParameters ) -#define portTASK_FUNCTION( vFunction, pvParameters ) void vFunction( void * pvParameters ) +#define portTASK_FUNCTION_PROTO( vFunction, pvParameters ) void vFunction( void *pvParameters ) +#define portTASK_FUNCTION( vFunction, pvParameters ) void vFunction( void *pvParameters ) #endif /* PORTMACRO_H */ -- cgit v1.2.3