forked from epagris/FreeRTOS-Kernel
		
	Wrap macros in do { ... } while( 0 ) (#240)
This commit is contained in:
		
							parent
							
								
									ac2c383bc1
								
							
						
					
					
						commit
						f37bcd5c14
					
				
							
								
								
									
										2
									
								
								.github/scripts/kernel_checker.py
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/scripts/kernel_checker.py
									
									
									
									
										vendored
									
									
								
							@ -38,6 +38,8 @@ KERNEL_IGNORED_PATTERNS = [
 | 
			
		||||
    r'.*\.git.*',
 | 
			
		||||
    r'.*portable/ThirdParty/GCC/Posix/port*',
 | 
			
		||||
    r'.*portable.*Xtensa_ESP32\/include\/portmacro\.h',
 | 
			
		||||
    r'.*portable.*CDK\/T-HEAD_CK802\/portmacro\.h',
 | 
			
		||||
    r'.*portable.*GCC\/Posix\/portmacro\.h',
 | 
			
		||||
    r'.*portable.*Xtensa_ESP32.*port\.c',
 | 
			
		||||
    r'.*portable.*Xtensa_ESP32.*portasm\.S',
 | 
			
		||||
    r'.*portable.*Xtensa_ESP32.*xtensa_.*',
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -212,7 +211,7 @@
 | 
			
		||||
    #define portYIELD()                                 vPortYield()
 | 
			
		||||
    #define portNVIC_INT_CTRL_REG     ( *( ( volatile uint32_t * ) 0xe000ed04 ) )
 | 
			
		||||
    #define portNVIC_PENDSVSET_BIT    ( 1UL << 28UL )
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    do { if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT; } while( 0 )
 | 
			
		||||
    #define portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -212,7 +211,7 @@
 | 
			
		||||
    #define portYIELD()                                 vPortYield()
 | 
			
		||||
    #define portNVIC_INT_CTRL_REG     ( *( ( volatile uint32_t * ) 0xe000ed04 ) )
 | 
			
		||||
    #define portNVIC_PENDSVSET_BIT    ( 1UL << 28UL )
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    do { if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT; } while( 0 )
 | 
			
		||||
    #define portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -212,7 +211,7 @@
 | 
			
		||||
    #define portYIELD()                                 vPortYield()
 | 
			
		||||
    #define portNVIC_INT_CTRL_REG     ( *( ( volatile uint32_t * ) 0xe000ed04 ) )
 | 
			
		||||
    #define portNVIC_PENDSVSET_BIT    ( 1UL << 28UL )
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    do { if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT; } while( 0 )
 | 
			
		||||
    #define portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -212,7 +211,7 @@
 | 
			
		||||
    #define portYIELD()                                 vPortYield()
 | 
			
		||||
    #define portNVIC_INT_CTRL_REG     ( *( ( volatile uint32_t * ) 0xe000ed04 ) )
 | 
			
		||||
    #define portNVIC_PENDSVSET_BIT    ( 1UL << 28UL )
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    do { if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT; } while( 0 )
 | 
			
		||||
    #define portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -212,7 +211,7 @@
 | 
			
		||||
    #define portYIELD()                                 vPortYield()
 | 
			
		||||
    #define portNVIC_INT_CTRL_REG     ( *( ( volatile uint32_t * ) 0xe000ed04 ) )
 | 
			
		||||
    #define portNVIC_PENDSVSET_BIT    ( 1UL << 28UL )
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    do { if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT; } while( 0 )
 | 
			
		||||
    #define portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -212,7 +211,7 @@
 | 
			
		||||
    #define portYIELD()                                 vPortYield()
 | 
			
		||||
    #define portNVIC_INT_CTRL_REG     ( *( ( volatile uint32_t * ) 0xe000ed04 ) )
 | 
			
		||||
    #define portNVIC_PENDSVSET_BIT    ( 1UL << 28UL )
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    do { if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT; } while( 0 )
 | 
			
		||||
    #define portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -212,7 +211,7 @@
 | 
			
		||||
    #define portYIELD()                                 vPortYield()
 | 
			
		||||
    #define portNVIC_INT_CTRL_REG     ( *( ( volatile uint32_t * ) 0xe000ed04 ) )
 | 
			
		||||
    #define portNVIC_PENDSVSET_BIT    ( 1UL << 28UL )
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    do { if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT; } while( 0 )
 | 
			
		||||
    #define portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -212,7 +211,7 @@
 | 
			
		||||
    #define portYIELD()                                 vPortYield()
 | 
			
		||||
    #define portNVIC_INT_CTRL_REG     ( *( ( volatile uint32_t * ) 0xe000ed04 ) )
 | 
			
		||||
    #define portNVIC_PENDSVSET_BIT    ( 1UL << 28UL )
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    do { if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT; } while( 0 )
 | 
			
		||||
    #define portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -92,7 +91,7 @@
 | 
			
		||||
 | 
			
		||||
    #define portNVIC_INT_CTRL_REG     ( *( ( volatile uint32_t * ) 0xe000ed04 ) )
 | 
			
		||||
    #define portNVIC_PENDSVSET_BIT    ( 1UL << 28UL )
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    if( xSwitchRequired != pdFALSE ) portYIELD()
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    do { if( xSwitchRequired != pdFALSE ) portYIELD(); } while( 0 )
 | 
			
		||||
    #define portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )
 | 
			
		||||
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -86,7 +85,7 @@
 | 
			
		||||
 | 
			
		||||
    #define portNVIC_INT_CTRL_REG     ( *( ( volatile uint32_t * ) 0xe000ed04 ) )
 | 
			
		||||
    #define portNVIC_PENDSVSET_BIT    ( 1UL << 28UL )
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    if( xSwitchRequired != pdFALSE ) portYIELD()
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    do { if( xSwitchRequired != pdFALSE ) portYIELD(); } while( 0 )
 | 
			
		||||
    #define portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )
 | 
			
		||||
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef __PORTMACRO_H__
 | 
			
		||||
@ -84,7 +83,7 @@ extern void vPortYield( void );
 | 
			
		||||
#define portSYS_SSIR1_REG			( * ( ( volatile uint32_t * ) 0xFFFFFFB0 ) )
 | 
			
		||||
#define portSYS_SSIR1_SSKEY			( 0x7500UL )
 | 
			
		||||
#define portYIELD_WITHIN_API()		{ portSYS_SSIR1_REG = portSYS_SSIR1_SSKEY;  asm( " DSB " ); asm( " ISB " ); }
 | 
			
		||||
#define portYIELD_FROM_ISR( x )		if( x != pdFALSE ){ portSYS_SSIR1_REG = portSYS_SSIR1_SSKEY;  ( void ) portSYS_SSIR1_REG; }
 | 
			
		||||
#define portYIELD_FROM_ISR( x )		do { if( x != pdFALSE ) { portSYS_SSIR1_REG = portSYS_SSIR1_SSKEY;  ( void ) portSYS_SSIR1_REG; } } while( 0 )
 | 
			
		||||
 | 
			
		||||
#ifndef configUSE_PORT_OPTIMISED_TASK_SELECTION
 | 
			
		||||
	#define configUSE_PORT_OPTIMISED_TASK_SELECTION 1
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -131,7 +130,7 @@ extern void vPortYield( void );
 | 
			
		||||
#define portTASK_FUNCTION( vFunction, pvParameters ) void vFunction( void *pvParameters )
 | 
			
		||||
 | 
			
		||||
extern void vTaskSwitchContext( void );
 | 
			
		||||
#define portYIELD_FROM_ISR( x ) if( x ) vPortYield()
 | 
			
		||||
#define portYIELD_FROM_ISR( x ) do { if( x ) vPortYield(); } while( 0 )
 | 
			
		||||
 | 
			
		||||
void vApplicationSetupTimerInterrupt( void );
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -101,10 +100,7 @@ extern void vPortClearInterruptMaskFromISR( UBaseType_t );
 | 
			
		||||
#define portTASK_FUNCTION( vFunction, pvParameters ) void vFunction( void *pvParameters )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
#define portEND_SWITCHING_ISR( xSwitchRequired )	if( xSwitchRequired != pdFALSE )	\
 | 
			
		||||
													{									\
 | 
			
		||||
														portYIELD();					\
 | 
			
		||||
													}
 | 
			
		||||
#define portEND_SWITCHING_ISR( xSwitchRequired )	do { if( xSwitchRequired != pdFALSE ) { portYIELD(); } } while( 0 )
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -100,10 +99,7 @@ extern void vPortClearInterruptMaskFromISR( UBaseType_t );
 | 
			
		||||
#define portTASK_FUNCTION( vFunction, pvParameters ) void vFunction( void *pvParameters )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
#define portEND_SWITCHING_ISR( xSwitchRequired )	if( xSwitchRequired != pdFALSE )	\
 | 
			
		||||
													{									\
 | 
			
		||||
														portYIELD();					\
 | 
			
		||||
													}
 | 
			
		||||
#define portEND_SWITCHING_ISR( xSwitchRequired )	do { if( xSwitchRequired != pdFALSE ) { portYIELD(); } } while( 0 )
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -82,7 +81,7 @@
 | 
			
		||||
    #define portNVIC_INT_CTRL_REG     ( *( ( volatile uint32_t * ) 0xe000ed04 ) )
 | 
			
		||||
    #define portNVIC_PENDSVSET_BIT    ( 1UL << 28UL )
 | 
			
		||||
    #define portYIELD()                                 vPortYield()
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    do { if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT; } while( 0 )
 | 
			
		||||
    #define portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -212,7 +211,7 @@
 | 
			
		||||
    #define portYIELD()                                 vPortYield()
 | 
			
		||||
    #define portNVIC_INT_CTRL_REG     ( *( ( volatile uint32_t * ) 0xe000ed04 ) )
 | 
			
		||||
    #define portNVIC_PENDSVSET_BIT    ( 1UL << 28UL )
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    do { if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT; } while( 0 )
 | 
			
		||||
    #define portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -212,7 +211,7 @@
 | 
			
		||||
    #define portYIELD()                                 vPortYield()
 | 
			
		||||
    #define portNVIC_INT_CTRL_REG     ( *( ( volatile uint32_t * ) 0xe000ed04 ) )
 | 
			
		||||
    #define portNVIC_PENDSVSET_BIT    ( 1UL << 28UL )
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    do { if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT; } while( 0 )
 | 
			
		||||
    #define portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -90,7 +89,7 @@
 | 
			
		||||
 | 
			
		||||
    #define portNVIC_INT_CTRL_REG     ( *( ( volatile uint32_t * ) 0xe000ed04 ) )
 | 
			
		||||
    #define portNVIC_PENDSVSET_BIT    ( 1UL << 28UL )
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    if( xSwitchRequired != pdFALSE ) portYIELD()
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    do { if( xSwitchRequired != pdFALSE ) portYIELD(); } while( 0 )
 | 
			
		||||
    #define portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -212,7 +211,7 @@
 | 
			
		||||
    #define portYIELD()                                 vPortYield()
 | 
			
		||||
    #define portNVIC_INT_CTRL_REG     ( *( ( volatile uint32_t * ) 0xe000ed04 ) )
 | 
			
		||||
    #define portNVIC_PENDSVSET_BIT    ( 1UL << 28UL )
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    do { if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT; } while( 0 )
 | 
			
		||||
    #define portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -212,7 +211,7 @@
 | 
			
		||||
    #define portYIELD()                                 vPortYield()
 | 
			
		||||
    #define portNVIC_INT_CTRL_REG     ( *( ( volatile uint32_t * ) 0xe000ed04 ) )
 | 
			
		||||
    #define portNVIC_PENDSVSET_BIT    ( 1UL << 28UL )
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    do { if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT; } while( 0 )
 | 
			
		||||
    #define portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -133,7 +132,7 @@
 | 
			
		||||
 | 
			
		||||
    #define portNVIC_INT_CTRL_REG     ( *( ( volatile uint32_t * ) 0xe000ed04 ) )
 | 
			
		||||
    #define portNVIC_PENDSVSET_BIT    ( 1UL << 28UL )
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    do { if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT; } while( 0 )
 | 
			
		||||
    #define portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -90,7 +89,7 @@
 | 
			
		||||
 | 
			
		||||
    #define portNVIC_INT_CTRL_REG     ( *( ( volatile uint32_t * ) 0xe000ed04 ) )
 | 
			
		||||
    #define portNVIC_PENDSVSET_BIT    ( 1UL << 28UL )
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    if( xSwitchRequired != pdFALSE ) portYIELD()
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    do { if( xSwitchRequired != pdFALSE ) portYIELD(); } while( 0 )
 | 
			
		||||
    #define portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -222,7 +222,7 @@ typedef struct MPU_SETTINGS
 | 
			
		||||
 | 
			
		||||
#define portNVIC_INT_CTRL_REG     ( *( ( volatile uint32_t * ) 0xe000ed04 ) )
 | 
			
		||||
#define portNVIC_PENDSVSET_BIT    ( 1UL << 28UL )
 | 
			
		||||
#define portEND_SWITCHING_ISR( xSwitchRequired )    if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT
 | 
			
		||||
#define portEND_SWITCHING_ISR( xSwitchRequired )    do { if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT; } while( 0 )
 | 
			
		||||
#define portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -90,7 +89,7 @@
 | 
			
		||||
 | 
			
		||||
    #define portNVIC_INT_CTRL_REG     ( *( ( volatile uint32_t * ) 0xe000ed04 ) )
 | 
			
		||||
    #define portNVIC_PENDSVSET_BIT    ( 1UL << 28UL )
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    if( xSwitchRequired != pdFALSE ) portYIELD()
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    do { if( xSwitchRequired != pdFALSE ) portYIELD(); } while( 0 )
 | 
			
		||||
    #define portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -122,7 +121,7 @@ volatile uint32_t ulCPSR;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define portSET_INTERRUPT_MASK_FROM_ISR() portINLINE_SET_INTERRUPT_MASK_FROM_ISR()
 | 
			
		||||
#define portCLEAR_INTERRUPT_MASK_FROM_ISR(x)	if( x == 0 ) portENABLE_INTERRUPTS()
 | 
			
		||||
#define portCLEAR_INTERRUPT_MASK_FROM_ISR(x)	do { if( x == 0 ) portENABLE_INTERRUPTS(); } while( 0 )
 | 
			
		||||
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -96,7 +95,7 @@ extern void vTaskExitCritical( void );
 | 
			
		||||
 | 
			
		||||
/*---------------------------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
#define portYIELD_FROM_ISR( xHigherPriorityTaskWoken ) if( xHigherPriorityTaskWoken != pdFALSE ) vTaskSwitchContext()
 | 
			
		||||
#define portYIELD_FROM_ISR( xHigherPriorityTaskWoken ) do { if( xHigherPriorityTaskWoken != pdFALSE ) vTaskSwitchContext(); } while( 0 )
 | 
			
		||||
 | 
			
		||||
/*---------------------------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -100,10 +99,7 @@ extern void vPortClearInterruptMaskFromISR( UBaseType_t );
 | 
			
		||||
#define portTASK_FUNCTION( vFunction, pvParameters ) void vFunction( void *pvParameters )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
#define portEND_SWITCHING_ISR( xSwitchRequired )	if( xSwitchRequired != pdFALSE )	\
 | 
			
		||||
													{									\
 | 
			
		||||
														portYIELD();					\
 | 
			
		||||
													}
 | 
			
		||||
#define portEND_SWITCHING_ISR( xSwitchRequired )	do { if( xSwitchRequired != pdFALSE ) { portYIELD(); } } while( 0 )
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -114,7 +113,7 @@ context, if the flag is not false.  This is done to prevent multiple calls to
 | 
			
		||||
vTaskSwitchContext() being made from a single interrupt, as a single interrupt
 | 
			
		||||
can result in multiple peripherals being serviced. */
 | 
			
		||||
extern volatile uint32_t ulTaskSwitchRequested;
 | 
			
		||||
#define portYIELD_FROM_ISR( x ) if( ( x ) != pdFALSE ) ulTaskSwitchRequested = 1
 | 
			
		||||
#define portYIELD_FROM_ISR( x ) do { if( ( x ) != pdFALSE ) ulTaskSwitchRequested = 1; } while( 0 )
 | 
			
		||||
 | 
			
		||||
#if( configUSE_PORT_OPTIMISED_TASK_SELECTION == 1 )
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -114,7 +113,7 @@ context, if the flag is not false.  This is done to prevent multiple calls to
 | 
			
		||||
vTaskSwitchContext() being made from a single interrupt, as a single interrupt
 | 
			
		||||
can result in multiple peripherals being serviced. */
 | 
			
		||||
extern volatile uint32_t ulTaskSwitchRequested;
 | 
			
		||||
#define portYIELD_FROM_ISR( x ) if( ( x ) != pdFALSE ) ulTaskSwitchRequested = 1
 | 
			
		||||
#define portYIELD_FROM_ISR( x ) do { if( ( x ) != pdFALSE ) ulTaskSwitchRequested = 1; } while( 0 )
 | 
			
		||||
 | 
			
		||||
#if( configUSE_PORT_OPTIMISED_TASK_SELECTION == 1 )
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -80,7 +79,7 @@ typedef unsigned long UBaseType_t;
 | 
			
		||||
 | 
			
		||||
extern void vTaskSwitchContext( void );
 | 
			
		||||
#define portYIELD()									asm volatile ( "trap" );
 | 
			
		||||
#define portEND_SWITCHING_ISR( xSwitchRequired ) 	if( xSwitchRequired ) 	vTaskSwitchContext()
 | 
			
		||||
#define portEND_SWITCHING_ISR( xSwitchRequired ) 	do { if( xSwitchRequired ) vTaskSwitchContext(); } while( 0 )
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/* Include the port_asm.S file where the Context saving/restoring is defined. */
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -92,7 +91,7 @@ not need to be guarded with a critical section. */
 | 
			
		||||
/* Scheduler utilities. */
 | 
			
		||||
extern void vTaskSwitchContext( void );
 | 
			
		||||
#define portYIELD() __asm volatile( "ecall" );
 | 
			
		||||
#define portEND_SWITCHING_ISR( xSwitchRequired ) if( xSwitchRequired ) vTaskSwitchContext()
 | 
			
		||||
#define portEND_SWITCHING_ISR( xSwitchRequired ) do { if( xSwitchRequired ) vTaskSwitchContext(); } while( 0 )
 | 
			
		||||
#define portYIELD_FROM_ISR( x ) portEND_SWITCHING_ISR( x )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -103,7 +102,7 @@ extern volatile uint16_t usCriticalNesting;										\
 | 
			
		||||
 | 
			
		||||
/* Task utilities. */
 | 
			
		||||
#define portYIELD() 	__asm volatile ( "BRK" )
 | 
			
		||||
#define portYIELD_FROM_ISR( xHigherPriorityTaskWoken ) if( xHigherPriorityTaskWoken ) vTaskSwitchContext()
 | 
			
		||||
#define portYIELD_FROM_ISR( xHigherPriorityTaskWoken ) do { if( xHigherPriorityTaskWoken ) vTaskSwitchContext(); } while( 0 )
 | 
			
		||||
#define portNOP()	__asm volatile ( "NOP" )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -93,7 +92,7 @@ register. */
 | 
			
		||||
		::: "r5"							\
 | 
			
		||||
	)
 | 
			
		||||
 | 
			
		||||
#define portYIELD_FROM_ISR( x )	if( x != pdFALSE ) { portYIELD(); }
 | 
			
		||||
#define portYIELD_FROM_ISR( x )	do { if( x != pdFALSE ) { portYIELD(); } } while( 0 )
 | 
			
		||||
 | 
			
		||||
/* These macros should not be called directly, but through the
 | 
			
		||||
taskENTER_CRITICAL() and taskEXIT_CRITICAL() macros.  An extra check is
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,6 @@
 | 
			
		||||
/*
 | 
			
		||||
 * FreeRTOS Kernel V10.4.3
 | 
			
		||||
 * Copyright (C) 2017 Amazon.com, Inc. or its affiliates.  All Rights Reserved.
 | 
			
		||||
 * Copyright (C) 2020 Amazon.com, Inc. or its affiliates.  All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * Permission is hereby granted, free of charge, to any person obtaining a copy of
 | 
			
		||||
 * this software and associated documentation files (the "Software"), to deal in
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -96,7 +95,7 @@ save and restore clobbered registers manually. */
 | 
			
		||||
		"POP	R10					\n"		\
 | 
			
		||||
	)
 | 
			
		||||
 | 
			
		||||
