28
28
29
29
30
30
#ifndef PORTMACRO_H
31
- #define PORTMACRO_H
31
+ #define PORTMACRO_H
32
32
33
33
/* *INDENT-OFF* */
34
34
#ifdef __cplusplus
47
47
*/
48
48
49
49
/* Type definitions. */
50
- #define portCHAR char
51
- #define portFLOAT float
52
- #define portDOUBLE double
53
- #define portLONG long
54
- #define portSHORT short
55
- #define portSTACK_TYPE uint32_t
56
- #define portBASE_TYPE long
57
-
58
- typedef portSTACK_TYPE StackType_t ;
59
- typedef long BaseType_t ;
60
- typedef unsigned long UBaseType_t ;
61
-
62
- #if ( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_16_BITS )
63
- typedef uint16_t TickType_t ;
64
- #define portMAX_DELAY ( TickType_t ) 0xffff
65
- #elif ( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_32_BITS )
66
- typedef uint32_t TickType_t ;
67
- #define portMAX_DELAY ( TickType_t ) 0xffffffffUL
50
+ #define portCHAR char
51
+ #define portFLOAT float
52
+ #define portDOUBLE double
53
+ #define portLONG long
54
+ #define portSHORT short
55
+ #define portSTACK_TYPE uint32_t
56
+ #define portBASE_TYPE long
57
+
58
+ typedef portSTACK_TYPE StackType_t ;
59
+ typedef long BaseType_t ;
60
+ typedef unsigned long UBaseType_t ;
61
+
62
+ #if ( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_16_BITS )
63
+ typedef uint16_t TickType_t ;
64
+ #define portMAX_DELAY ( TickType_t ) 0xffff
65
+ #elif ( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_32_BITS )
66
+ typedef uint32_t TickType_t ;
67
+ #define portMAX_DELAY ( TickType_t ) 0xffffffffUL
68
68
69
69
/* 32-bit tick type on a 32-bit architecture, so reads of the tick count do
70
70
* not need to be guarded with a critical section. */
71
- #define portTICK_TYPE_IS_ATOMIC 1
72
- #else
73
- #error configTICK_TYPE_WIDTH_IN_BITS set to unsupported tick type width.
74
- #endif
71
+ #define portTICK_TYPE_IS_ATOMIC 1
72
+ #else
73
+ #error configTICK_TYPE_WIDTH_IN_BITS set to unsupported tick type width.
74
+ #endif
75
75
/*-----------------------------------------------------------*/
76
76
77
77
/* Architecture specifics. */
78
- #define portSTACK_GROWTH ( -1 )
79
- #define portTICK_PERIOD_MS ( ( TickType_t ) 1000 / configTICK_RATE_HZ )
80
- #define portBYTE_ALIGNMENT 8
78
+ #define portSTACK_GROWTH ( -1 )
79
+ #define portTICK_PERIOD_MS ( ( TickType_t ) 1000 / configTICK_RATE_HZ )
80
+ #define portBYTE_ALIGNMENT 8
81
81
82
82
/*-----------------------------------------------------------*/
83
83
84
84
/* Compiler directives. */
85
- #define portWEAK_SYMBOL __attribute__( ( weak ) )
85
+ #define portWEAK_SYMBOL __attribute__( ( weak ) )
86
86
87
87
/*-----------------------------------------------------------*/
88
88
89
89
/* Scheduler utilities. */
90
- #define portYIELD () \
90
+ #define portYIELD () \
91
91
{ \
92
92
/* Set a PendSV to request a context switch. */ \
93
93
portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT ; \
94
- __asm( " dsb" ); \
95
- __asm( " isb" ); \
94
+ __asm( " dsb" ); \
95
+ __asm( " isb" ); \
96
96
}
97
97
98
98
#define portNVIC_INT_CTRL_REG ( *( ( volatile uint32_t * ) 0xe000ed04 ) )
@@ -115,68 +115,68 @@ typedef unsigned long UBaseType_t;
115
115
/*-----------------------------------------------------------*/
116
116
117
117
/* Architecture specific optimisations. */
118
- #ifndef configUSE_PORT_OPTIMISED_TASK_SELECTION
119
- #define configUSE_PORT_OPTIMISED_TASK_SELECTION 1
120
- #endif
118
+ #ifndef configUSE_PORT_OPTIMISED_TASK_SELECTION
119
+ #define configUSE_PORT_OPTIMISED_TASK_SELECTION 1
120
+ #endif
121
121
122
- #if configUSE_PORT_OPTIMISED_TASK_SELECTION == 1
122
+ #if configUSE_PORT_OPTIMISED_TASK_SELECTION == 1
123
123
124
124
/* Check the configuration. */
125
- #if ( configMAX_PRIORITIES > 32 )
126
- #error configUSE_PORT_OPTIMISED_TASK_SELECTION can only be set to 1 when configMAX_PRIORITIES is less than or equal to 32. It is very rare that a system requires more than 10 to 15 difference priorities as tasks that share a priority will time slice.
127
- #endif
125
+ #if ( configMAX_PRIORITIES > 32 )
126
+ #error configUSE_PORT_OPTIMISED_TASK_SELECTION can only be set to 1 when configMAX_PRIORITIES is less than or equal to 32. It is very rare that a system requires more than 10 to 15 difference priorities as tasks that share a priority will time slice.
127
+ #endif
128
128
129
129
/* Store/clear the ready priorities in a bit map. */
130
- #define portRECORD_READY_PRIORITY ( uxPriority , uxReadyPriorities ) ( uxReadyPriorities ) |= ( 1UL << ( uxPriority ) )
131
- #define portRESET_READY_PRIORITY ( uxPriority , uxReadyPriorities ) ( uxReadyPriorities ) &= ~( 1UL << ( uxPriority ) )
130
+ #define portRECORD_READY_PRIORITY ( uxPriority , uxReadyPriorities ) ( uxReadyPriorities ) |= ( 1UL << ( uxPriority ) )
131
+ #define portRESET_READY_PRIORITY ( uxPriority , uxReadyPriorities ) ( uxReadyPriorities ) &= ~( 1UL << ( uxPriority ) )
132
132
133
133
/*-----------------------------------------------------------*/
134
134
135
- #define portGET_HIGHEST_PRIORITY ( uxTopPriority , uxReadyPriorities ) uxTopPriority = ( 31 - __clz( ( uxReadyPriorities ) ) )
135
+ #define portGET_HIGHEST_PRIORITY ( uxTopPriority , uxReadyPriorities ) uxTopPriority = ( 31 - __clz( ( uxReadyPriorities ) ) )
136
136
137
- #endif /* configUSE_PORT_OPTIMISED_TASK_SELECTION */
137
+ #endif /* configUSE_PORT_OPTIMISED_TASK_SELECTION */
138
138
/*-----------------------------------------------------------*/
139
139
140
140
/* Critical section management. */
141
- extern void vPortEnterCritical ( void );
142
- extern void vPortExitCritical ( void );
141
+ extern void vPortEnterCritical ( void );
142
+ extern void vPortExitCritical ( void );
143
143
144
- #define portDISABLE_INTERRUPTS () \
144
+ #define portDISABLE_INTERRUPTS () \
145
145
{ \
146
146
_set_interrupt_priority( configMAX_SYSCALL_INTERRUPT_PRIORITY ); \
147
- __asm( " dsb" ); \
148
- __asm( " isb" ); \
147
+ __asm( " dsb"); \
148
+ __asm( " isb"); \
149
149
}
150
150
151
- #define portENABLE_INTERRUPTS () _set_interrupt_priority( 0 )
152
- #define portENTER_CRITICAL () vPortEnterCritical()
153
- #define portEXIT_CRITICAL () vPortExitCritical()
154
- #define portSET_INTERRUPT_MASK_FROM_ISR () _set_interrupt_priority( configMAX_SYSCALL_INTERRUPT_PRIORITY ); __asm( " dsb" ); __asm( " isb" )
155
- #define portCLEAR_INTERRUPT_MASK_FROM_ISR ( x ) _set_interrupt_priority( x )
151
+ #define portENABLE_INTERRUPTS () _set_interrupt_priority( 0 )
152
+ #define portENTER_CRITICAL () vPortEnterCritical()
153
+ #define portEXIT_CRITICAL () vPortExitCritical()
154
+ #define portSET_INTERRUPT_MASK_FROM_ISR () _set_interrupt_priority( configMAX_SYSCALL_INTERRUPT_PRIORITY ); __asm( " dsb" ); __asm( " isb")
155
+ #define portCLEAR_INTERRUPT_MASK_FROM_ISR ( x ) _set_interrupt_priority( x )
156
156
/*-----------------------------------------------------------*/
157
157
158
158
/* Tickless idle/low power functionality. */
159
- #ifndef portSUPPRESS_TICKS_AND_SLEEP
160
- extern void vPortSuppressTicksAndSleep ( TickType_t xExpectedIdleTime );
161
- #define portSUPPRESS_TICKS_AND_SLEEP ( xExpectedIdleTime ) vPortSuppressTicksAndSleep( xExpectedIdleTime )
162
- #endif
159
+ #ifndef portSUPPRESS_TICKS_AND_SLEEP
160
+ extern void vPortSuppressTicksAndSleep ( TickType_t xExpectedIdleTime );
161
+ #define portSUPPRESS_TICKS_AND_SLEEP ( xExpectedIdleTime ) vPortSuppressTicksAndSleep( xExpectedIdleTime )
162
+ #endif
163
163
164
164
/*-----------------------------------------------------------*/
165
165
166
166
/* Task function macros as described on the FreeRTOS.org WEB site. These are
167
167
* not necessary for to use this port. They are defined so the common demo files
168
168
* (which build with all the ports) will build. */
169
- #define portTASK_FUNCTION_PROTO ( vFunction , pvParameters ) void vFunction( void * pvParameters )
170
- #define portTASK_FUNCTION ( vFunction , pvParameters ) void vFunction( void * pvParameters )
169
+ #define portTASK_FUNCTION_PROTO ( vFunction , pvParameters ) void vFunction( void * pvParameters )
170
+ #define portTASK_FUNCTION ( vFunction , pvParameters ) void vFunction( void * pvParameters )
171
171
/*-----------------------------------------------------------*/
172
172
173
- #ifdef configASSERT
174
- void vPortValidateInterruptPriority ( void );
175
- #define portASSERT_IF_INTERRUPT_PRIORITY_INVALID () vPortValidateInterruptPriority()
176
- #endif
173
+ #ifdef configASSERT
174
+ void vPortValidateInterruptPriority ( void );
175
+ #define portASSERT_IF_INTERRUPT_PRIORITY_INVALID () vPortValidateInterruptPriority()
176
+ #endif
177
177
178
178
/* portNOP() is not required by this port. */
179
- #define portNOP ()
179
+ #define portNOP ()
180
180
181
181
/*-----------------------------------------------------------*/
182
182
0 commit comments