#define portYIELD_FROM_ISR( x )	if( x != pdFALSE ) portYIELD()
 | 
			
		||||
#define portYIELD_FROM_ISR( x )	do { if( x != pdFALSE ) portYIELD(); } while( 0 )
 | 
			
		||||
 | 
			
		||||
/* These macros should not be called directly, but through the
 | 
			
		||||
taskENTER_CRITICAL() and taskEXIT_CRITICAL() macros.  An extra check is
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -96,7 +95,7 @@ save and restore clobbered registers manually. */
 | 
			
		||||
		"POP	R10					\n"		\
 | 
			
		||||
	)
 | 
			
		||||
 | 
			
		||||
#define portYIELD_FROM_ISR( x )	if( x != pdFALSE ) portYIELD()
 | 
			
		||||
#define portYIELD_FROM_ISR( x )	do { if( x != pdFALSE ) portYIELD(); } while( 0 )
 | 
			
		||||
 | 
			
		||||
/* These macros should not be called directly, but through the
 | 
			
		||||
taskENTER_CRITICAL() and taskEXIT_CRITICAL() macros.  An extra check is
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -110,7 +109,7 @@
 | 
			
		||||
        :::"cc"						\
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    #define portYIELD_FROM_ISR( x )                           if( ( x ) != pdFALSE ) portYIELD()
 | 
			
		||||
    #define portYIELD_FROM_ISR( x )                           do { if( ( x ) != pdFALSE ) portYIELD(); } while( 0 )
 | 
			
		||||
 | 
			
		||||
/* Workaround to reduce errors/warnings caused by e2 studio CDT's INDEXER and CODAN. */
 | 
			
		||||
    #ifdef __CDT_PARSER__
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -150,7 +149,7 @@ extern uint32_t uxPortSetInterruptMaskFromISR( void );
 | 
			
		||||
#define portSET_INTERRUPT_MASK_FROM_ISR() 	uxPortSetInterruptMaskFromISR()
 | 
			
		||||
 | 
			
		||||
/* Pend a priority 1 interrupt, which will take care of the context switch. */
 | 
			
		||||
#define portYIELD_FROM_ISR( xHigherPriorityTaskWoken ) 		if( xHigherPriorityTaskWoken != pdFALSE ) {	CPU_SRC0.bits.SETR = 1; _isync(); }
 | 
			
		||||
#define portYIELD_FROM_ISR( xHigherPriorityTaskWoken )		do { if( xHigherPriorityTaskWoken != pdFALSE ) { CPU_SRC0.bits.SETR = 1; _isync(); } } while( 0 )
 | 
			
		||||
 | 
			
		||||
/*---------------------------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -107,7 +106,7 @@ extern volatile uint16_t usCriticalNesting;							\
 | 
			
		||||
/* Task utilities. */
 | 
			
		||||
extern void vPortStart( void );
 | 
			
		||||
#define portYIELD()	__asm( "BRK" )
 | 
			
		||||
#define portYIELD_FROM_ISR( xHigherPriorityTaskWoken ) if( xHigherPriorityTaskWoken ) vTaskSwitchContext()
 | 
			
		||||
#define portYIELD_FROM_ISR( xHigherPriorityTaskWoken ) do { if( xHigherPriorityTaskWoken ) vTaskSwitchContext(); } while( 0 )
 | 
			
		||||
#define portNOP()	__asm( "NOP" )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -212,7 +211,7 @@
 | 
			
		||||
    #define portYIELD()                                 vPortYield()
 | 
			
		||||
    #define portNVIC_INT_CTRL_REG     ( *( ( volatile uint32_t * ) 0xe000ed04 ) )
 | 
			
		||||
    #define portNVIC_PENDSVSET_BIT    ( 1UL << 28UL )
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    do { if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT; } while( 0 )
 | 
			
		||||
    #define portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -212,7 +211,7 @@
 | 
			
		||||
    #define portYIELD()                                 vPortYield()
 | 
			
		||||
    #define portNVIC_INT_CTRL_REG     ( *( ( volatile uint32_t * ) 0xe000ed04 ) )
 | 
			
		||||
    #define portNVIC_PENDSVSET_BIT    ( 1UL << 28UL )
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    do { if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT; } while( 0 )
 | 
			
		||||
    #define portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -95,7 +94,7 @@
 | 
			
		||||
 | 
			
		||||
    #define portNVIC_INT_CTRL_REG     ( *( ( volatile uint32_t * ) 0xe000ed04 ) )
 | 
			
		||||
    #define portNVIC_PENDSVSET_BIT    ( 1UL << 28UL )
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    if( xSwitchRequired != pdFALSE ) portYIELD()
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    do { if( xSwitchRequired != pdFALSE ) portYIELD(); } while( 0 )
 | 
			
		||||
    #define portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )
 | 
			
		||||
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -212,7 +211,7 @@
 | 
			
		||||
    #define portYIELD()                                 vPortYield()
 | 
			
		||||
    #define portNVIC_INT_CTRL_REG     ( *( ( volatile uint32_t * ) 0xe000ed04 ) )
 | 
			
		||||
    #define portNVIC_PENDSVSET_BIT    ( 1UL << 28UL )
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    do { if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT; } while( 0 )
 | 
			
		||||
    #define portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -212,7 +211,7 @@
 | 
			
		||||
    #define portYIELD()                                 vPortYield()
 | 
			
		||||
    #define portNVIC_INT_CTRL_REG     ( *( ( volatile uint32_t * ) 0xe000ed04 ) )
 | 
			
		||||
    #define portNVIC_PENDSVSET_BIT    ( 1UL << 28UL )
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    do { if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT; } while( 0 )
 | 
			
		||||
    #define portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -94,7 +93,7 @@
 | 
			
		||||
 | 
			
		||||
    #define portNVIC_INT_CTRL_REG     ( *( ( volatile uint32_t * ) 0xe000ed04 ) )
 | 
			
		||||
    #define portNVIC_PENDSVSET_BIT    ( 1UL << 28UL )
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    if( xSwitchRequired != pdFALSE ) portYIELD()
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    do { if( xSwitchRequired != pdFALSE ) portYIELD(); } while( 0 )
 | 
			
		||||
    #define portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )
 | 
			
		||||
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
@ -220,7 +220,7 @@ typedef struct MPU_SETTINGS
 | 
			
		||||
 | 
			
		||||
#define portNVIC_INT_CTRL_REG     ( *( ( volatile uint32_t * ) 0xe000ed04 ) )
 | 
			
		||||
#define portNVIC_PENDSVSET_BIT    ( 1UL << 28UL )
 | 
			
		||||
#define portEND_SWITCHING_ISR( xSwitchRequired )    if( xSwitchRequired != pdFALSE ) portYIELD_WITHIN_API()
 | 
			
		||||
#define portEND_SWITCHING_ISR( xSwitchRequired )    do { if( xSwitchRequired != pdFALSE ) portYIELD_WITHIN_API(); } while( 0 )
 | 
			
		||||
#define portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -94,7 +93,7 @@
 | 
			
		||||
 | 
			
		||||
    #define portNVIC_INT_CTRL_REG     ( *( ( volatile uint32_t * ) 0xe000ed04 ) )
 | 
			
		||||
    #define portNVIC_PENDSVSET_BIT    ( 1UL << 28UL )
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    if( xSwitchRequired != pdFALSE ) portYIELD()
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    do { if( xSwitchRequired != pdFALSE ) portYIELD(); } while( 0 )
 | 
			
		||||
    #define portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )
 | 
			
		||||
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -124,7 +123,7 @@ volatile uint32_t ulCPSR;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define portSET_INTERRUPT_MASK_FROM_ISR() portINLINE_SET_INTERRUPT_MASK_FROM_ISR()
 | 
			
		||||
#define portCLEAR_INTERRUPT_MASK_FROM_ISR(x)	if( x == 0 ) portENABLE_INTERRUPTS()
 | 
			
		||||
#define portCLEAR_INTERRUPT_MASK_FROM_ISR(x)	do { if( x == 0 ) portENABLE_INTERRUPTS(); } while( 0 )
 | 
			
		||||
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -125,7 +124,7 @@ extern void vPortYield( void );
 | 
			
		||||
#if configINTERRUPT_EXAMPLE_METHOD == 2
 | 
			
		||||
 | 
			
		||||
extern void vTaskSwitchContext( void );
 | 
			
		||||
#define portYIELD_FROM_ISR( x ) if( x ) vTaskSwitchContext()
 | 
			
		||||
#define portYIELD_FROM_ISR( x ) do { if( x ) vTaskSwitchContext(); } while( 0 )
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -130,7 +129,7 @@ extern void vPortYield( void );
 | 
			
		||||
#define portTASK_FUNCTION_PROTO( vFunction, pvParameters ) void vFunction( void *pvParameters )
 | 
			
		||||
#define portTASK_FUNCTION( vFunction, pvParameters ) void vFunction( void *pvParameters )
 | 
			
		||||
 | 
			
		||||
#define portYIELD_FROM_ISR( x ) if( x ) vPortYield()
 | 
			
		||||
#define portYIELD_FROM_ISR( x ) do { if( x ) vPortYield(); } while( 0 )
 | 
			
		||||
 | 
			
		||||
void vApplicationSetupTimerInterrupt( void );
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -94,7 +93,7 @@ not need to be guarded with a critical section. */
 | 
			
		||||
/* Scheduler utilities. */
 | 
			
		||||
extern void vTaskSwitchContext( void );
 | 
			
		||||
#define portYIELD() __asm volatile( "ecall" );
 | 
			
		||||
#define portEND_SWITCHING_ISR( xSwitchRequired ) if( xSwitchRequired ) vTaskSwitchContext()
 | 
			
		||||
#define portEND_SWITCHING_ISR( xSwitchRequired ) do { if( xSwitchRequired ) vTaskSwitchContext(); } while( 0 )
 | 
			
		||||
#define portYIELD_FROM_ISR( x ) portEND_SWITCHING_ISR( x )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -122,7 +121,7 @@ extern volatile uint16_t usCriticalNesting;										\
 | 
			
		||||
 | 
			
		||||
/* Task utilities. */
 | 
			
		||||
#define portYIELD()	__asm( "BRK" )
 | 
			
		||||
#define portYIELD_FROM_ISR( xHigherPriorityTaskWoken ) if( xHigherPriorityTaskWoken ) vTaskSwitchContext()
 | 
			
		||||
#define portYIELD_FROM_ISR( xHigherPriorityTaskWoken ) do { if( xHigherPriorityTaskWoken ) vTaskSwitchContext(); } while( 0 )
 | 
			
		||||
#define portNOP()	__asm( "NOP" )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -91,7 +90,7 @@ typedef unsigned long UBaseType_t;
 | 
			
		||||
		::: "R15"						\
 | 
			
		||||
	)
 | 
			
		||||
 | 
			
		||||
#define portYIELD_FROM_ISR( x )	if( ( x ) != pdFALSE ) { portYIELD(); }
 | 
			
		||||
#define portYIELD_FROM_ISR( x )	do { if( ( x ) != pdFALSE ) { portYIELD(); } } while( 0 )
 | 
			
		||||
 | 
			
		||||
/* These macros should not be called directly, but through the
 | 
			
		||||
taskENTER_CRITICAL() and taskEXIT_CRITICAL() macros.  An extra check is
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -93,7 +92,7 @@ save and restore clobbered registers manually. */
 | 
			
		||||
		"POP	R10					\n"		\
 | 
			
		||||
	)
 | 
			
		||||
 | 
			
		||||
#define portYIELD_FROM_ISR( x )	if( ( x ) != pdFALSE ) portYIELD()
 | 
			
		||||
#define portYIELD_FROM_ISR( x )	do { if( ( x ) != pdFALSE ) portYIELD(); } while( 0 )
 | 
			
		||||
 | 
			
		||||
/* These macros should not be called directly, but through the
 | 
			
		||||
taskENTER_CRITICAL() and taskEXIT_CRITICAL() macros.  An extra check is
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -113,7 +112,7 @@
 | 
			
		||||
        portCDT_NO_PARSE( ::: ) "cc"\
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    #define portYIELD_FROM_ISR( x )                           if( ( x ) != pdFALSE ) portYIELD()
 | 
			
		||||
    #define portYIELD_FROM_ISR( x )                           do { if( ( x ) != pdFALSE ) portYIELD(); } while( 0 )
 | 
			
		||||
 | 
			
		||||
/* Workaround to reduce errors/warnings caused by e2 studio CDT's INDEXER and CODAN. */
 | 
			
		||||
    #ifdef __CDT_PARSER__
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -93,7 +92,7 @@ save and restore clobbered registers manually. */
 | 
			
		||||
		"POP	R10					\n"		\
 | 
			
		||||
	)
 | 
			
		||||
 | 
			
		||||
#define portYIELD_FROM_ISR( x )	if( ( x ) != pdFALSE ) portYIELD()
 | 
			
		||||
#define portYIELD_FROM_ISR( x )	do { if( ( x ) != pdFALSE ) portYIELD(); } while( 0 )
 | 
			
		||||
 | 
			
		||||
/* These macros should not be called directly, but through the
 | 
			
		||||
taskENTER_CRITICAL() and taskEXIT_CRITICAL() macros.  An extra check is
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -112,7 +111,7 @@ extern void portRESTORE_CONTEXT( void );
 | 
			
		||||
#define portYIELD()	__asm ( "trap 0" )
 | 
			
		||||
#define portNOP()	__asm ( "NOP" )
 | 
			
		||||
extern void vTaskSwitchContext( void );
 | 
			
		||||
#define portYIELD_FROM_ISR( xHigherPriorityTaskWoken ) if( xHigherPriorityTaskWoken ) vTaskSwitchContext()
 | 
			
		||||
#define portYIELD_FROM_ISR( xHigherPriorityTaskWoken ) do { if( xHigherPriorityTaskWoken ) vTaskSwitchContext(); } while( 0 )
 | 
			
		||||
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -234,10 +233,7 @@ extern volatile UBaseType_t uxInterruptNesting;
 | 
			
		||||
#define portTASK_FUNCTION( vFunction, pvParameters ) void vFunction( void *pvParameters )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
#define portEND_SWITCHING_ISR( xSwitchRequired ) 	if( xSwitchRequired )	\
 | 
			
		||||
													{ 						\
 | 
			
		||||
														portYIELD();		\
 | 
			
		||||
													}
 | 
			
		||||
#define portEND_SWITCHING_ISR( xSwitchRequired ) 	do { if( xSwitchRequired ) { portYIELD(); } } while( 0 )
 | 
			
		||||
 | 
			
		||||
/* Required by the kernel aware debugger. */
 | 
			
		||||
#ifdef __DEBUG
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -186,10 +185,7 @@ extern volatile UBaseType_t uxInterruptNesting;
 | 
			
		||||
#define portTASK_FUNCTION( vFunction, pvParameters ) void vFunction( void *pvParameters )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
#define portEND_SWITCHING_ISR( xSwitchRequired )	if( xSwitchRequired )	\
 | 
			
		||||
													{						\
 | 
			
		||||
														portYIELD();		\
 | 
			
		||||
													}
 | 
			
		||||
#define portEND_SWITCHING_ISR( xSwitchRequired )	do { if( xSwitchRequired ) { portYIELD(); } } while( 0 )
 | 
			
		||||
 | 
			
		||||
/* Required by the kernel aware debugger. */
 | 
			
		||||
#ifdef __DEBUG
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -197,10 +196,7 @@ extern volatile UBaseType_t uxInterruptNesting;
 | 
			
		||||
#define portTASK_FUNCTION( vFunction, pvParameters ) void vFunction( void *pvParameters )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
#define portEND_SWITCHING_ISR( xSwitchRequired )	if( xSwitchRequired )	\
 | 
			
		||||
													{						\
 | 
			
		||||
														portYIELD();		\
 | 
			
		||||
													}
 | 
			
		||||
#define portEND_SWITCHING_ISR( xSwitchRequired )	do { if( xSwitchRequired ) { portYIELD(); } } while( 0 )
 | 
			
		||||
 | 
			
		||||
/* Required by the kernel aware debugger. */
 | 
			
		||||
#ifdef __DEBUG
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -94,7 +93,7 @@
 | 
			
		||||
 | 
			
		||||
    #define portNVIC_INT_CTRL_REG     ( *( ( volatile uint32_t * ) 0xe000ed04 ) )
 | 
			
		||||
    #define portNVIC_PENDSVSET_BIT    ( 1UL << 28UL )
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    if( xSwitchRequired != pdFALSE ) portYIELD()
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    do { if( xSwitchRequired != pdFALSE ) portYIELD(); } while( 0 )
 | 
			
		||||
    #define portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -82,7 +82,7 @@
 | 
			
		||||
    #define portNVIC_INT_CTRL_REG     ( *( ( volatile uint32_t * ) 0xe000ed04 ) )
 | 
			
		||||
    #define portNVIC_PENDSVSET_BIT    ( 1UL << 28UL )
 | 
			
		||||
    #define portYIELD()                                 vPortYield()
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    do { if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT; } while( 0 )
 | 
			
		||||
    #define portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -95,7 +95,7 @@
 | 
			
		||||
 | 
			
		||||
    #define portNVIC_INT_CTRL_REG     ( *( ( volatile uint32_t * ) 0xe000ed04 ) )
 | 
			
		||||
    #define portNVIC_PENDSVSET_BIT    ( 1UL << 28UL )
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    if( xSwitchRequired != pdFALSE ) portYIELD()
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    do { if( xSwitchRequired != pdFALSE ) portYIELD(); } while( 0 )
 | 
			
		||||
    #define portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -95,7 +95,7 @@
 | 
			
		||||
 | 
			
		||||
    #define portNVIC_INT_CTRL_REG     ( *( ( volatile uint32_t * ) 0xe000ed04 ) )
 | 
			
		||||
    #define portNVIC_PENDSVSET_BIT    ( 1UL << 28UL )
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    if( xSwitchRequired != pdFALSE ) portYIELD()
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    do { if( xSwitchRequired != pdFALSE ) portYIELD(); } while( 0 )
 | 
			
		||||
    #define portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -226,7 +226,7 @@ typedef struct MPU_SETTINGS
 | 
			
		||||
 | 
			
		||||
#define portNVIC_INT_CTRL_REG     ( *( ( volatile uint32_t * ) 0xe000ed04 ) )
 | 
			
		||||
#define portNVIC_PENDSVSET_BIT    ( 1UL << 28UL )
 | 
			
		||||
#define portEND_SWITCHING_ISR( xSwitchRequired )    if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT
 | 
			
		||||
#define portEND_SWITCHING_ISR( xSwitchRequired )    do { if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT; } while( 0 )
 | 
			
		||||
#define portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -95,7 +95,7 @@
 | 
			
		||||
 | 
			
		||||
    #define portNVIC_INT_CTRL_REG     ( *( ( volatile uint32_t * ) 0xe000ed04 ) )
 | 
			
		||||
    #define portNVIC_PENDSVSET_BIT    ( 1UL << 28UL )
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    if( xSwitchRequired != pdFALSE ) portYIELD()
 | 
			
		||||
    #define portEND_SWITCHING_ISR( xSwitchRequired )    do { if( xSwitchRequired != pdFALSE ) portYIELD(); } while( 0 )
 | 
			
		||||
    #define portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -95,7 +94,7 @@ static void vPortYield( void )
 | 
			
		||||
	POP R5
 | 
			
		||||
}
 | 
			
		||||
#define portYIELD()	vPortYield()
 | 
			
		||||
#define portYIELD_FROM_ISR( x )	if( x != pdFALSE ) { portYIELD(); }
 | 
			
		||||
#define portYIELD_FROM_ISR( x )	do { if( x != pdFALSE ) { portYIELD(); } } while( 0 )
 | 
			
		||||
 | 
			
		||||
/* These macros should not be called directly, but through the
 | 
			
		||||
taskENTER_CRITICAL() and taskEXIT_CRITICAL() macros.  An extra check is
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -95,7 +94,7 @@ static void vPortYield( void )
 | 
			
		||||
	POP R5
 | 
			
		||||
}
 | 
			
		||||
#define portYIELD()	vPortYield()
 | 
			
		||||
#define portYIELD_FROM_ISR( x )	if( x != pdFALSE ) portYIELD()
 | 
			
		||||
#define portYIELD_FROM_ISR( x )	do { if( x != pdFALSE ) portYIELD(); } while( 0 )
 | 
			
		||||
 | 
			
		||||
/* These macros should not be called directly, but through the
 | 
			
		||||
taskENTER_CRITICAL() and taskEXIT_CRITICAL() macros.  An extra check is
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -96,7 +95,7 @@ static void vPortYield( void )
 | 
			
		||||
	POP R5
 | 
			
		||||
}
 | 
			
		||||
#define portYIELD()	vPortYield()
 | 
			
		||||
#define portYIELD_FROM_ISR( x )	if( x != pdFALSE ) portYIELD()
 | 
			
		||||
#define portYIELD_FROM_ISR( x )	do { if( x != pdFALSE ) portYIELD(); } while( 0 )
 | 
			
		||||
 | 
			
		||||
/* These macros should not be called directly, but through the
 | 
			
		||||
taskENTER_CRITICAL() and taskEXIT_CRITICAL() macros.  An extra check is
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -96,7 +95,7 @@ static void vPortYield( void )
 | 
			
		||||
	POP R5
 | 
			
		||||
}
 | 
			
		||||
#define portYIELD()	vPortYield()
 | 
			
		||||
#define portYIELD_FROM_ISR( x )	if( x != pdFALSE ) portYIELD()
 | 
			
		||||
#define portYIELD_FROM_ISR( x )	do { if( x != pdFALSE ) portYIELD(); } while( 0 )
 | 
			
		||||
 | 
			
		||||
/* These macros should not be called directly, but through the
 | 
			
		||||
taskENTER_CRITICAL() and taskEXIT_CRITICAL() macros.  An extra check is
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -121,7 +120,7 @@
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #define portYIELD()                                       vPortYield()
 | 
			
		||||
    #define portYIELD_FROM_ISR( x )                           if( ( x ) != pdFALSE ) portYIELD()
 | 
			
		||||
    #define portYIELD_FROM_ISR( x )                           do { if( ( x ) != pdFALSE ) portYIELD(); } while( 0 )
 | 
			
		||||
 | 
			
		||||
/* These macros should not be called directly, but through the
 | 
			
		||||
 * taskENTER_CRITICAL() and taskEXIT_CRITICAL() macros.  An extra check is
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -85,7 +84,7 @@ void vPortYield( void );
 | 
			
		||||
#define portYIELD()						vPortYield()
 | 
			
		||||
 | 
			
		||||
extern void vTaskSwitchContext( void );
 | 
			
		||||
#define portYIELD_FROM_ISR( x )			if( x != pdFALSE ) vTaskSwitchContext()
 | 
			
		||||
#define portYIELD_FROM_ISR( x )			do { if( x != pdFALSE ) vTaskSwitchContext(); } while( 0 )
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * This function tells the kernel that the task referenced by xTask is going to
 | 
			
		||||
@ -106,8 +105,8 @@ void vPortRestoreFlopRegisters( void *pulBuffer );
 | 
			
		||||
 * context should be saved.  If pxTaskTag is NULL then the task does not use
 | 
			
		||||
 * a floating point context.
 | 
			
		||||
 */
 | 
			
		||||
#define traceTASK_SWITCHED_OUT() if( pxCurrentTCB->pxTaskTag != NULL ) vPortSaveFlopRegisters( pxCurrentTCB->pxTaskTag )
 | 
			
		||||
#define traceTASK_SWITCHED_IN() if( pxCurrentTCB->pxTaskTag != NULL ) vPortRestoreFlopRegisters( pxCurrentTCB->pxTaskTag )
 | 
			
		||||
#define traceTASK_SWITCHED_OUT() do { if( pxCurrentTCB->pxTaskTag != NULL ) vPortSaveFlopRegisters( pxCurrentTCB->pxTaskTag ); } while( 0 )
 | 
			
		||||
#define traceTASK_SWITCHED_IN() do { if( pxCurrentTCB->pxTaskTag != NULL ) vPortRestoreFlopRegisters( pxCurrentTCB->pxTaskTag ); } while( 0 )
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * These macros should be called directly, but through the taskENTER_CRITICAL()
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
@ -124,7 +123,7 @@ extern void vPortYield( void );
 | 
			
		||||
#if configINTERRUPT_EXAMPLE_METHOD == 2
 | 
			
		||||
 | 
			
		||||
extern void vTaskSwitchContext( void );
 | 
			
		||||
#define portYIELD_FROM_ISR( x ) if( x ) vTaskSwitchContext()
 | 
			
		||||
#define portYIELD_FROM_ISR( x ) do { if( x ) vTaskSwitchContext(); } while( 0 )
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										7
									
								
								portable/ThirdParty/XCC/Xtensa/portmacro.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								portable/ThirdParty/XCC/Xtensa/portmacro.h
									
									
									
									
										vendored
									
									
								
							@ -1,7 +1,6 @@
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * FreeRTOS Kernel V10.4.3
 | 
			
		||||
 * Copyright (C) 2017 Amazon.com, Inc. or its affiliates.  All Rights Reserved.
 | 
			
		||||
 * Copyright (C) 2020 Amazon.com, Inc. or its affiliates.  All Rights Reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * Permission is hereby granted, free of charge, to any person obtaining a copy of
 | 
			
		||||
 * this software and associated documentation files (the "Software"), to deal in
 | 
			
		||||
@ -11,8 +10,7 @@
 | 
			
		||||
 * subject to the following conditions:
 | 
			
		||||
 *
 | 
			
		||||
 * The above copyright notice and this permission notice shall be included in all
 | 
			
		||||
 * copies or substantial portions of the Software. If you wish to use our Amazon
 | 
			
		||||
 * FreeRTOS name, please do so in a fair use way that does not cause confusion.
 | 
			
		||||
 * copies or substantial portions of the Software.
 | 
			
		||||
 *
 | 
			
		||||
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
 | 
			
		||||
@ -24,7 +22,6 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user