Style: uncrusitfy
diff --git a/portable/ARMv8M/non_secure/port.c b/portable/ARMv8M/non_secure/port.c
index 46795e4..48becec 100644
--- a/portable/ARMv8M/non_secure/port.c
+++ b/portable/ARMv8M/non_secure/port.c
@@ -39,10 +39,10 @@
 /* Portasm includes. */

 #include "portasm.h"

 

-#if( configENABLE_TRUSTZONE == 1 )

-	/* Secure components includes. */

-	#include "secure_context.h"

-	#include "secure_init.h"

+#if ( configENABLE_TRUSTZONE == 1 )

+    /* Secure components includes. */

+    #include "secure_context.h"

+    #include "secure_init.h"

 #endif /* configENABLE_TRUSTZONE */

 

 #undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE

@@ -62,126 +62,127 @@
  * 3. Run FreeRTOS on the Non-Secure Side only i.e. no Secure Side function call support:

  *		configRUN_FREERTOS_SECURE_ONLY = 0 and configENABLE_TRUSTZONE = 0

  */

-#if( ( configRUN_FREERTOS_SECURE_ONLY == 1 ) && ( configENABLE_TRUSTZONE == 1 ) )

-	#error TrustZone needs to be disabled in order to run FreeRTOS on the Secure Side.

+#if ( ( configRUN_FREERTOS_SECURE_ONLY == 1 ) && ( configENABLE_TRUSTZONE == 1 ) )

+    #error TrustZone needs to be disabled in order to run FreeRTOS on the Secure Side.

 #endif

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Constants required to manipulate the NVIC.

  */

-#define portNVIC_SYSTICK_CTRL_REG			( * ( ( volatile uint32_t * ) 0xe000e010 ) )

-#define portNVIC_SYSTICK_LOAD_REG			( * ( ( volatile uint32_t * ) 0xe000e014 ) )

-#define portNVIC_SYSTICK_CURRENT_VALUE_REG	( * ( ( volatile uint32_t * ) 0xe000e018 ) )

-#define portNVIC_SYSPRI2_REG				( * ( ( volatile uint32_t * ) 0xe000ed20 ) )

-#define portNVIC_SYSTICK_ENABLE_BIT			( 1UL << 0UL )

-#define portNVIC_SYSTICK_INT_BIT			( 1UL << 1UL )

-#define portNVIC_SYSTICK_COUNT_FLAG_BIT		( 1UL << 16UL )

-#define portMIN_INTERRUPT_PRIORITY			( 255UL )

-#define portNVIC_PENDSV_PRI					( portMIN_INTERRUPT_PRIORITY << 16UL )

-#define portNVIC_SYSTICK_PRI				( portMIN_INTERRUPT_PRIORITY << 24UL )

+#define portNVIC_SYSTICK_CTRL_REG             ( *( ( volatile uint32_t * ) 0xe000e010 ) )

+#define portNVIC_SYSTICK_LOAD_REG             ( *( ( volatile uint32_t * ) 0xe000e014 ) )

+#define portNVIC_SYSTICK_CURRENT_VALUE_REG    ( *( ( volatile uint32_t * ) 0xe000e018 ) )

+#define portNVIC_SYSPRI2_REG                  ( *( ( volatile uint32_t * ) 0xe000ed20 ) )

+#define portNVIC_SYSTICK_ENABLE_BIT           ( 1UL << 0UL )

+#define portNVIC_SYSTICK_INT_BIT              ( 1UL << 1UL )

+#define portNVIC_SYSTICK_COUNT_FLAG_BIT       ( 1UL << 16UL )

+#define portMIN_INTERRUPT_PRIORITY            ( 255UL )

+#define portNVIC_PENDSV_PRI                   ( portMIN_INTERRUPT_PRIORITY << 16UL )

+#define portNVIC_SYSTICK_PRI                  ( portMIN_INTERRUPT_PRIORITY << 24UL )

 #ifndef configSYSTICK_CLOCK_HZ

-	#define configSYSTICK_CLOCK_HZ			configCPU_CLOCK_HZ

-	/* Ensure the SysTick is clocked at the same frequency as the core. */

-	#define portNVIC_SYSTICK_CLK_BIT		( 1UL << 2UL )

+    #define configSYSTICK_CLOCK_HZ            configCPU_CLOCK_HZ

+    /* Ensure the SysTick is clocked at the same frequency as the core. */

+    #define portNVIC_SYSTICK_CLK_BIT          ( 1UL << 2UL )

 #else

-	/* The way the SysTick is clocked is not modified in case it is not the

-	 * same a the core. */

-	#define portNVIC_SYSTICK_CLK_BIT		( 0 )

+

+/* The way the SysTick is clocked is not modified in case it is not the

+ * same a the core. */

+    #define portNVIC_SYSTICK_CLK_BIT    ( 0 )

 #endif

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Constants required to manipulate the SCB.

  */

-#define portSCB_SYS_HANDLER_CTRL_STATE_REG	( * ( volatile uint32_t * ) 0xe000ed24 )

-#define portSCB_MEM_FAULT_ENABLE_BIT		( 1UL << 16UL )

+#define portSCB_SYS_HANDLER_CTRL_STATE_REG    ( *( volatile uint32_t * ) 0xe000ed24 )

+#define portSCB_MEM_FAULT_ENABLE_BIT          ( 1UL << 16UL )

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Constants required to manipulate the FPU.

  */

-#define portCPACR							( ( volatile uint32_t * ) 0xe000ed88 )	/* Coprocessor Access Control Register. */

-#define portCPACR_CP10_VALUE				( 3UL )

-#define portCPACR_CP11_VALUE				portCPACR_CP10_VALUE

-#define portCPACR_CP10_POS					( 20UL )

-#define portCPACR_CP11_POS					( 22UL )

+#define portCPACR               ( ( volatile uint32_t * ) 0xe000ed88 )              /* Coprocessor Access Control Register. */

+#define portCPACR_CP10_VALUE    ( 3UL )

+#define portCPACR_CP11_VALUE    portCPACR_CP10_VALUE

+#define portCPACR_CP10_POS      ( 20UL )

+#define portCPACR_CP11_POS      ( 22UL )

 

-#define portFPCCR							( ( volatile uint32_t * ) 0xe000ef34 )	/* Floating Point Context Control Register. */

-#define portFPCCR_ASPEN_POS					( 31UL )

-#define portFPCCR_ASPEN_MASK				( 1UL << portFPCCR_ASPEN_POS )

-#define portFPCCR_LSPEN_POS					( 30UL )

-#define portFPCCR_LSPEN_MASK				( 1UL << portFPCCR_LSPEN_POS )

+#define portFPCCR               ( ( volatile uint32_t * ) 0xe000ef34 )              /* Floating Point Context Control Register. */

+#define portFPCCR_ASPEN_POS     ( 31UL )

+#define portFPCCR_ASPEN_MASK    ( 1UL << portFPCCR_ASPEN_POS )

+#define portFPCCR_LSPEN_POS     ( 30UL )

+#define portFPCCR_LSPEN_MASK    ( 1UL << portFPCCR_LSPEN_POS )

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Constants required to manipulate the MPU.

  */

-#define portMPU_TYPE_REG					( * ( ( volatile uint32_t * ) 0xe000ed90 ) )

-#define portMPU_CTRL_REG					( * ( ( volatile uint32_t * ) 0xe000ed94 ) )

-#define portMPU_RNR_REG						( * ( ( volatile uint32_t * ) 0xe000ed98 ) )

+#define portMPU_TYPE_REG                      ( *( ( volatile uint32_t * ) 0xe000ed90 ) )

+#define portMPU_CTRL_REG                      ( *( ( volatile uint32_t * ) 0xe000ed94 ) )

+#define portMPU_RNR_REG                       ( *( ( volatile uint32_t * ) 0xe000ed98 ) )

 

-#define portMPU_RBAR_REG					( * ( ( volatile uint32_t * ) 0xe000ed9c ) )

-#define portMPU_RLAR_REG					( * ( ( volatile uint32_t * ) 0xe000eda0 ) )

+#define portMPU_RBAR_REG                      ( *( ( volatile uint32_t * ) 0xe000ed9c ) )

+#define portMPU_RLAR_REG                      ( *( ( volatile uint32_t * ) 0xe000eda0 ) )

 

-#define portMPU_RBAR_A1_REG					( * ( ( volatile uint32_t * ) 0xe000eda4 ) )

-#define portMPU_RLAR_A1_REG					( * ( ( volatile uint32_t * ) 0xe000eda8 ) )

+#define portMPU_RBAR_A1_REG                   ( *( ( volatile uint32_t * ) 0xe000eda4 ) )

+#define portMPU_RLAR_A1_REG                   ( *( ( volatile uint32_t * ) 0xe000eda8 ) )

 

-#define portMPU_RBAR_A2_REG					( * ( ( volatile uint32_t * ) 0xe000edac ) )

-#define portMPU_RLAR_A2_REG					( * ( ( volatile uint32_t * ) 0xe000edb0 ) )

+#define portMPU_RBAR_A2_REG                   ( *( ( volatile uint32_t * ) 0xe000edac ) )

+#define portMPU_RLAR_A2_REG                   ( *( ( volatile uint32_t * ) 0xe000edb0 ) )

 

-#define portMPU_RBAR_A3_REG					( * ( ( volatile uint32_t * ) 0xe000edb4 ) )

-#define portMPU_RLAR_A3_REG					( * ( ( volatile uint32_t * ) 0xe000edb8 ) )

+#define portMPU_RBAR_A3_REG                   ( *( ( volatile uint32_t * ) 0xe000edb4 ) )

+#define portMPU_RLAR_A3_REG                   ( *( ( volatile uint32_t * ) 0xe000edb8 ) )

 

-#define portMPU_MAIR0_REG					( * ( ( volatile uint32_t * ) 0xe000edc0 ) )

-#define portMPU_MAIR1_REG					( * ( ( volatile uint32_t * ) 0xe000edc4 ) )

+#define portMPU_MAIR0_REG                     ( *( ( volatile uint32_t * ) 0xe000edc0 ) )

+#define portMPU_MAIR1_REG                     ( *( ( volatile uint32_t * ) 0xe000edc4 ) )

 

-#define portMPU_RBAR_ADDRESS_MASK			( 0xffffffe0 ) /* Must be 32-byte aligned. */

-#define portMPU_RLAR_ADDRESS_MASK			( 0xffffffe0 ) /* Must be 32-byte aligned. */

+#define portMPU_RBAR_ADDRESS_MASK             ( 0xffffffe0 ) /* Must be 32-byte aligned. */

+#define portMPU_RLAR_ADDRESS_MASK             ( 0xffffffe0 ) /* Must be 32-byte aligned. */

 

-#define portMPU_MAIR_ATTR0_POS				( 0UL )

-#define portMPU_MAIR_ATTR0_MASK				( 0x000000ff )

+#define portMPU_MAIR_ATTR0_POS                ( 0UL )

+#define portMPU_MAIR_ATTR0_MASK               ( 0x000000ff )

 

-#define portMPU_MAIR_ATTR1_POS				( 8UL )

-#define portMPU_MAIR_ATTR1_MASK				( 0x0000ff00 )

+#define portMPU_MAIR_ATTR1_POS                ( 8UL )

+#define portMPU_MAIR_ATTR1_MASK               ( 0x0000ff00 )

 

-#define portMPU_MAIR_ATTR2_POS				( 16UL )

-#define portMPU_MAIR_ATTR2_MASK				( 0x00ff0000 )

+#define portMPU_MAIR_ATTR2_POS                ( 16UL )

+#define portMPU_MAIR_ATTR2_MASK               ( 0x00ff0000 )

 

-#define portMPU_MAIR_ATTR3_POS				( 24UL )

-#define portMPU_MAIR_ATTR3_MASK				( 0xff000000 )

+#define portMPU_MAIR_ATTR3_POS                ( 24UL )

+#define portMPU_MAIR_ATTR3_MASK               ( 0xff000000 )

 

-#define portMPU_MAIR_ATTR4_POS				( 0UL )

-#define portMPU_MAIR_ATTR4_MASK				( 0x000000ff )

+#define portMPU_MAIR_ATTR4_POS                ( 0UL )

+#define portMPU_MAIR_ATTR4_MASK               ( 0x000000ff )

 

-#define portMPU_MAIR_ATTR5_POS				( 8UL )

-#define portMPU_MAIR_ATTR5_MASK				( 0x0000ff00 )

+#define portMPU_MAIR_ATTR5_POS                ( 8UL )

+#define portMPU_MAIR_ATTR5_MASK               ( 0x0000ff00 )

 

-#define portMPU_MAIR_ATTR6_POS				( 16UL )

-#define portMPU_MAIR_ATTR6_MASK				( 0x00ff0000 )

+#define portMPU_MAIR_ATTR6_POS                ( 16UL )

+#define portMPU_MAIR_ATTR6_MASK               ( 0x00ff0000 )

 

-#define portMPU_MAIR_ATTR7_POS				( 24UL )

-#define portMPU_MAIR_ATTR7_MASK				( 0xff000000 )

+#define portMPU_MAIR_ATTR7_POS                ( 24UL )

+#define portMPU_MAIR_ATTR7_MASK               ( 0xff000000 )

 

-#define portMPU_RLAR_ATTR_INDEX0			( 0UL << 1UL )

-#define portMPU_RLAR_ATTR_INDEX1			( 1UL << 1UL )

-#define portMPU_RLAR_ATTR_INDEX2			( 2UL << 1UL )

-#define portMPU_RLAR_ATTR_INDEX3			( 3UL << 1UL )

-#define portMPU_RLAR_ATTR_INDEX4			( 4UL << 1UL )

-#define portMPU_RLAR_ATTR_INDEX5			( 5UL << 1UL )

-#define portMPU_RLAR_ATTR_INDEX6			( 6UL << 1UL )

-#define portMPU_RLAR_ATTR_INDEX7			( 7UL << 1UL )

+#define portMPU_RLAR_ATTR_INDEX0              ( 0UL << 1UL )

+#define portMPU_RLAR_ATTR_INDEX1              ( 1UL << 1UL )

+#define portMPU_RLAR_ATTR_INDEX2              ( 2UL << 1UL )

+#define portMPU_RLAR_ATTR_INDEX3              ( 3UL << 1UL )

+#define portMPU_RLAR_ATTR_INDEX4              ( 4UL << 1UL )

+#define portMPU_RLAR_ATTR_INDEX5              ( 5UL << 1UL )

+#define portMPU_RLAR_ATTR_INDEX6              ( 6UL << 1UL )

+#define portMPU_RLAR_ATTR_INDEX7              ( 7UL << 1UL )

 

-#define portMPU_RLAR_REGION_ENABLE			( 1UL )

+#define portMPU_RLAR_REGION_ENABLE            ( 1UL )

 

 /* Enable privileged access to unmapped region. */

-#define portMPU_PRIV_BACKGROUND_ENABLE_BIT	( 1UL << 2UL )

+#define portMPU_PRIV_BACKGROUND_ENABLE_BIT    ( 1UL << 2UL )

 

 /* Enable MPU. */

-#define portMPU_ENABLE_BIT					( 1UL << 0UL )

+#define portMPU_ENABLE_BIT                    ( 1UL << 0UL )

 

 /* Expected value of the portMPU_TYPE register. */

-#define portEXPECTED_MPU_TYPE_VALUE			( 8UL << 8UL ) /* 8 regions, unified. */

+#define portEXPECTED_MPU_TYPE_VALUE           ( 8UL << 8UL ) /* 8 regions, unified. */

 /*-----------------------------------------------------------*/

 

 /**

@@ -189,53 +190,55 @@
  *

  * It is needed because the systick is a 24-bit counter.

  */

-#define portMAX_24_BIT_NUMBER				( 0xffffffUL )

+#define portMAX_24_BIT_NUMBER       ( 0xffffffUL )

 

 /**

  * @brief A fiddle factor to estimate the number of SysTick counts that would

  * have occurred while the SysTick counter is stopped during tickless idle

  * calculations.

  */

-#define portMISSED_COUNTS_FACTOR			( 45UL )

+#define portMISSED_COUNTS_FACTOR    ( 45UL )

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Constants required to set up the initial stack.

  */

-#define portINITIAL_XPSR					( 0x01000000 )

+#define portINITIAL_XPSR    ( 0x01000000 )

 

-#if( configRUN_FREERTOS_SECURE_ONLY == 1 )

-	/**

-	 * @brief Initial EXC_RETURN value.

-	 *

-	 *     FF         FF         FF         FD

-	 * 1111 1111  1111 1111  1111 1111  1111 1101

-	 *

-	 * Bit[6] - 1 --> The exception was taken from the Secure state.

-	 * Bit[5] - 1 --> Do not skip stacking of additional state context.

-	 * Bit[4] - 1 --> The PE did not allocate space on the stack for FP context.

-	 * Bit[3] - 1 --> Return to the Thread mode.

-	 * Bit[2] - 1 --> Restore registers from the process stack.

-	 * Bit[1] - 0 --> Reserved, 0.

-	 * Bit[0] - 1 --> The exception was taken to the Secure state.

-	 */

-	#define portINITIAL_EXC_RETURN			( 0xfffffffd )

+#if ( configRUN_FREERTOS_SECURE_ONLY == 1 )

+

+/**

+ * @brief Initial EXC_RETURN value.

+ *

+ *     FF         FF         FF         FD

+ * 1111 1111  1111 1111  1111 1111  1111 1101

+ *

+ * Bit[6] - 1 --> The exception was taken from the Secure state.

+ * Bit[5] - 1 --> Do not skip stacking of additional state context.

+ * Bit[4] - 1 --> The PE did not allocate space on the stack for FP context.

+ * Bit[3] - 1 --> Return to the Thread mode.

+ * Bit[2] - 1 --> Restore registers from the process stack.

+ * Bit[1] - 0 --> Reserved, 0.

+ * Bit[0] - 1 --> The exception was taken to the Secure state.

+ */

+    #define portINITIAL_EXC_RETURN    ( 0xfffffffd )

 #else

-	/**

-	 * @brief Initial EXC_RETURN value.

-	 *

-	 *     FF         FF         FF         BC

-	 * 1111 1111  1111 1111  1111 1111  1011 1100

-	 *

-	 * Bit[6] - 0 --> The exception was taken from the Non-Secure state.

-	 * Bit[5] - 1 --> Do not skip stacking of additional state context.

-	 * Bit[4] - 1 --> The PE did not allocate space on the stack for FP context.

-	 * Bit[3] - 1 --> Return to the Thread mode.

-	 * Bit[2] - 1 --> Restore registers from the process stack.

-	 * Bit[1] - 0 --> Reserved, 0.

-	 * Bit[0] - 0 --> The exception was taken to the Non-Secure state.

-	 */

-	#define portINITIAL_EXC_RETURN			( 0xffffffbc )

+

+/**

+ * @brief Initial EXC_RETURN value.

+ *

+ *     FF         FF         FF         BC

+ * 1111 1111  1111 1111  1111 1111  1011 1100

+ *

+ * Bit[6] - 0 --> The exception was taken from the Non-Secure state.

+ * Bit[5] - 1 --> Do not skip stacking of additional state context.

+ * Bit[4] - 1 --> The PE did not allocate space on the stack for FP context.

+ * Bit[3] - 1 --> Return to the Thread mode.

+ * Bit[2] - 1 --> Restore registers from the process stack.

+ * Bit[1] - 0 --> Reserved, 0.

+ * Bit[0] - 0 --> The exception was taken to the Non-Secure state.

+ */

+    #define portINITIAL_EXC_RETURN    ( 0xffffffbc )

 #endif /* configRUN_FREERTOS_SECURE_ONLY */

 

 /**

@@ -245,13 +248,13 @@
  *  Bit[0] = 0 ==> The task is privileged.

  *  Bit[0] = 1 ==> The task is not privileged.

  */

-#define portCONTROL_PRIVILEGED_MASK			( 1UL << 0UL )

+#define portCONTROL_PRIVILEGED_MASK         ( 1UL << 0UL )

 

 /**

  * @brief Initial CONTROL register values.

  */

-#define portINITIAL_CONTROL_UNPRIVILEGED	( 0x3 )

-#define portINITIAL_CONTROL_PRIVILEGED		( 0x2 )

+#define portINITIAL_CONTROL_UNPRIVILEGED    ( 0x3 )

+#define portINITIAL_CONTROL_PRIVILEGED      ( 0x2 )

 

 /**

  * @brief Let the user override the pre-loading of the initial LR with the

@@ -259,23 +262,23 @@
  * in the debugger.

  */

 #ifdef configTASK_RETURN_ADDRESS

-	#define portTASK_RETURN_ADDRESS			configTASK_RETURN_ADDRESS

+    #define portTASK_RETURN_ADDRESS    configTASK_RETURN_ADDRESS

 #else

-	#define portTASK_RETURN_ADDRESS			prvTaskExitError

+    #define portTASK_RETURN_ADDRESS    prvTaskExitError

 #endif

 

 /**

  * @brief If portPRELOAD_REGISTERS then registers will be given an initial value

  * when a task is created. This helps in debugging at the cost of code size.

  */

-#define portPRELOAD_REGISTERS				1

+#define portPRELOAD_REGISTERS    1

 

 /**

  * @brief A task is created without a secure context, and must call

  * portALLOCATE_SECURE_CONTEXT() to give itself a secure context before it makes

  * any secure calls.

  */

-#define portNO_SECURE_CONTEXT				0

+#define portNO_SECURE_CONTEXT    0

 /*-----------------------------------------------------------*/

 

 /**

@@ -284,18 +287,20 @@
  */

 static void prvTaskExitError( void );

 

-#if( configENABLE_MPU == 1 )

-	/**

-	 * @brief Setup the Memory Protection Unit (MPU).

-	 */

-	static void prvSetupMPU( void ) PRIVILEGED_FUNCTION;

+#if ( configENABLE_MPU == 1 )

+

+/**

+ * @brief Setup the Memory Protection Unit (MPU).

+ */

+    static void prvSetupMPU( void ) PRIVILEGED_FUNCTION;

 #endif /* configENABLE_MPU */

 

-#if( configENABLE_FPU == 1 )

-	/**

-	 * @brief Setup the Floating Point Unit (FPU).

-	 */

-	static void prvSetupFPU( void ) PRIVILEGED_FUNCTION;

+#if ( configENABLE_FPU == 1 )

+

+/**

+ * @brief Setup the Floating Point Unit (FPU).

+ */

+    static void prvSetupFPU( void ) PRIVILEGED_FUNCTION;

 #endif /* configENABLE_FPU */

 

 /**

@@ -337,812 +342,823 @@
 /**

  * @brief C part of SVC handler.

  */

-portDONT_DISCARD void vPortSVCHandler_C( uint32_t *pulCallerStackAddress ) PRIVILEGED_FUNCTION;

+portDONT_DISCARD void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) PRIVILEGED_FUNCTION;

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Each task maintains its own interrupt status in the critical nesting

  * variable.

  */

-static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL;

+static volatile uint32_t ulCriticalNesting                         = 0xaaaaaaaaUL;

 

-#if( configENABLE_TRUSTZONE == 1 )

-	/**

-	 * @brief Saved as part of the task context to indicate which context the

-	 * task is using on the secure side.

-	 */

-	portDONT_DISCARD volatile SecureContextHandle_t xSecureContext = portNO_SECURE_CONTEXT;

+#if ( configENABLE_TRUSTZONE == 1 )

+

+/**

+ * @brief Saved as part of the task context to indicate which context the

+ * task is using on the secure side.

+ */

+    portDONT_DISCARD volatile SecureContextHandle_t xSecureContext = portNO_SECURE_CONTEXT;

 #endif /* configENABLE_TRUSTZONE */

 

-#if( configUSE_TICKLESS_IDLE == 1 )

-	/**

-	 * @brief The number of SysTick increments that make up one tick period.

-	 */

-	static uint32_t ulTimerCountsForOneTick = 0;

+#if ( configUSE_TICKLESS_IDLE == 1 )

 

-	/**

-	 * @brief The maximum number of tick periods that can be suppressed is

-	 * limited by the 24 bit resolution of the SysTick timer.

-	 */

-	static uint32_t xMaximumPossibleSuppressedTicks = 0;

+/**

+ * @brief The number of SysTick increments that make up one tick period.

+ */

+    static uint32_t ulTimerCountsForOneTick                        = 0;

 

-	/**

-	 * @brief Compensate for the CPU cycles that pass while the SysTick is

-	 * stopped (low power functionality only).

-	 */

-	static uint32_t ulStoppedTimerCompensation = 0;

+/**

+ * @brief The maximum number of tick periods that can be suppressed is

+ * limited by the 24 bit resolution of the SysTick timer.

+ */

+    static uint32_t xMaximumPossibleSuppressedTicks                = 0;

+

+/**

+ * @brief Compensate for the CPU cycles that pass while the SysTick is

+ * stopped (low power functionality only).

+ */

+    static uint32_t ulStoppedTimerCompensation                     = 0;

 #endif /* configUSE_TICKLESS_IDLE */

 /*-----------------------------------------------------------*/

 

-#if( configUSE_TICKLESS_IDLE == 1 )

-	__attribute__(( weak )) void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime )

-	{

-	uint32_t ulReloadValue, ulCompleteTickPeriods, ulCompletedSysTickDecrements;

-	TickType_t xModifiableIdleTime;

+#if ( configUSE_TICKLESS_IDLE == 1 )

+    __attribute__( ( weak ) ) void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime )

+    {

+        uint32_t   ulReloadValue, ulCompleteTickPeriods, ulCompletedSysTickDecrements;

+        TickType_t xModifiableIdleTime;

 

-		/* Make sure the SysTick reload value does not overflow the counter. */

-		if( xExpectedIdleTime > xMaximumPossibleSuppressedTicks )

-		{

-			xExpectedIdleTime = xMaximumPossibleSuppressedTicks;

-		}

+        /* Make sure the SysTick reload value does not overflow the counter. */

+        if( xExpectedIdleTime > xMaximumPossibleSuppressedTicks )

+        {

+            xExpectedIdleTime = xMaximumPossibleSuppressedTicks;

+        }

 

-		/* Stop the SysTick momentarily. The time the SysTick is stopped for is

-		 * accounted for as best it can be, but using the tickless mode will

-		 * inevitably result in some tiny drift of the time maintained by the

-		 * kernel with respect to calendar time. */

-		portNVIC_SYSTICK_CTRL_REG &= ~portNVIC_SYSTICK_ENABLE_BIT;

+        /* Stop the SysTick momentarily. The time the SysTick is stopped for is

+         * accounted for as best it can be, but using the tickless mode will

+         * inevitably result in some tiny drift of the time maintained by the

+         * kernel with respect to calendar time. */

+        portNVIC_SYSTICK_CTRL_REG &= ~portNVIC_SYSTICK_ENABLE_BIT;

 

-		/* Calculate the reload value required to wait xExpectedIdleTime

-		 * tick periods. -1 is used because this code will execute part way

-		 * through one of the tick periods. */

-		ulReloadValue = portNVIC_SYSTICK_CURRENT_VALUE_REG + ( ulTimerCountsForOneTick * ( xExpectedIdleTime - 1UL ) );

-		if( ulReloadValue > ulStoppedTimerCompensation )

-		{

-			ulReloadValue -= ulStoppedTimerCompensation;

-		}

+        /* Calculate the reload value required to wait xExpectedIdleTime

+         * tick periods. -1 is used because this code will execute part way

+         * through one of the tick periods. */

+        ulReloadValue              = portNVIC_SYSTICK_CURRENT_VALUE_REG + ( ulTimerCountsForOneTick * ( xExpectedIdleTime - 1UL ) );

 

-		/* Enter a critical section but don't use the taskENTER_CRITICAL()

-		 * method as that will mask interrupts that should exit sleep mode. */

-		__asm volatile( "cpsid i" ::: "memory" );

-		__asm volatile( "dsb" );

-		__asm volatile( "isb" );

+        if( ulReloadValue > ulStoppedTimerCompensation )

+        {

+            ulReloadValue -= ulStoppedTimerCompensation;

+        }

 

-		/* If a context switch is pending or a task is waiting for the scheduler

-		 * to be un-suspended then abandon the low power entry. */

-		if( eTaskConfirmSleepModeStatus() == eAbortSleep )

-		{

-			/* Restart from whatever is left in the count register to complete

-			 * this tick period. */

-			portNVIC_SYSTICK_LOAD_REG = portNVIC_SYSTICK_CURRENT_VALUE_REG;

+        /* Enter a critical section but don't use the taskENTER_CRITICAL()

+         * method as that will mask interrupts that should exit sleep mode. */

+        __asm volatile ( "cpsid i" ::: "memory" );

+        __asm volatile ( "dsb" );

+        __asm volatile ( "isb" );

 

-			/* Restart SysTick. */

-			portNVIC_SYSTICK_CTRL_REG |= portNVIC_SYSTICK_ENABLE_BIT;

+        /* If a context switch is pending or a task is waiting for the scheduler

+         * to be un-suspended then abandon the low power entry. */

+        if( eTaskConfirmSleepModeStatus() == eAbortSleep )

+        {

+            /* Restart from whatever is left in the count register to complete

+             * this tick period. */

+            portNVIC_SYSTICK_LOAD_REG  = portNVIC_SYSTICK_CURRENT_VALUE_REG;

 

-			/* Reset the reload register to the value required for normal tick

-			 * periods. */

-			portNVIC_SYSTICK_LOAD_REG = ulTimerCountsForOneTick - 1UL;

+            /* Restart SysTick. */

+            portNVIC_SYSTICK_CTRL_REG |= portNVIC_SYSTICK_ENABLE_BIT;

 

-			/* Re-enable interrupts - see comments above the cpsid instruction()

-			 * above. */

-			__asm volatile( "cpsie i" ::: "memory" );

-		}

-		else

-		{

-			/* Set the new reload value. */

-			portNVIC_SYSTICK_LOAD_REG = ulReloadValue;

+            /* Reset the reload register to the value required for normal tick

+             * periods. */

+            portNVIC_SYSTICK_LOAD_REG  = ulTimerCountsForOneTick - 1UL;

 

-			/* Clear the SysTick count flag and set the count value back to

-			 * zero. */

-			portNVIC_SYSTICK_CURRENT_VALUE_REG = 0UL;

+            /* Re-enable interrupts - see comments above the cpsid instruction()

+             * above. */

+            __asm volatile ( "cpsie i" ::: "memory" );

+        }

+        else

+        {

+            /* Set the new reload value. */

+            portNVIC_SYSTICK_LOAD_REG          = ulReloadValue;

 

-			/* Restart SysTick. */

-			portNVIC_SYSTICK_CTRL_REG |= portNVIC_SYSTICK_ENABLE_BIT;

+            /* Clear the SysTick count flag and set the count value back to

+             * zero. */

+            portNVIC_SYSTICK_CURRENT_VALUE_REG = 0UL;

 

-			/* Sleep until something happens. configPRE_SLEEP_PROCESSING() can

-			 * set its parameter to 0 to indicate that its implementation

-			 * contains its own wait for interrupt or wait for event

-			 * instruction, and so wfi should not be executed again. However,

-			 * the original expected idle time variable must remain unmodified,

-			 * so a copy is taken. */

-			xModifiableIdleTime = xExpectedIdleTime;

-			configPRE_SLEEP_PROCESSING( xModifiableIdleTime );

-			if( xModifiableIdleTime > 0 )

-			{

-				__asm volatile( "dsb" ::: "memory" );

-				__asm volatile( "wfi" );

-				__asm volatile( "isb" );

-			}

-			configPOST_SLEEP_PROCESSING( xExpectedIdleTime );

+            /* Restart SysTick. */

+            portNVIC_SYSTICK_CTRL_REG         |= portNVIC_SYSTICK_ENABLE_BIT;

 

-			/* Re-enable interrupts to allow the interrupt that brought the MCU

-			 * out of sleep mode to execute immediately. See comments above

-			 * the cpsid instruction above. */

-			__asm volatile( "cpsie i" ::: "memory" );

-			__asm volatile( "dsb" );

-			__asm volatile( "isb" );

+            /* Sleep until something happens. configPRE_SLEEP_PROCESSING() can

+             * set its parameter to 0 to indicate that its implementation

+             * contains its own wait for interrupt or wait for event

+             * instruction, and so wfi should not be executed again. However,

+             * the original expected idle time variable must remain unmodified,

+             * so a copy is taken. */

+            xModifiableIdleTime                = xExpectedIdleTime;

+            configPRE_SLEEP_PROCESSING( xModifiableIdleTime );

 

-			/* Disable interrupts again because the clock is about to be stopped

-			 * and interrupts that execute while the clock is stopped will

-			 * increase any slippage between the time maintained by the RTOS and

-			 * calendar time. */

-			__asm volatile( "cpsid i" ::: "memory" );

-			__asm volatile( "dsb" );

-			__asm volatile( "isb" );

+            if( xModifiableIdleTime > 0 )

+            {

+                __asm volatile ( "dsb" ::: "memory" );

+                __asm volatile ( "wfi" );

+                __asm volatile ( "isb" );

+            }

 

-			/* Disable the SysTick clock without reading the

-			 * portNVIC_SYSTICK_CTRL_REG register to ensure the

-			 * portNVIC_SYSTICK_COUNT_FLAG_BIT is not cleared if it is set.

-			 * Again, the time the SysTick is stopped for is accounted for as

-			 * best it can be, but using the tickless mode will inevitably

-			 * result in some tiny drift of the time maintained by the kernel

-			 * with respect to calendar time*/

-			portNVIC_SYSTICK_CTRL_REG = ( portNVIC_SYSTICK_CLK_BIT | portNVIC_SYSTICK_INT_BIT );

+            configPOST_SLEEP_PROCESSING( xExpectedIdleTime );

 

-			/* Determine if the SysTick clock has already counted to zero and

-			 * been set back to the current reload value (the reload back being

-			 * correct for the entire expected idle time) or if the SysTick is

-			 * yet to count to zero (in which case an interrupt other than the

-			 * SysTick must have brought the system out of sleep mode). */

-			if( ( portNVIC_SYSTICK_CTRL_REG & portNVIC_SYSTICK_COUNT_FLAG_BIT ) != 0 )

-			{

-				uint32_t ulCalculatedLoadValue;

+            /* Re-enable interrupts to allow the interrupt that brought the MCU

+             * out of sleep mode to execute immediately. See comments above

+             * the cpsid instruction above. */

+            __asm volatile ( "cpsie i" ::: "memory" );

+            __asm volatile ( "dsb" );

+            __asm volatile ( "isb" );

 

-				/* The tick interrupt is already pending, and the SysTick count

-				 * reloaded with ulReloadValue.  Reset the

-				 * portNVIC_SYSTICK_LOAD_REG with whatever remains of this tick

-				 * period. */

-				ulCalculatedLoadValue = ( ulTimerCountsForOneTick - 1UL ) - ( ulReloadValue - portNVIC_SYSTICK_CURRENT_VALUE_REG );

+            /* Disable interrupts again because the clock is about to be stopped

+             * and interrupts that execute while the clock is stopped will

+             * increase any slippage between the time maintained by the RTOS and

+             * calendar time. */

+            __asm volatile ( "cpsid i" ::: "memory" );

+            __asm volatile ( "dsb" );

+            __asm volatile ( "isb" );

 

-				/* Don't allow a tiny value, or values that have somehow

-				 * underflowed because the post sleep hook did something

-				 * that took too long. */

-				if( ( ulCalculatedLoadValue < ulStoppedTimerCompensation ) || ( ulCalculatedLoadValue > ulTimerCountsForOneTick ) )

-				{

-					ulCalculatedLoadValue = ( ulTimerCountsForOneTick - 1UL );

-				}

+            /* Disable the SysTick clock without reading the

+             * portNVIC_SYSTICK_CTRL_REG register to ensure the

+             * portNVIC_SYSTICK_COUNT_FLAG_BIT is not cleared if it is set.

+             * Again, the time the SysTick is stopped for is accounted for as

+             * best it can be, but using the tickless mode will inevitably

+             * result in some tiny drift of the time maintained by the kernel

+             * with respect to calendar time*/

+            portNVIC_SYSTICK_CTRL_REG          = ( portNVIC_SYSTICK_CLK_BIT | portNVIC_SYSTICK_INT_BIT );

 

-				portNVIC_SYSTICK_LOAD_REG = ulCalculatedLoadValue;

+            /* Determine if the SysTick clock has already counted to zero and

+             * been set back to the current reload value (the reload back being

+             * correct for the entire expected idle time) or if the SysTick is

+             * yet to count to zero (in which case an interrupt other than the

+             * SysTick must have brought the system out of sleep mode). */

+            if( ( portNVIC_SYSTICK_CTRL_REG & portNVIC_SYSTICK_COUNT_FLAG_BIT ) != 0 )

+            {

+                uint32_t ulCalculatedLoadValue;

 

-				/* As the pending tick will be processed as soon as this

-				 * function exits, the tick value maintained by the tick is

-				 * stepped forward by one less than the time spent waiting. */

-				ulCompleteTickPeriods = xExpectedIdleTime - 1UL;

-			}

-			else

-			{

-				/* Something other than the tick interrupt ended the sleep.

-				 * Work out how long the sleep lasted rounded to complete tick

-				 * periods (not the ulReload value which accounted for part

-				 * ticks). */

-				ulCompletedSysTickDecrements = ( xExpectedIdleTime * ulTimerCountsForOneTick ) - portNVIC_SYSTICK_CURRENT_VALUE_REG;

+                /* The tick interrupt is already pending, and the SysTick count

+                 * reloaded with ulReloadValue.  Reset the

+                 * portNVIC_SYSTICK_LOAD_REG with whatever remains of this tick

+                 * period. */

+                ulCalculatedLoadValue     = ( ulTimerCountsForOneTick - 1UL ) - ( ulReloadValue - portNVIC_SYSTICK_CURRENT_VALUE_REG );

 

-				/* How many complete tick periods passed while the processor

-				 * was waiting? */

-				ulCompleteTickPeriods = ulCompletedSysTickDecrements / ulTimerCountsForOneTick;

+                /* Don't allow a tiny value, or values that have somehow

+                 * underflowed because the post sleep hook did something

+                 * that took too long. */

+                if( ( ulCalculatedLoadValue < ulStoppedTimerCompensation ) || ( ulCalculatedLoadValue > ulTimerCountsForOneTick ) )

+                {

+                    ulCalculatedLoadValue = ( ulTimerCountsForOneTick - 1UL );

+                }

 

-				/* The reload value is set to whatever fraction of a single tick

-				 * period remains. */

-				portNVIC_SYSTICK_LOAD_REG = ( ( ulCompleteTickPeriods + 1UL ) * ulTimerCountsForOneTick ) - ulCompletedSysTickDecrements;

-			}

+                portNVIC_SYSTICK_LOAD_REG = ulCalculatedLoadValue;

 

-			/* Restart SysTick so it runs from portNVIC_SYSTICK_LOAD_REG

-			 * again, then set portNVIC_SYSTICK_LOAD_REG back to its standard

-			 * value. */

-			portNVIC_SYSTICK_CURRENT_VALUE_REG = 0UL;

-			portNVIC_SYSTICK_CTRL_REG |= portNVIC_SYSTICK_ENABLE_BIT;

-			vTaskStepTick( ulCompleteTickPeriods );

-			portNVIC_SYSTICK_LOAD_REG = ulTimerCountsForOneTick - 1UL;

+                /* As the pending tick will be processed as soon as this

+                 * function exits, the tick value maintained by the tick is

+                 * stepped forward by one less than the time spent waiting. */

+                ulCompleteTickPeriods     = xExpectedIdleTime - 1UL;

+            }

+            else

+            {

+                /* Something other than the tick interrupt ended the sleep.

+                 * Work out how long the sleep lasted rounded to complete tick

+                 * periods (not the ulReload value which accounted for part

+                 * ticks). */

+                ulCompletedSysTickDecrements = ( xExpectedIdleTime * ulTimerCountsForOneTick ) - portNVIC_SYSTICK_CURRENT_VALUE_REG;

 

-			/* Exit with interrupts enabled. */

-			__asm volatile( "cpsie i" ::: "memory" );

-		}

-	}

+                /* How many complete tick periods passed while the processor

+                 * was waiting? */

+                ulCompleteTickPeriods        = ulCompletedSysTickDecrements / ulTimerCountsForOneTick;

+

+                /* The reload value is set to whatever fraction of a single tick

+                 * period remains. */

+                portNVIC_SYSTICK_LOAD_REG    = ( ( ulCompleteTickPeriods + 1UL ) * ulTimerCountsForOneTick ) - ulCompletedSysTickDecrements;

+            }

+

+            /* Restart SysTick so it runs from portNVIC_SYSTICK_LOAD_REG

+             * again, then set portNVIC_SYSTICK_LOAD_REG back to its standard

+             * value. */

+            portNVIC_SYSTICK_CURRENT_VALUE_REG = 0UL;

+            portNVIC_SYSTICK_CTRL_REG         |= portNVIC_SYSTICK_ENABLE_BIT;

+            vTaskStepTick( ulCompleteTickPeriods );

+            portNVIC_SYSTICK_LOAD_REG          = ulTimerCountsForOneTick - 1UL;

+

+            /* Exit with interrupts enabled. */

+            __asm volatile ( "cpsie i" ::: "memory" );

+        }

+    }

 #endif /* configUSE_TICKLESS_IDLE */

 /*-----------------------------------------------------------*/

 

-__attribute__(( weak )) void vPortSetupTimerInterrupt( void ) /* PRIVILEGED_FUNCTION */

+__attribute__( ( weak ) ) void vPortSetupTimerInterrupt( void ) /* PRIVILEGED_FUNCTION */

 {

-	/* Calculate the constants required to configure the tick interrupt. */

-	#if( configUSE_TICKLESS_IDLE == 1 )

-	{

-		ulTimerCountsForOneTick = ( configSYSTICK_CLOCK_HZ / configTICK_RATE_HZ );

-		xMaximumPossibleSuppressedTicks = portMAX_24_BIT_NUMBER / ulTimerCountsForOneTick;

-		ulStoppedTimerCompensation = portMISSED_COUNTS_FACTOR / ( configCPU_CLOCK_HZ / configSYSTICK_CLOCK_HZ );

-	}

-	#endif /* configUSE_TICKLESS_IDLE */

+    /* Calculate the constants required to configure the tick interrupt. */

+    #if ( configUSE_TICKLESS_IDLE == 1 )

+        {

+            ulTimerCountsForOneTick         = ( configSYSTICK_CLOCK_HZ / configTICK_RATE_HZ );

+            xMaximumPossibleSuppressedTicks = portMAX_24_BIT_NUMBER / ulTimerCountsForOneTick;

+            ulStoppedTimerCompensation      = portMISSED_COUNTS_FACTOR / ( configCPU_CLOCK_HZ / configSYSTICK_CLOCK_HZ );

+        }

+    #endif /* configUSE_TICKLESS_IDLE */

 

-	/* Stop and reset the SysTick. */

-	portNVIC_SYSTICK_CTRL_REG = 0UL;

-	portNVIC_SYSTICK_CURRENT_VALUE_REG = 0UL;

+    /* Stop and reset the SysTick. */

+    portNVIC_SYSTICK_CTRL_REG          = 0UL;

+    portNVIC_SYSTICK_CURRENT_VALUE_REG = 0UL;

 

-	/* Configure SysTick to interrupt at the requested rate. */

-	portNVIC_SYSTICK_LOAD_REG = ( configCPU_CLOCK_HZ / configTICK_RATE_HZ ) - 1UL;

-	portNVIC_SYSTICK_CTRL_REG = portNVIC_SYSTICK_CLK_BIT | portNVIC_SYSTICK_INT_BIT | portNVIC_SYSTICK_ENABLE_BIT;

+    /* Configure SysTick to interrupt at the requested rate. */

+    portNVIC_SYSTICK_LOAD_REG          = ( configCPU_CLOCK_HZ / configTICK_RATE_HZ ) - 1UL;

+    portNVIC_SYSTICK_CTRL_REG          = portNVIC_SYSTICK_CLK_BIT | portNVIC_SYSTICK_INT_BIT | portNVIC_SYSTICK_ENABLE_BIT;

 }

 /*-----------------------------------------------------------*/

 

 static void prvTaskExitError( void )

 {

-volatile uint32_t ulDummy = 0UL;

+    volatile uint32_t ulDummy = 0UL;

 

-	/* A function that implements a task must not exit or attempt to return to

-	 * its caller as there is nothing to return to. If a task wants to exit it

-	 * should instead call vTaskDelete( NULL ). Artificially force an assert()

-	 * to be triggered if configASSERT() is defined, then stop here so

-	 * application writers can catch the error. */

-	configASSERT( ulCriticalNesting == ~0UL );

-	portDISABLE_INTERRUPTS();

+    /* A function that implements a task must not exit or attempt to return to

+     * its caller as there is nothing to return to. If a task wants to exit it

+     * should instead call vTaskDelete( NULL ). Artificially force an assert()

+     * to be triggered if configASSERT() is defined, then stop here so

+     * application writers can catch the error. */

+    configASSERT( ulCriticalNesting == ~0UL );

+    portDISABLE_INTERRUPTS();

 

-	while( ulDummy == 0 )

-	{

-		/* This file calls prvTaskExitError() after the scheduler has been

-		 * started to remove a compiler warning about the function being

-		 * defined but never called.  ulDummy is used purely to quieten other

-		 * warnings about code appearing after this function is called - making

-		 * ulDummy volatile makes the compiler think the function could return

-		 * and therefore not output an 'unreachable code' warning for code that

-		 * appears after it. */

-	}

+    while( ulDummy == 0 )

+    {

+        /* This file calls prvTaskExitError() after the scheduler has been

+         * started to remove a compiler warning about the function being

+         * defined but never called.  ulDummy is used purely to quieten other

+         * warnings about code appearing after this function is called - making

+         * ulDummy volatile makes the compiler think the function could return

+         * and therefore not output an 'unreachable code' warning for code that

+         * appears after it. */

+    }

 }

 /*-----------------------------------------------------------*/

 

-#if( configENABLE_MPU == 1 )

-	static void prvSetupMPU( void ) /* PRIVILEGED_FUNCTION */

-	{

-	#if defined( __ARMCC_VERSION )

-		/* Declaration when these variable are defined in code instead of being

-		 * exported from linker scripts. */

-		extern uint32_t * __privileged_functions_start__;

-		extern uint32_t * __privileged_functions_end__;

-		extern uint32_t * __syscalls_flash_start__;

-		extern uint32_t * __syscalls_flash_end__;

-		extern uint32_t * __unprivileged_flash_start__;

-		extern uint32_t * __unprivileged_flash_end__;

-		extern uint32_t * __privileged_sram_start__;

-		extern uint32_t * __privileged_sram_end__;

-	#else

-		/* Declaration when these variable are exported from linker scripts. */

-		extern uint32_t __privileged_functions_start__[];

-		extern uint32_t __privileged_functions_end__[];

-		extern uint32_t __syscalls_flash_start__[];

-		extern uint32_t __syscalls_flash_end__[];

-		extern uint32_t __unprivileged_flash_start__[];

-		extern uint32_t __unprivileged_flash_end__[];

-		extern uint32_t __privileged_sram_start__[];

-		extern uint32_t __privileged_sram_end__[];

-	#endif /* defined( __ARMCC_VERSION ) */

+#if ( configENABLE_MPU == 1 )

+    static void prvSetupMPU( void ) /* PRIVILEGED_FUNCTION */

+    {

+        #if defined( __ARMCC_VERSION )

 

-		/* Check that the MPU is present. */

-		if( portMPU_TYPE_REG == portEXPECTED_MPU_TYPE_VALUE )

-		{

-			/* MAIR0 - Index 0. */

-			portMPU_MAIR0_REG |= ( ( portMPU_NORMAL_MEMORY_BUFFERABLE_CACHEABLE << portMPU_MAIR_ATTR0_POS ) & portMPU_MAIR_ATTR0_MASK );

-			/* MAIR0 - Index 1. */

-			portMPU_MAIR0_REG |= ( ( portMPU_DEVICE_MEMORY_nGnRE << portMPU_MAIR_ATTR1_POS ) & portMPU_MAIR_ATTR1_MASK );

+            /* Declaration when these variable are defined in code instead of being

+             * exported from linker scripts. */

+            extern uint32_t * __privileged_functions_start__;

+            extern uint32_t * __privileged_functions_end__;

+            extern uint32_t * __syscalls_flash_start__;

+            extern uint32_t * __syscalls_flash_end__;

+            extern uint32_t * __unprivileged_flash_start__;

+            extern uint32_t * __unprivileged_flash_end__;

+            extern uint32_t * __privileged_sram_start__;

+            extern uint32_t * __privileged_sram_end__;

+        #else  /* if defined( __ARMCC_VERSION ) */

+            /* Declaration when these variable are exported from linker scripts. */

+            extern uint32_t   __privileged_functions_start__[];

+            extern uint32_t   __privileged_functions_end__[];

+            extern uint32_t   __syscalls_flash_start__[];

+            extern uint32_t   __syscalls_flash_end__[];

+            extern uint32_t   __unprivileged_flash_start__[];

+            extern uint32_t   __unprivileged_flash_end__[];

+            extern uint32_t   __privileged_sram_start__[];

+            extern uint32_t   __privileged_sram_end__[];

+        #endif /* defined( __ARMCC_VERSION ) */

 

-			/* Setup privileged flash as Read Only so that privileged tasks can

-			 * read it but not modify. */

-			portMPU_RNR_REG = portPRIVILEGED_FLASH_REGION;

-			portMPU_RBAR_REG =	( ( ( uint32_t ) __privileged_functions_start__ ) & portMPU_RBAR_ADDRESS_MASK ) |

-								( portMPU_REGION_NON_SHAREABLE ) |

-								( portMPU_REGION_PRIVILEGED_READ_ONLY );

-			portMPU_RLAR_REG =	( ( ( uint32_t ) __privileged_functions_end__ ) & portMPU_RLAR_ADDRESS_MASK ) |

-								( portMPU_RLAR_ATTR_INDEX0 ) |

-								( portMPU_RLAR_REGION_ENABLE );

+        /* Check that the MPU is present. */

+        if( portMPU_TYPE_REG == portEXPECTED_MPU_TYPE_VALUE )

+        {

+            /* MAIR0 - Index 0. */

+            portMPU_MAIR0_REG                  |= ( ( portMPU_NORMAL_MEMORY_BUFFERABLE_CACHEABLE << portMPU_MAIR_ATTR0_POS ) & portMPU_MAIR_ATTR0_MASK );

+            /* MAIR0 - Index 1. */

+            portMPU_MAIR0_REG                  |= ( ( portMPU_DEVICE_MEMORY_nGnRE << portMPU_MAIR_ATTR1_POS ) & portMPU_MAIR_ATTR1_MASK );

 

-			/* Setup unprivileged flash as Read Only by both privileged and

-			 * unprivileged tasks. All tasks can read it but no-one can modify. */

-			portMPU_RNR_REG = portUNPRIVILEGED_FLASH_REGION;

-			portMPU_RBAR_REG =	( ( ( uint32_t ) __unprivileged_flash_start__ ) & portMPU_RBAR_ADDRESS_MASK ) |

-								( portMPU_REGION_NON_SHAREABLE ) |

-								( portMPU_REGION_READ_ONLY );

-			portMPU_RLAR_REG =	( ( ( uint32_t ) __unprivileged_flash_end__ ) & portMPU_RLAR_ADDRESS_MASK ) |

-								( portMPU_RLAR_ATTR_INDEX0 ) |

-								( portMPU_RLAR_REGION_ENABLE );

+            /* Setup privileged flash as Read Only so that privileged tasks can

+             * read it but not modify. */

+            portMPU_RNR_REG                     = portPRIVILEGED_FLASH_REGION;

+            portMPU_RBAR_REG                    = ( ( ( uint32_t ) __privileged_functions_start__ ) & portMPU_RBAR_ADDRESS_MASK ) |

+                                                  ( portMPU_REGION_NON_SHAREABLE ) |

+                                                  ( portMPU_REGION_PRIVILEGED_READ_ONLY );

+            portMPU_RLAR_REG                    = ( ( ( uint32_t ) __privileged_functions_end__ ) & portMPU_RLAR_ADDRESS_MASK ) |

+                                                  ( portMPU_RLAR_ATTR_INDEX0 ) |

+                                                  ( portMPU_RLAR_REGION_ENABLE );

 

-			/* Setup unprivileged syscalls flash as Read Only by both privileged

-			 * and unprivileged tasks. All tasks can read it but no-one can modify. */

-			portMPU_RNR_REG = portUNPRIVILEGED_SYSCALLS_REGION;

-			portMPU_RBAR_REG =	( ( ( uint32_t ) __syscalls_flash_start__ ) & portMPU_RBAR_ADDRESS_MASK ) |

-								( portMPU_REGION_NON_SHAREABLE ) |

-								( portMPU_REGION_READ_ONLY );

-			portMPU_RLAR_REG =	( ( ( uint32_t ) __syscalls_flash_end__ ) & portMPU_RLAR_ADDRESS_MASK ) |

-								( portMPU_RLAR_ATTR_INDEX0 ) |

-								( portMPU_RLAR_REGION_ENABLE );

+            /* Setup unprivileged flash as Read Only by both privileged and

+             * unprivileged tasks. All tasks can read it but no-one can modify. */

+            portMPU_RNR_REG                     = portUNPRIVILEGED_FLASH_REGION;

+            portMPU_RBAR_REG                    = ( ( ( uint32_t ) __unprivileged_flash_start__ ) & portMPU_RBAR_ADDRESS_MASK ) |

+                                                  ( portMPU_REGION_NON_SHAREABLE ) |

+                                                  ( portMPU_REGION_READ_ONLY );

+            portMPU_RLAR_REG                    = ( ( ( uint32_t ) __unprivileged_flash_end__ ) & portMPU_RLAR_ADDRESS_MASK ) |

+                                                  ( portMPU_RLAR_ATTR_INDEX0 ) |

+                                                  ( portMPU_RLAR_REGION_ENABLE );

 

-			/* Setup RAM containing kernel data for privileged access only. */

-			portMPU_RNR_REG = portPRIVILEGED_RAM_REGION;

-			portMPU_RBAR_REG =	( ( ( uint32_t ) __privileged_sram_start__ ) & portMPU_RBAR_ADDRESS_MASK ) |

-								( portMPU_REGION_NON_SHAREABLE ) |

-								( portMPU_REGION_PRIVILEGED_READ_WRITE ) |

-								( portMPU_REGION_EXECUTE_NEVER );

-			portMPU_RLAR_REG =	( ( ( uint32_t ) __privileged_sram_end__ ) & portMPU_RLAR_ADDRESS_MASK ) |

-								( portMPU_RLAR_ATTR_INDEX0 ) |

-								( portMPU_RLAR_REGION_ENABLE );

+            /* Setup unprivileged syscalls flash as Read Only by both privileged

+             * and unprivileged tasks. All tasks can read it but no-one can modify. */

+            portMPU_RNR_REG                     = portUNPRIVILEGED_SYSCALLS_REGION;

+            portMPU_RBAR_REG                    = ( ( ( uint32_t ) __syscalls_flash_start__ ) & portMPU_RBAR_ADDRESS_MASK ) |

+                                                  ( portMPU_REGION_NON_SHAREABLE ) |

+                                                  ( portMPU_REGION_READ_ONLY );

+            portMPU_RLAR_REG                    = ( ( ( uint32_t ) __syscalls_flash_end__ ) & portMPU_RLAR_ADDRESS_MASK ) |

+                                                  ( portMPU_RLAR_ATTR_INDEX0 ) |

+                                                  ( portMPU_RLAR_REGION_ENABLE );

 

-			/* Enable mem fault. */

-			portSCB_SYS_HANDLER_CTRL_STATE_REG |= portSCB_MEM_FAULT_ENABLE_BIT;

+            /* Setup RAM containing kernel data for privileged access only. */

+            portMPU_RNR_REG                     = portPRIVILEGED_RAM_REGION;

+            portMPU_RBAR_REG                    = ( ( ( uint32_t ) __privileged_sram_start__ ) & portMPU_RBAR_ADDRESS_MASK ) |

+                                                  ( portMPU_REGION_NON_SHAREABLE ) |

+                                                  ( portMPU_REGION_PRIVILEGED_READ_WRITE ) |

+                                                  ( portMPU_REGION_EXECUTE_NEVER );

+            portMPU_RLAR_REG                    = ( ( ( uint32_t ) __privileged_sram_end__ ) & portMPU_RLAR_ADDRESS_MASK ) |

+                                                  ( portMPU_RLAR_ATTR_INDEX0 ) |

+                                                  ( portMPU_RLAR_REGION_ENABLE );

 

-			/* Enable MPU with privileged background access i.e. unmapped

-			 * regions have privileged access. */

-			portMPU_CTRL_REG |= ( portMPU_PRIV_BACKGROUND_ENABLE_BIT | portMPU_ENABLE_BIT );

-		}

-	}

+            /* Enable mem fault. */

+            portSCB_SYS_HANDLER_CTRL_STATE_REG |= portSCB_MEM_FAULT_ENABLE_BIT;

+

+            /* Enable MPU with privileged background access i.e. unmapped

+             * regions have privileged access. */

+            portMPU_CTRL_REG                   |= ( portMPU_PRIV_BACKGROUND_ENABLE_BIT | portMPU_ENABLE_BIT );

+        }

+    }

 #endif /* configENABLE_MPU */

 /*-----------------------------------------------------------*/

 

-#if( configENABLE_FPU == 1 )

-	static void prvSetupFPU( void ) /* PRIVILEGED_FUNCTION */

-	{

-		#if( configENABLE_TRUSTZONE == 1 )

-		{

-			/* Enable non-secure access to the FPU. */

-			SecureInit_EnableNSFPUAccess();

-		}

-		#endif /* configENABLE_TRUSTZONE */

+#if ( configENABLE_FPU == 1 )

+    static void prvSetupFPU( void ) /* PRIVILEGED_FUNCTION */

+    {

+        #if ( configENABLE_TRUSTZONE == 1 )

+            {

+                /* Enable non-secure access to the FPU. */

+                SecureInit_EnableNSFPUAccess();

+            }

+        #endif /* configENABLE_TRUSTZONE */

 

-		/* CP10 = 11 ==> Full access to FPU i.e. both privileged and

-		 * unprivileged code should be able to access FPU. CP11 should be

-		 * programmed to the same value as CP10. */

-		*( portCPACR ) |=	(	( portCPACR_CP10_VALUE << portCPACR_CP10_POS ) |

-								( portCPACR_CP11_VALUE << portCPACR_CP11_POS )

-							);

+        /* CP10 = 11 ==> Full access to FPU i.e. both privileged and

+         * unprivileged code should be able to access FPU. CP11 should be

+         * programmed to the same value as CP10. */

+        *( portCPACR ) |= ( ( portCPACR_CP10_VALUE << portCPACR_CP10_POS ) |

+                            ( portCPACR_CP11_VALUE << portCPACR_CP11_POS )

+                            );

 

-		/* ASPEN = 1 ==> Hardware should automatically preserve floating point

-		 * context on exception entry and restore on exception return.

-		 * LSPEN = 1 ==> Enable lazy context save of FP state. */

-		*( portFPCCR ) |= ( portFPCCR_ASPEN_MASK | portFPCCR_LSPEN_MASK );

-	}

+        /* ASPEN = 1 ==> Hardware should automatically preserve floating point

+         * context on exception entry and restore on exception return.

+         * LSPEN = 1 ==> Enable lazy context save of FP state. */

+        *( portFPCCR ) |= ( portFPCCR_ASPEN_MASK | portFPCCR_LSPEN_MASK );

+    }

 #endif /* configENABLE_FPU */

 /*-----------------------------------------------------------*/

 

 void vPortYield( void ) /* PRIVILEGED_FUNCTION */

 {

-	/* Set a PendSV to request a context switch. */

-	portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT;

+    /* Set a PendSV to request a context switch. */

+    portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT;

 

-	/* Barriers are normally not required but do ensure the code is

-	 * completely within the specified behaviour for the architecture. */

-	__asm volatile( "dsb" ::: "memory" );

-	__asm volatile( "isb" );

+    /* Barriers are normally not required but do ensure the code is

+     * completely within the specified behaviour for the architecture. */

+    __asm volatile ( "dsb" ::: "memory" );

+    __asm volatile ( "isb" );

 }

 /*-----------------------------------------------------------*/

 

 void vPortEnterCritical( void ) /* PRIVILEGED_FUNCTION */

 {

-	portDISABLE_INTERRUPTS();

-	ulCriticalNesting++;

+    portDISABLE_INTERRUPTS();

+    ulCriticalNesting++;

 

-	/* Barriers are normally not required but do ensure the code is

-	 * completely within the specified behaviour for the architecture. */

-	__asm volatile( "dsb" ::: "memory" );

-	__asm volatile( "isb" );

+    /* Barriers are normally not required but do ensure the code is

+     * completely within the specified behaviour for the architecture. */

+    __asm volatile ( "dsb" ::: "memory" );

+    __asm volatile ( "isb" );

 }

 /*-----------------------------------------------------------*/

 

 void vPortExitCritical( void ) /* PRIVILEGED_FUNCTION */

 {

-	configASSERT( ulCriticalNesting );

-	ulCriticalNesting--;

+    configASSERT( ulCriticalNesting );

+    ulCriticalNesting--;

 

-	if( ulCriticalNesting == 0 )

-	{

-		portENABLE_INTERRUPTS();

-	}

+    if( ulCriticalNesting == 0 )

+    {

+        portENABLE_INTERRUPTS();

+    }

 }

 /*-----------------------------------------------------------*/

 

 void SysTick_Handler( void ) /* PRIVILEGED_FUNCTION */

 {

-uint32_t ulPreviousMask;

+    uint32_t ulPreviousMask;

 

-	ulPreviousMask = portSET_INTERRUPT_MASK_FROM_ISR();

-	{

-		/* Increment the RTOS tick. */

-		if( xTaskIncrementTick() != pdFALSE )

-		{

-			/* Pend a context switch. */

-			portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT;

-		}

-	}

-	portCLEAR_INTERRUPT_MASK_FROM_ISR( ulPreviousMask );

+    ulPreviousMask = portSET_INTERRUPT_MASK_FROM_ISR();

+    {

+        /* Increment the RTOS tick. */

+        if( xTaskIncrementTick() != pdFALSE )

+        {

+            /* Pend a context switch. */

+            portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT;

+        }

+    }

+    portCLEAR_INTERRUPT_MASK_FROM_ISR( ulPreviousMask );

 }

 /*-----------------------------------------------------------*/

 

-void vPortSVCHandler_C( uint32_t *pulCallerStackAddress ) /* PRIVILEGED_FUNCTION portDONT_DISCARD */

+void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTION portDONT_DISCARD */

 {

-#if( configENABLE_MPU == 1 )

-	#if defined( __ARMCC_VERSION )

-		/* Declaration when these variable are defined in code instead of being

-		 * exported from linker scripts. */

-		extern uint32_t * __syscalls_flash_start__;

-		extern uint32_t * __syscalls_flash_end__;

-	#else

-		/* Declaration when these variable are exported from linker scripts. */

-		extern uint32_t __syscalls_flash_start__[];

-		extern uint32_t __syscalls_flash_end__[];

-	#endif /* defined( __ARMCC_VERSION ) */

-#endif /* configENABLE_MPU */

+    #if ( configENABLE_MPU == 1 )

+        #if defined( __ARMCC_VERSION )

 

-uint32_t ulPC;

+            /* Declaration when these variable are defined in code instead of being

+             * exported from linker scripts. */

+            extern uint32_t * __syscalls_flash_start__;

+            extern uint32_t * __syscalls_flash_end__;

+        #else

+            /* Declaration when these variable are exported from linker scripts. */

+            extern uint32_t   __syscalls_flash_start__[];

+            extern uint32_t   __syscalls_flash_end__[];

+        #endif /* defined( __ARMCC_VERSION ) */

+    #endif /* configENABLE_MPU */

 

-#if( configENABLE_TRUSTZONE == 1 )

-	uint32_t ulR0;

-	#if( configENABLE_MPU == 1 )

-		uint32_t ulControl, ulIsTaskPrivileged;

-	#endif /* configENABLE_MPU */

-#endif /* configENABLE_TRUSTZONE */

-uint8_t ucSVCNumber;

+    uint32_t                  ulPC;

 

-	/* Register are stored on the stack in the following order - R0, R1, R2, R3,

-	 * R12, LR, PC, xPSR. */

-	ulPC = pulCallerStackAddress[ 6 ];

-	ucSVCNumber = ( ( uint8_t *) ulPC )[ -2 ];

+    #if ( configENABLE_TRUSTZONE == 1 )

+        uint32_t              ulR0;

+        #if ( configENABLE_MPU == 1 )

+            uint32_t          ulControl, ulIsTaskPrivileged;

+        #endif /* configENABLE_MPU */

+    #endif /* configENABLE_TRUSTZONE */

+    uint8_t ucSVCNumber;

 

-	switch( ucSVCNumber )

-	{

-		#if( configENABLE_TRUSTZONE == 1 )

-			case portSVC_ALLOCATE_SECURE_CONTEXT:

-			{

-				/* R0 contains the stack size passed as parameter to the

-				 * vPortAllocateSecureContext function. */

-				ulR0 = pulCallerStackAddress[ 0 ];

+    /* Register are stored on the stack in the following order - R0, R1, R2, R3,

+     * R12, LR, PC, xPSR. */

+    ulPC        = pulCallerStackAddress[ 6 ];

+    ucSVCNumber = ( ( uint8_t * ) ulPC )[ -2 ];

 

-				#if( configENABLE_MPU == 1 )

-				{

-					/* Read the CONTROL register value. */

-					__asm volatile ( "mrs %0, control"  : "=r" ( ulControl ) );

+    switch( ucSVCNumber )

+    {

+        #if ( configENABLE_TRUSTZONE == 1 )

+            case portSVC_ALLOCATE_SECURE_CONTEXT:

 

-					/* The task that raised the SVC is privileged if Bit[0]

-					 * in the CONTROL register is 0. */

-					ulIsTaskPrivileged = ( ( ulControl & portCONTROL_PRIVILEGED_MASK ) == 0 );

+                /* R0 contains the stack size passed as parameter to the

+                 * vPortAllocateSecureContext function. */

+                ulR0 = pulCallerStackAddress[ 0 ];

 

-					/* Allocate and load a context for the secure task. */

-					xSecureContext = SecureContext_AllocateContext( ulR0, ulIsTaskPrivileged );

-				}

-				#else

-				{

-					/* Allocate and load a context for the secure task. */

-					xSecureContext = SecureContext_AllocateContext( ulR0 );

-				}

-				#endif /* configENABLE_MPU */

+                #if ( configENABLE_MPU == 1 )

+                {

+                    /* Read the CONTROL register value. */

+                    __asm volatile ( "mrs %0, control"  : "=r" ( ulControl ) );

 

-				configASSERT( xSecureContext != NULL );

-				SecureContext_LoadContext( xSecureContext );

-			}

-			break;

+                    /* The task that raised the SVC is privileged if Bit[0]

+                     * in the CONTROL register is 0. */

+                    ulIsTaskPrivileged = ( ( ulControl & portCONTROL_PRIVILEGED_MASK ) == 0 );

 

-			case portSVC_FREE_SECURE_CONTEXT:

-			{

-				/* R0 contains the secure context handle to be freed. */

-				ulR0 = pulCallerStackAddress[ 0 ];

+                    /* Allocate and load a context for the secure task. */

+                    xSecureContext     = SecureContext_AllocateContext( ulR0, ulIsTaskPrivileged );

+                }

+                #else  /* if ( configENABLE_MPU == 1 ) */

+                {

+                    /* Allocate and load a context for the secure task. */

+                    xSecureContext = SecureContext_AllocateContext( ulR0 );

+                }

+                #endif /* configENABLE_MPU */

 

-				/* Free the secure context. */

-				SecureContext_FreeContext( ( SecureContextHandle_t ) ulR0 );

-			}

-			break;

-		#endif /* configENABLE_TRUSTZONE */

+                configASSERT( xSecureContext != NULL );

+                SecureContext_LoadContext( xSecureContext );

+                break;

 

-		case portSVC_START_SCHEDULER:

-		{

-			#if( configENABLE_TRUSTZONE == 1 )

-			{

-				/* De-prioritize the non-secure exceptions so that the

-				 * non-secure pendSV runs at the lowest priority. */

-				SecureInit_DePrioritizeNSExceptions();

+            case portSVC_FREE_SECURE_CONTEXT:

+                /* R0 contains the secure context handle to be freed. */

+                ulR0 = pulCallerStackAddress[ 0 ];

 

-				/* Initialize the secure context management system. */

-				SecureContext_Init();

-			}

-			#endif /* configENABLE_TRUSTZONE */

+                /* Free the secure context. */

+                SecureContext_FreeContext( ( SecureContextHandle_t ) ulR0 );

+                break;

+        #endif /* configENABLE_TRUSTZONE */

 

-			#if( configENABLE_FPU == 1 )

-			{

-				/* Setup the Floating Point Unit (FPU). */

-				prvSetupFPU();

-			}

-			#endif /* configENABLE_FPU */

+        case portSVC_START_SCHEDULER:

+            #if ( configENABLE_TRUSTZONE == 1 )

+            {

+                /* De-prioritize the non-secure exceptions so that the

+                 * non-secure pendSV runs at the lowest priority. */

+                SecureInit_DePrioritizeNSExceptions();

 

-			/* Setup the context of the first task so that the first task starts

-			 * executing. */

-			vRestoreContextOfFirstTask();

-		}

-		break;

+                /* Initialize the secure context management system. */

+                SecureContext_Init();

+            }

+            #endif /* configENABLE_TRUSTZONE */

 

-		#if( configENABLE_MPU == 1 )

-			case portSVC_RAISE_PRIVILEGE:

-			{

-				/* Only raise the privilege, if the svc was raised from any of

-				 * the system calls. */

-				if( ulPC >= ( uint32_t ) __syscalls_flash_start__ &&

-					ulPC <= ( uint32_t ) __syscalls_flash_end__ )

-				{

-					vRaisePrivilege();

-				}

-			}

-			break;

-		#endif /* configENABLE_MPU */

+            #if ( configENABLE_FPU == 1 )

+            {

+                /* Setup the Floating Point Unit (FPU). */

+                prvSetupFPU();

+            }

+            #endif /* configENABLE_FPU */

 

-		default:

-		{

-			/* Incorrect SVC call. */

-			configASSERT( pdFALSE );

-		}

-	}

+            /* Setup the context of the first task so that the first task starts

+             * executing. */

+            vRestoreContextOfFirstTask();

+            break;

+

+            #if ( configENABLE_MPU == 1 )

+                case portSVC_RAISE_PRIVILEGE:

+

+                    /* Only raise the privilege, if the svc was raised from any of

+                     * the system calls. */

+                    if( ( ulPC >= ( uint32_t ) __syscalls_flash_start__ ) &&

+                        ( ulPC <= ( uint32_t ) __syscalls_flash_end__ ) )

+                    {

+                        vRaisePrivilege();

+                    }

+                    break;

+            #endif /* configENABLE_MPU */

+

+        default:

+            /* Incorrect SVC call. */

+            configASSERT( pdFALSE );

+    }

 }

 /*-----------------------------------------------------------*/

 

-#if( configENABLE_MPU == 1 )

-	StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, StackType_t *pxEndOfStack, TaskFunction_t pxCode, void *pvParameters, BaseType_t xRunPrivileged ) /* PRIVILEGED_FUNCTION */

+#if ( configENABLE_MPU == 1 )

+    StackType_t * pxPortInitialiseStack( StackType_t * pxTopOfStack,

+                                         StackType_t * pxEndOfStack,

+                                         TaskFunction_t pxCode,

+                                         void * pvParameters,

+                                         BaseType_t xRunPrivileged )                                                                                                 /* PRIVILEGED_FUNCTION */

 #else

-	StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, StackType_t *pxEndOfStack, TaskFunction_t pxCode, void *pvParameters ) /* PRIVILEGED_FUNCTION */

+    StackType_t * pxPortInitialiseStack( StackType_t * pxTopOfStack,

+                                         StackType_t * pxEndOfStack,

+                                         TaskFunction_t pxCode,

+                                         void * pvParameters )                                                                            /* PRIVILEGED_FUNCTION */

 #endif /* configENABLE_MPU */

 {

-	/* Simulate the stack frame as it would be created by a context switch

-	 * interrupt. */

-	#if( portPRELOAD_REGISTERS == 0 )

-	{

-		pxTopOfStack--; /* Offset added to account for the way the MCU uses the stack on entry/exit of interrupts. */

-		*pxTopOfStack = portINITIAL_XPSR;							/* xPSR */

-		pxTopOfStack--;

-		*pxTopOfStack = ( StackType_t ) pxCode;						/* PC */

-		pxTopOfStack--;

-		*pxTopOfStack = ( StackType_t ) portTASK_RETURN_ADDRESS;	/* LR */

-		pxTopOfStack -= 5;											/* R12, R3, R2 and R1. */

-		*pxTopOfStack = ( StackType_t ) pvParameters;				/* R0 */

-		pxTopOfStack -= 9;											/* R11..R4, EXC_RETURN. */

-		*pxTopOfStack = portINITIAL_EXC_RETURN;

+    /* Simulate the stack frame as it would be created by a context switch

+     * interrupt. */

+    #if ( portPRELOAD_REGISTERS == 0 )

+        {

+            pxTopOfStack--;                                          /* Offset added to account for the way the MCU uses the stack on entry/exit of interrupts. */

+            *pxTopOfStack = portINITIAL_XPSR;                        /* xPSR */

+            pxTopOfStack--;

+            *pxTopOfStack = ( StackType_t ) pxCode;                  /* PC */

+            pxTopOfStack--;

+            *pxTopOfStack = ( StackType_t ) portTASK_RETURN_ADDRESS; /* LR */

+            pxTopOfStack -= 5;                                       /* R12, R3, R2 and R1. */

+            *pxTopOfStack = ( StackType_t ) pvParameters;            /* R0 */

+            pxTopOfStack -= 9;                                       /* R11..R4, EXC_RETURN. */

+            *pxTopOfStack = portINITIAL_EXC_RETURN;

 

-		#if( configENABLE_MPU == 1 )

-		{

-			pxTopOfStack--;

-			if( xRunPrivileged == pdTRUE )

-			{

-				*pxTopOfStack = portINITIAL_CONTROL_PRIVILEGED;		/* Slot used to hold this task's CONTROL value. */

-			}

-			else

-			{

-				*pxTopOfStack = portINITIAL_CONTROL_UNPRIVILEGED;	/* Slot used to hold this task's CONTROL value. */

-			}

-		}

-		#endif /* configENABLE_MPU */

+            #if ( configENABLE_MPU == 1 )

+                {

+                    pxTopOfStack--;

 

-		pxTopOfStack--;

-		*pxTopOfStack = ( StackType_t ) pxEndOfStack;	/* Slot used to hold this task's PSPLIM value. */

+                    if( xRunPrivileged == pdTRUE )

+                    {

+                        *pxTopOfStack = portINITIAL_CONTROL_PRIVILEGED; /* Slot used to hold this task's CONTROL value. */

+                    }

+                    else

+                    {

+                        *pxTopOfStack = portINITIAL_CONTROL_UNPRIVILEGED; /* Slot used to hold this task's CONTROL value. */

+                    }

+                }

+            #endif /* configENABLE_MPU */

 

-		#if( configENABLE_TRUSTZONE == 1 )

-		{

-			pxTopOfStack--;

-			*pxTopOfStack = portNO_SECURE_CONTEXT;		/* Slot used to hold this task's xSecureContext value. */

-		}

-		#endif /* configENABLE_TRUSTZONE */

-	}

-	#else /* portPRELOAD_REGISTERS */

-	{

-		pxTopOfStack--; /* Offset added to account for the way the MCU uses the stack on entry/exit of interrupts. */

-		*pxTopOfStack = portINITIAL_XPSR;							/* xPSR */

-		pxTopOfStack--;

-		*pxTopOfStack = ( StackType_t ) pxCode;						/* PC */

-		pxTopOfStack--;

-		*pxTopOfStack = ( StackType_t ) portTASK_RETURN_ADDRESS;	/* LR */

-		pxTopOfStack--;

-		*pxTopOfStack = ( StackType_t ) 0x12121212UL;				/* R12 */

-		pxTopOfStack--;

-		*pxTopOfStack = ( StackType_t ) 0x03030303UL;				/* R3 */

-		pxTopOfStack--;

-		*pxTopOfStack = ( StackType_t ) 0x02020202UL;				/* R2 */

-		pxTopOfStack--;

-		*pxTopOfStack = ( StackType_t ) 0x01010101UL;				/* R1 */

-		pxTopOfStack--;

-		*pxTopOfStack = ( StackType_t ) pvParameters;				/* R0 */

-		pxTopOfStack--;

-		*pxTopOfStack = ( StackType_t ) 0x11111111UL;				/* R11 */

-		pxTopOfStack--;

-		*pxTopOfStack = ( StackType_t ) 0x10101010UL;				/* R10 */

-		pxTopOfStack--;

-		*pxTopOfStack = ( StackType_t ) 0x09090909UL;				/* R09 */

-		pxTopOfStack--;

-		*pxTopOfStack = ( StackType_t ) 0x08080808UL;				/* R08 */

-		pxTopOfStack--;

-		*pxTopOfStack = ( StackType_t ) 0x07070707UL;				/* R07 */

-		pxTopOfStack--;

-		*pxTopOfStack = ( StackType_t ) 0x06060606UL;				/* R06 */

-		pxTopOfStack--;

-		*pxTopOfStack = ( StackType_t ) 0x05050505UL;				/* R05 */

-		pxTopOfStack--;

-		*pxTopOfStack = ( StackType_t ) 0x04040404UL;				/* R04 */

-		pxTopOfStack--;

-		*pxTopOfStack = portINITIAL_EXC_RETURN;						/* EXC_RETURN */

+            pxTopOfStack--;

+            *pxTopOfStack = ( StackType_t ) pxEndOfStack; /* Slot used to hold this task's PSPLIM value. */

 

-		#if( configENABLE_MPU == 1 )

-		{

-			pxTopOfStack--;

-			if( xRunPrivileged == pdTRUE )

-			{

-				*pxTopOfStack = portINITIAL_CONTROL_PRIVILEGED;		/* Slot used to hold this task's CONTROL value. */

-			}

-			else

-			{

-				*pxTopOfStack = portINITIAL_CONTROL_UNPRIVILEGED;	/* Slot used to hold this task's CONTROL value. */

-			}

-		}

-		#endif /* configENABLE_MPU */

+            #if ( configENABLE_TRUSTZONE == 1 )

+                {

+                    pxTopOfStack--;

+                    *pxTopOfStack = portNO_SECURE_CONTEXT; /* Slot used to hold this task's xSecureContext value. */

+                }

+            #endif /* configENABLE_TRUSTZONE */

+        }

+    #else /* portPRELOAD_REGISTERS */

+        {

+            pxTopOfStack--;                                          /* Offset added to account for the way the MCU uses the stack on entry/exit of interrupts. */

+            *pxTopOfStack = portINITIAL_XPSR;                        /* xPSR */

+            pxTopOfStack--;

+            *pxTopOfStack = ( StackType_t ) pxCode;                  /* PC */

+            pxTopOfStack--;

+            *pxTopOfStack = ( StackType_t ) portTASK_RETURN_ADDRESS; /* LR */

+            pxTopOfStack--;

+            *pxTopOfStack = ( StackType_t ) 0x12121212UL;            /* R12 */

+            pxTopOfStack--;

+            *pxTopOfStack = ( StackType_t ) 0x03030303UL;            /* R3 */

+            pxTopOfStack--;

+            *pxTopOfStack = ( StackType_t ) 0x02020202UL;            /* R2 */

+            pxTopOfStack--;

+            *pxTopOfStack = ( StackType_t ) 0x01010101UL;            /* R1 */

+            pxTopOfStack--;

+            *pxTopOfStack = ( StackType_t ) pvParameters;            /* R0 */

+            pxTopOfStack--;

+            *pxTopOfStack = ( StackType_t ) 0x11111111UL;            /* R11 */

+            pxTopOfStack--;

+            *pxTopOfStack = ( StackType_t ) 0x10101010UL;            /* R10 */

+            pxTopOfStack--;

+            *pxTopOfStack = ( StackType_t ) 0x09090909UL;            /* R09 */

+            pxTopOfStack--;

+            *pxTopOfStack = ( StackType_t ) 0x08080808UL;            /* R08 */

+            pxTopOfStack--;

+            *pxTopOfStack = ( StackType_t ) 0x07070707UL;            /* R07 */

+            pxTopOfStack--;

+            *pxTopOfStack = ( StackType_t ) 0x06060606UL;            /* R06 */

+            pxTopOfStack--;

+            *pxTopOfStack = ( StackType_t ) 0x05050505UL;            /* R05 */

+            pxTopOfStack--;

+            *pxTopOfStack = ( StackType_t ) 0x04040404UL;            /* R04 */

+            pxTopOfStack--;

+            *pxTopOfStack = portINITIAL_EXC_RETURN;                  /* EXC_RETURN */

 

-		pxTopOfStack--;

-		*pxTopOfStack = ( StackType_t ) pxEndOfStack;	/* Slot used to hold this task's PSPLIM value. */

+            #if ( configENABLE_MPU == 1 )

+                {

+                    pxTopOfStack--;

 

-		#if( configENABLE_TRUSTZONE == 1 )

-		{

-			pxTopOfStack--;

-			*pxTopOfStack = portNO_SECURE_CONTEXT;		/* Slot used to hold this task's xSecureContext value. */

-		}

-		#endif /* configENABLE_TRUSTZONE */

-	}

-	#endif /* portPRELOAD_REGISTERS */

+                    if( xRunPrivileged == pdTRUE )

+                    {

+                        *pxTopOfStack = portINITIAL_CONTROL_PRIVILEGED; /* Slot used to hold this task's CONTROL value. */

+                    }

+                    else

+                    {

+                        *pxTopOfStack = portINITIAL_CONTROL_UNPRIVILEGED; /* Slot used to hold this task's CONTROL value. */

+                    }

+                }

+            #endif /* configENABLE_MPU */

 

-	return pxTopOfStack;

+            pxTopOfStack--;

+            *pxTopOfStack = ( StackType_t ) pxEndOfStack; /* Slot used to hold this task's PSPLIM value. */

+

+            #if ( configENABLE_TRUSTZONE == 1 )

+                {

+                    pxTopOfStack--;

+                    *pxTopOfStack = portNO_SECURE_CONTEXT; /* Slot used to hold this task's xSecureContext value. */

+                }

+            #endif /* configENABLE_TRUSTZONE */

+        }

+    #endif /* portPRELOAD_REGISTERS */

+

+    return pxTopOfStack;

 }

 /*-----------------------------------------------------------*/

 

 BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */

 {

-	/* Make PendSV, CallSV and SysTick the same priority as the kernel. */

-	portNVIC_SYSPRI2_REG |= portNVIC_PENDSV_PRI;

-	portNVIC_SYSPRI2_REG |= portNVIC_SYSTICK_PRI;

+    /* Make PendSV, CallSV and SysTick the same priority as the kernel. */

+    portNVIC_SYSPRI2_REG |= portNVIC_PENDSV_PRI;

+    portNVIC_SYSPRI2_REG |= portNVIC_SYSTICK_PRI;

 

-	#if( configENABLE_MPU == 1 )

-	{

-		/* Setup the Memory Protection Unit (MPU). */

-		prvSetupMPU();

-	}

-	#endif /* configENABLE_MPU */

+    #if ( configENABLE_MPU == 1 )

+        {

+            /* Setup the Memory Protection Unit (MPU). */

+            prvSetupMPU();

+        }

+    #endif /* configENABLE_MPU */

 

-	/* Start the timer that generates the tick ISR. Interrupts are disabled

-	 * here already. */

-	vPortSetupTimerInterrupt();

+    /* Start the timer that generates the tick ISR. Interrupts are disabled

+     * here already. */

+    vPortSetupTimerInterrupt();

 

-	/* Initialize the critical nesting count ready for the first task. */

-	ulCriticalNesting = 0;

+    /* Initialize the critical nesting count ready for the first task. */

+    ulCriticalNesting     = 0;

 

-	/* Start the first task. */

-	vStartFirstTask();

+    /* Start the first task. */

+    vStartFirstTask();

 

-	/* Should never get here as the tasks will now be executing. Call the task

-	 * exit error function to prevent compiler warnings about a static function

-	 * not being called in the case that the application writer overrides this

-	 * functionality by defining configTASK_RETURN_ADDRESS. Call

-	 * vTaskSwitchContext() so link time optimization does not remove the

-	 * symbol. */

-	vTaskSwitchContext();

-	prvTaskExitError();

+    /* Should never get here as the tasks will now be executing. Call the task

+     * exit error function to prevent compiler warnings about a static function

+     * not being called in the case that the application writer overrides this

+     * functionality by defining configTASK_RETURN_ADDRESS. Call

+     * vTaskSwitchContext() so link time optimization does not remove the

+     * symbol. */

+    vTaskSwitchContext();

+    prvTaskExitError();

 

-	/* Should not get here. */

-	return 0;

+    /* Should not get here. */

+    return 0;

 }

 /*-----------------------------------------------------------*/

 

 void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */

 {

-	/* Not implemented in ports where there is nothing to return to.

-	 * Artificially force an assert. */

-	configASSERT( ulCriticalNesting == 1000UL );

+    /* Not implemented in ports where there is nothing to return to.

+     * Artificially force an assert. */

+    configASSERT( ulCriticalNesting == 1000UL );

 }

 /*-----------------------------------------------------------*/

 

-#if( configENABLE_MPU == 1 )

-	void vPortStoreTaskMPUSettings( xMPU_SETTINGS *xMPUSettings, const struct xMEMORY_REGION * const xRegions, StackType_t *pxBottomOfStack, uint32_t ulStackDepth )

-	{

-	uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;

-	int32_t lIndex = 0;

+#if ( configENABLE_MPU == 1 )

+    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,

+                                    const struct xMEMORY_REGION * const xRegions,

+                                    StackType_t * pxBottomOfStack,

+                                    uint32_t ulStackDepth )

+    {

+        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;

+        int32_t  lIndex = 0;

 

-		/* Setup MAIR0. */

-		xMPUSettings->ulMAIR0 = ( ( portMPU_NORMAL_MEMORY_BUFFERABLE_CACHEABLE << portMPU_MAIR_ATTR0_POS ) & portMPU_MAIR_ATTR0_MASK );

-		xMPUSettings->ulMAIR0 |= ( ( portMPU_DEVICE_MEMORY_nGnRE << portMPU_MAIR_ATTR1_POS ) & portMPU_MAIR_ATTR1_MASK );

+        /* Setup MAIR0. */

+        xMPUSettings->ulMAIR0  = ( ( portMPU_NORMAL_MEMORY_BUFFERABLE_CACHEABLE << portMPU_MAIR_ATTR0_POS ) & portMPU_MAIR_ATTR0_MASK );

+        xMPUSettings->ulMAIR0 |= ( ( portMPU_DEVICE_MEMORY_nGnRE << portMPU_MAIR_ATTR1_POS ) & portMPU_MAIR_ATTR1_MASK );

 

-		/* This function is called automatically when the task is created - in

-		 * which case the stack region parameters will be valid.  At all other

-		 * times the stack parameters will not be valid and it is assumed that

-		 * the stack region has already been configured. */

-		if( ulStackDepth > 0 )

-		{

-			/* Define the region that allows access to the stack. */

-			ulRegionStartAddress = ( ( uint32_t ) pxBottomOfStack ) & portMPU_RBAR_ADDRESS_MASK;

-			ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( ulStackDepth * ( uint32_t ) sizeof( StackType_t ) ) - 1;

-			ulRegionEndAddress  &= portMPU_RLAR_ADDRESS_MASK;

+        /* This function is called automatically when the task is created - in

+         * which case the stack region parameters will be valid.  At all other

+         * times the stack parameters will not be valid and it is assumed that

+         * the stack region has already been configured. */

+        if( ulStackDepth > 0 )

+        {

+            /* Define the region that allows access to the stack. */

+            ulRegionStartAddress                       = ( ( uint32_t ) pxBottomOfStack ) & portMPU_RBAR_ADDRESS_MASK;

+            ulRegionEndAddress                         = ( uint32_t ) pxBottomOfStack + ( ulStackDepth * ( uint32_t ) sizeof( StackType_t ) ) - 1;

+            ulRegionEndAddress                        &= portMPU_RLAR_ADDRESS_MASK;

 

-			xMPUSettings->xRegionsSettings[ 0 ].ulRBAR =	( ulRegionStartAddress ) |

-															( portMPU_REGION_NON_SHAREABLE ) |

-															( portMPU_REGION_READ_WRITE ) |

-															( portMPU_REGION_EXECUTE_NEVER );

+            xMPUSettings->xRegionsSettings[ 0 ].ulRBAR = ( ulRegionStartAddress ) |

+                                                         ( portMPU_REGION_NON_SHAREABLE ) |

+                                                         ( portMPU_REGION_READ_WRITE ) |

+                                                         ( portMPU_REGION_EXECUTE_NEVER );

 

-			xMPUSettings->xRegionsSettings[ 0 ].ulRLAR =	( ulRegionEndAddress ) |

-															( portMPU_RLAR_ATTR_INDEX0 ) |

-															( portMPU_RLAR_REGION_ENABLE );

-		}

+            xMPUSettings->xRegionsSettings[ 0 ].ulRLAR = ( ulRegionEndAddress ) |

+                                                         ( portMPU_RLAR_ATTR_INDEX0 ) |

+                                                         ( portMPU_RLAR_REGION_ENABLE );

+        }

 

-		/* User supplied configurable regions. */

-		for( ulRegionNumber = 1; ulRegionNumber <= portNUM_CONFIGURABLE_REGIONS; ulRegionNumber++ )

-		{

-			/* If xRegions is NULL i.e. the task has not specified any MPU

-			 * region, the else part ensures that all the configurable MPU

-			 * regions are invalidated. */

-			if( ( xRegions != NULL ) && ( xRegions[ lIndex ].ulLengthInBytes > 0UL ) )

-			{

-				/* Translate the generic region definition contained in xRegions

-				 * into the ARMv8 specific MPU settings that are then stored in

-				 * xMPUSettings. */

-				ulRegionStartAddress = ( ( uint32_t ) xRegions[ lIndex ].pvBaseAddress ) & portMPU_RBAR_ADDRESS_MASK;

-				ulRegionEndAddress = ( uint32_t ) xRegions[ lIndex ].pvBaseAddress + xRegions[ lIndex ].ulLengthInBytes - 1;

-				ulRegionEndAddress  &= portMPU_RLAR_ADDRESS_MASK;

+        /* User supplied configurable regions. */

+        for( ulRegionNumber = 1; ulRegionNumber <= portNUM_CONFIGURABLE_REGIONS; ulRegionNumber++ )

+        {

+            /* If xRegions is NULL i.e. the task has not specified any MPU

+             * region, the else part ensures that all the configurable MPU

+             * regions are invalidated. */

+            if( ( xRegions != NULL ) && ( xRegions[ lIndex ].ulLengthInBytes > 0UL ) )

+            {

+                /* Translate the generic region definition contained in xRegions

+                 * into the ARMv8 specific MPU settings that are then stored in

+                 * xMPUSettings. */

+                ulRegionStartAddress                                    = ( ( uint32_t ) xRegions[ lIndex ].pvBaseAddress ) & portMPU_RBAR_ADDRESS_MASK;

+                ulRegionEndAddress                                      = ( uint32_t ) xRegions[ lIndex ].pvBaseAddress + xRegions[ lIndex ].ulLengthInBytes - 1;

+                ulRegionEndAddress                                     &= portMPU_RLAR_ADDRESS_MASK;

 

-				/* Start address. */

-				xMPUSettings->xRegionsSettings[ ulRegionNumber ].ulRBAR =	( ulRegionStartAddress ) |

-																			( portMPU_REGION_NON_SHAREABLE );

+                /* Start address. */

+                xMPUSettings->xRegionsSettings[ ulRegionNumber ].ulRBAR = ( ulRegionStartAddress ) |

+                                                                          ( portMPU_REGION_NON_SHAREABLE );

 

-				/* RO/RW. */

-				if( ( xRegions[ lIndex ].ulParameters & tskMPU_REGION_READ_ONLY ) != 0 )

-				{

-					xMPUSettings->xRegionsSettings[ ulRegionNumber ].ulRBAR |= ( portMPU_REGION_READ_ONLY );

-				}

-				else

-				{

-					xMPUSettings->xRegionsSettings[ ulRegionNumber ].ulRBAR |= ( portMPU_REGION_READ_WRITE );

-				}

+                /* RO/RW. */

+                if( ( xRegions[ lIndex ].ulParameters & tskMPU_REGION_READ_ONLY ) != 0 )

+                {

+                    xMPUSettings->xRegionsSettings[ ulRegionNumber ].ulRBAR |= ( portMPU_REGION_READ_ONLY );

+                }

+                else

+                {

+                    xMPUSettings->xRegionsSettings[ ulRegionNumber ].ulRBAR |= ( portMPU_REGION_READ_WRITE );

+                }

 

-				/* XN. */

-				if( ( xRegions[ lIndex ].ulParameters & tskMPU_REGION_EXECUTE_NEVER ) != 0 )

-				{

-					xMPUSettings->xRegionsSettings[ ulRegionNumber ].ulRBAR |= ( portMPU_REGION_EXECUTE_NEVER );

-				}

+                /* XN. */

+                if( ( xRegions[ lIndex ].ulParameters & tskMPU_REGION_EXECUTE_NEVER ) != 0 )

+                {

+                    xMPUSettings->xRegionsSettings[ ulRegionNumber ].ulRBAR |= ( portMPU_REGION_EXECUTE_NEVER );

+                }

 

-				/* End Address. */

-				xMPUSettings->xRegionsSettings[ ulRegionNumber ].ulRLAR =	( ulRegionEndAddress ) |

-																			( portMPU_RLAR_REGION_ENABLE );

+                /* End Address. */

+                xMPUSettings->xRegionsSettings[ ulRegionNumber ].ulRLAR = ( ulRegionEndAddress ) |

+                                                                          ( portMPU_RLAR_REGION_ENABLE );

 

-				/* Normal memory/ Device memory. */

-				if( ( xRegions[ lIndex ].ulParameters & tskMPU_REGION_DEVICE_MEMORY ) != 0 )

-				{

-					/* Attr1 in MAIR0 is configured as device memory. */

-					xMPUSettings->xRegionsSettings[ ulRegionNumber ].ulRLAR |= portMPU_RLAR_ATTR_INDEX1;

-				}

-				else

-				{

-					/* Attr1 in MAIR0 is configured as normal memory. */

-					xMPUSettings->xRegionsSettings[ ulRegionNumber ].ulRLAR |= portMPU_RLAR_ATTR_INDEX0;

-				}

-			}

-			else

-			{

-				/* Invalidate the region. */

-				xMPUSettings->xRegionsSettings[ ulRegionNumber ].ulRBAR = 0UL;

-				xMPUSettings->xRegionsSettings[ ulRegionNumber ].ulRLAR = 0UL;

-			}

+                /* Normal memory/ Device memory. */

+                if( ( xRegions[ lIndex ].ulParameters & tskMPU_REGION_DEVICE_MEMORY ) != 0 )

+                {

+                    /* Attr1 in MAIR0 is configured as device memory. */

+                    xMPUSettings->xRegionsSettings[ ulRegionNumber ].ulRLAR |= portMPU_RLAR_ATTR_INDEX1;

+                }

+                else

+                {

+                    /* Attr1 in MAIR0 is configured as normal memory. */

+                    xMPUSettings->xRegionsSettings[ ulRegionNumber ].ulRLAR |= portMPU_RLAR_ATTR_INDEX0;

+                }

+            }

+            else

+            {

+                /* Invalidate the region. */

+                xMPUSettings->xRegionsSettings[ ulRegionNumber ].ulRBAR = 0UL;

+                xMPUSettings->xRegionsSettings[ ulRegionNumber ].ulRLAR = 0UL;

+            }

 

-			lIndex++;

-		}

-	}

+            lIndex++;

+        }

+    }

 #endif /* configENABLE_MPU */

 /*-----------------------------------------------------------*/

 

 BaseType_t xPortIsInsideInterrupt( void )

 {

-uint32_t ulCurrentInterrupt;

-BaseType_t xReturn;

+    uint32_t   ulCurrentInterrupt;

+    BaseType_t xReturn;

 

-	/* Obtain the number of the currently executing interrupt. Interrupt Program

-	 * Status Register (IPSR) holds the exception number of the currently-executing

-	 * exception or zero for Thread mode.*/

-	__asm volatile( "mrs %0, ipsr" : "=r"( ulCurrentInterrupt ) :: "memory" );

+    /* Obtain the number of the currently executing interrupt. Interrupt Program

+     * Status Register (IPSR) holds the exception number of the currently-executing

+     * exception or zero for Thread mode.*/

+    __asm volatile ( "mrs %0, ipsr" : "=r" ( ulCurrentInterrupt )::"memory" );

 

-	if( ulCurrentInterrupt == 0 )

-	{

-		xReturn = pdFALSE;

-	}

-	else

-	{

-		xReturn = pdTRUE;

-	}

+    if( ulCurrentInterrupt == 0 )

+    {

+        xReturn = pdFALSE;

+    }

+    else

+    {

+        xReturn = pdTRUE;

+    }

 

-	return xReturn;

+    return xReturn;

 }

-/*-----------------------------------------------------------*/
\ No newline at end of file
+/*-----------------------------------------------------------*/

diff --git a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23/portasm.c b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23/portasm.c
index 6d06c30..94e2416 100644
--- a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23/portasm.c
+++ b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23/portasm.c
@@ -38,415 +38,415 @@
  * header files. */

 #undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE

 

-#if( configENABLE_FPU == 1 )

-	#error Cortex-M23 does not have a Floating Point Unit (FPU) and therefore configENABLE_FPU must be set to 0.

+#if ( configENABLE_FPU == 1 )

+    #error Cortex-M23 does not have a Floating Point Unit (FPU) and therefore configENABLE_FPU must be set to 0.

 #endif

 

 void vRestoreContextOfFirstTask( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */

 {

-	__asm volatile

-	(

-	"	.syntax unified									\n"

-	"													\n"

-	"	ldr  r2, pxCurrentTCBConst2						\n" /* Read the location of pxCurrentTCB i.e. &( pxCurrentTCB ). */

-	"	ldr  r3, [r2]									\n" /* Read pxCurrentTCB. */

-	"	ldr  r0, [r3]									\n" /* Read top of stack from TCB - The first item in pxCurrentTCB is the task top of stack. */

-	"													\n"

-	#if( configENABLE_MPU == 1 )

-	"	dmb												\n" /* Complete outstanding transfers before disabling MPU. */

-	"	ldr r2, xMPUCTRLConst2							\n" /* r2 = 0xe000ed94 [Location of MPU_CTRL]. */

-	"	ldr r4, [r2]									\n" /* Read the value of MPU_CTRL. */

-	"	movs r5, #1										\n" /* r5 = 1. */

-	"	bics r4, r5										\n" /* r4 = r4 & ~r5 i.e. Clear the bit 0 in r4. */

-	"	str r4, [r2]									\n" /* Disable MPU. */

-	"													\n"

-	"	adds r3, #4										\n" /* r3 = r3 + 4. r3 now points to MAIR0 in TCB. */

-	"	ldr  r4, [r3]									\n" /* r4 = *r3 i.e. r4 = MAIR0. */

-	"	ldr  r2, xMAIR0Const2							\n" /* r2 = 0xe000edc0 [Location of MAIR0]. */

-	"	str  r4, [r2]									\n" /* Program MAIR0. */

-	"	ldr  r2, xRNRConst2								\n" /* r2 = 0xe000ed98 [Location of RNR]. */

-	"	adds r3, #4										\n" /* r3 = r3 + 4. r3 now points to first RBAR in TCB. */

-	"	movs r5, #4										\n" /* r5 = 4. */

-	"	str  r5, [r2]									\n" /* Program RNR = 4. */

-	"	ldmia r3!, {r6,r7}								\n" /* Read first set of RBAR/RLAR from TCB. */

-	"	ldr  r4, xRBARConst2							\n" /* r4 = 0xe000ed9c [Location of RBAR]. */

-	"	stmia r4!, {r6,r7}								\n" /* Write first set of RBAR/RLAR registers. */

-	"	movs r5, #5										\n" /* r5 = 5. */

-	"	str  r5, [r2]									\n" /* Program RNR = 5. */

-	"	ldmia r3!, {r6,r7}								\n" /* Read second set of RBAR/RLAR from TCB. */

-	"	ldr  r4, xRBARConst2							\n" /* r4 = 0xe000ed9c [Location of RBAR]. */

-	"	stmia r4!, {r6,r7}								\n" /* Write second set of RBAR/RLAR registers. */

-	"	movs r5, #6										\n" /* r5 = 6. */

-	"	str  r5, [r2]									\n" /* Program RNR = 6. */

-	"	ldmia r3!, {r6,r7}								\n" /* Read third set of RBAR/RLAR from TCB. */

-	"	ldr  r4, xRBARConst2							\n" /* r4 = 0xe000ed9c [Location of RBAR]. */

-	"	stmia r4!, {r6,r7}								\n" /* Write third set of RBAR/RLAR registers. */

-	"	movs r5, #7										\n" /* r5 = 7. */

-	"	str  r5, [r2]									\n" /* Program RNR = 7. */

-	"	ldmia r3!, {r6,r7}								\n" /* Read fourth set of RBAR/RLAR from TCB. */

-	"	ldr  r4, xRBARConst2							\n" /* r4 = 0xe000ed9c [Location of RBAR]. */

-	"	stmia r4!, {r6,r7}								\n" /* Write fourth set of RBAR/RLAR registers. */

-	"													\n"

-	"	ldr r2, xMPUCTRLConst2							\n" /* r2 = 0xe000ed94 [Location of MPU_CTRL]. */

-	"	ldr r4, [r2]									\n" /* Read the value of MPU_CTRL. */

-	"	movs r5, #1										\n" /* r5 = 1. */

-	"	orrs r4, r5										\n" /* r4 = r4 | r5 i.e. Set the bit 0 in r4. */

-	"	str r4, [r2]									\n" /* Enable MPU. */

-	"	dsb												\n" /* Force memory writes before continuing. */

-	#endif /* configENABLE_MPU */

-	"													\n"

-	#if( configENABLE_MPU == 1 )

-	"	ldm  r0!, {r1-r4}								\n" /* Read from stack - r1 = xSecureContext, r2 = PSPLIM, r3 = CONTROL and r4 = EXC_RETURN. */

-	"	ldr  r5, xSecureContextConst2					\n"

-	"	str  r1, [r5]									\n" /* Set xSecureContext to this task's value for the same. */

-	"	msr  psplim, r2									\n" /* Set this task's PSPLIM value. */

-	"	msr  control, r3								\n" /* Set this task's CONTROL value. */

-	"	adds r0, #32									\n" /* Discard everything up to r0. */

-	"	msr  psp, r0									\n" /* This is now the new top of stack to use in the task. */

-	"	isb												\n"

-	"	bx   r4											\n" /* Finally, branch to EXC_RETURN. */

-	#else /* configENABLE_MPU */

-	"	ldm  r0!, {r1-r3}								\n" /* Read from stack - r1 = xSecureContext, r2 = PSPLIM and r3 = EXC_RETURN. */

-	"	ldr  r4, xSecureContextConst2					\n"

-	"	str  r1, [r4]									\n" /* Set xSecureContext to this task's value for the same. */

-	"	msr  psplim, r2									\n" /* Set this task's PSPLIM value. */

-	"	movs r1, #2										\n" /* r1 = 2. */

-	"	msr  CONTROL, r1								\n" /* Switch to use PSP in the thread mode. */

-	"	adds r0, #32									\n" /* Discard everything up to r0. */

-	"	msr  psp, r0									\n" /* This is now the new top of stack to use in the task. */

-	"	isb												\n"

-	"	bx   r3											\n" /* Finally, branch to EXC_RETURN. */

-	#endif /* configENABLE_MPU */

-	"													\n"

-	"	.align 4										\n"

-	"pxCurrentTCBConst2: .word pxCurrentTCB				\n"

-	"xSecureContextConst2: .word xSecureContext			\n"

-	#if( configENABLE_MPU == 1 )

-	"xMPUCTRLConst2: .word 0xe000ed94					\n"

-	"xMAIR0Const2: .word 0xe000edc0						\n"

-	"xRNRConst2: .word 0xe000ed98						\n"

-	"xRBARConst2: .word 0xe000ed9c						\n"

-	#endif /* configENABLE_MPU */

-	);

+    __asm volatile

+    (

+        "	.syntax unified									\n"

+        "													\n"

+        "	ldr  r2, pxCurrentTCBConst2						\n"/* Read the location of pxCurrentTCB i.e. &( pxCurrentTCB ). */

+        "	ldr  r3, [r2]									\n"/* Read pxCurrentTCB. */

+        "	ldr  r0, [r3]									\n"/* Read top of stack from TCB - The first item in pxCurrentTCB is the task top of stack. */

+        "													\n"

+        #if ( configENABLE_MPU == 1 )

+            "	dmb												\n"/* Complete outstanding transfers before disabling MPU. */

+            "	ldr r2, xMPUCTRLConst2							\n"/* r2 = 0xe000ed94 [Location of MPU_CTRL]. */

+            "	ldr r4, [r2]									\n"/* Read the value of MPU_CTRL. */

+            "	movs r5, #1										\n"/* r5 = 1. */

+            "	bics r4, r5										\n"/* r4 = r4 & ~r5 i.e. Clear the bit 0 in r4. */

+            "	str r4, [r2]									\n"/* Disable MPU. */

+            "													\n"

+            "	adds r3, #4										\n"/* r3 = r3 + 4. r3 now points to MAIR0 in TCB. */

+            "	ldr  r4, [r3]									\n"/* r4 = *r3 i.e. r4 = MAIR0. */

+            "	ldr  r2, xMAIR0Const2							\n"/* r2 = 0xe000edc0 [Location of MAIR0]. */

+            "	str  r4, [r2]									\n"/* Program MAIR0. */

+            "	ldr  r2, xRNRConst2								\n"/* r2 = 0xe000ed98 [Location of RNR]. */

+            "	adds r3, #4										\n"/* r3 = r3 + 4. r3 now points to first RBAR in TCB. */

+            "	movs r5, #4										\n"/* r5 = 4. */

+            "	str  r5, [r2]									\n"/* Program RNR = 4. */

+            "	ldmia r3!, {r6,r7}								\n"/* Read first set of RBAR/RLAR from TCB. */

+            "	ldr  r4, xRBARConst2							\n"/* r4 = 0xe000ed9c [Location of RBAR]. */

+            "	stmia r4!, {r6,r7}								\n"/* Write first set of RBAR/RLAR registers. */

+            "	movs r5, #5										\n"/* r5 = 5. */

+            "	str  r5, [r2]									\n"/* Program RNR = 5. */

+            "	ldmia r3!, {r6,r7}								\n"/* Read second set of RBAR/RLAR from TCB. */

+            "	ldr  r4, xRBARConst2							\n"/* r4 = 0xe000ed9c [Location of RBAR]. */

+            "	stmia r4!, {r6,r7}								\n"/* Write second set of RBAR/RLAR registers. */

+            "	movs r5, #6										\n"/* r5 = 6. */

+            "	str  r5, [r2]									\n"/* Program RNR = 6. */

+            "	ldmia r3!, {r6,r7}								\n"/* Read third set of RBAR/RLAR from TCB. */

+            "	ldr  r4, xRBARConst2							\n"/* r4 = 0xe000ed9c [Location of RBAR]. */

+            "	stmia r4!, {r6,r7}								\n"/* Write third set of RBAR/RLAR registers. */

+            "	movs r5, #7										\n"/* r5 = 7. */

+            "	str  r5, [r2]									\n"/* Program RNR = 7. */

+            "	ldmia r3!, {r6,r7}								\n"/* Read fourth set of RBAR/RLAR from TCB. */

+            "	ldr  r4, xRBARConst2							\n"/* r4 = 0xe000ed9c [Location of RBAR]. */

+            "	stmia r4!, {r6,r7}								\n"/* Write fourth set of RBAR/RLAR registers. */

+            "													\n"

+            "	ldr r2, xMPUCTRLConst2							\n"/* r2 = 0xe000ed94 [Location of MPU_CTRL]. */

+            "	ldr r4, [r2]									\n"/* Read the value of MPU_CTRL. */

+            "	movs r5, #1										\n"/* r5 = 1. */

+            "	orrs r4, r5										\n"/* r4 = r4 | r5 i.e. Set the bit 0 in r4. */

+            "	str r4, [r2]									\n"/* Enable MPU. */

+            "	dsb												\n"/* Force memory writes before continuing. */

+        #endif /* configENABLE_MPU */

+        "													\n"

+        #if ( configENABLE_MPU == 1 )

+            "	ldm  r0!, {r1-r4}								\n"/* Read from stack - r1 = xSecureContext, r2 = PSPLIM, r3 = CONTROL and r4 = EXC_RETURN. */

+            "	ldr  r5, xSecureContextConst2					\n"

+            "	str  r1, [r5]									\n"/* Set xSecureContext to this task's value for the same. */

+            "	msr  psplim, r2									\n"/* Set this task's PSPLIM value. */

+            "	msr  control, r3								\n"/* Set this task's CONTROL value. */

+            "	adds r0, #32									\n"/* Discard everything up to r0. */

+            "	msr  psp, r0									\n"/* This is now the new top of stack to use in the task. */

+            "	isb												\n"

+            "	bx   r4											\n"/* Finally, branch to EXC_RETURN. */

+        #else /* configENABLE_MPU */

+            "	ldm  r0!, {r1-r3}								\n"/* Read from stack - r1 = xSecureContext, r2 = PSPLIM and r3 = EXC_RETURN. */

+            "	ldr  r4, xSecureContextConst2					\n"

+            "	str  r1, [r4]									\n"/* Set xSecureContext to this task's value for the same. */

+            "	msr  psplim, r2									\n"/* Set this task's PSPLIM value. */

+            "	movs r1, #2										\n"/* r1 = 2. */

+            "	msr  CONTROL, r1								\n"/* Switch to use PSP in the thread mode. */

+            "	adds r0, #32									\n"/* Discard everything up to r0. */

+            "	msr  psp, r0									\n"/* This is now the new top of stack to use in the task. */

+            "	isb												\n"

+            "	bx   r3											\n"/* Finally, branch to EXC_RETURN. */

+        #endif /* configENABLE_MPU */

+        "													\n"

+        "	.align 4										\n"

+        "pxCurrentTCBConst2: .word pxCurrentTCB				\n"

+        "xSecureContextConst2: .word xSecureContext			\n"

+        #if ( configENABLE_MPU == 1 )

+            "xMPUCTRLConst2: .word 0xe000ed94					\n"

+            "xMAIR0Const2: .word 0xe000edc0						\n"

+            "xRNRConst2: .word 0xe000ed98						\n"

+            "xRBARConst2: .word 0xe000ed9c						\n"

+        #endif /* configENABLE_MPU */

+    );

 }

 /*-----------------------------------------------------------*/

 

 BaseType_t xIsPrivileged( void ) /* __attribute__ (( naked )) */

 {

-	__asm volatile

-	(

-	"	mrs r0, control									\n" /* r0 = CONTROL. */

-	"	movs r1, #1										\n" /* r1 = 1. */

-	"	tst r0, r1										\n" /* Perform r0 & r1 (bitwise AND) and update the conditions flag. */

-	"	beq running_privileged							\n" /* If the result of previous AND operation was 0, branch. */

-	"	movs r0, #0										\n" /* CONTROL[0]!=0. Return false to indicate that the processor is not privileged. */

-	"	bx lr											\n" /* Return. */

-	" running_privileged:								\n"

-	"	movs r0, #1										\n" /* CONTROL[0]==0. Return true to indicate that the processor is privileged. */

-	"	bx lr											\n" /* Return. */

-	"													\n"

-	"	.align 4										\n"

-	::: "r0", "r1", "memory"

-	);

+    __asm volatile

+    (

+        "	mrs r0, control									\n"/* r0 = CONTROL. */

+        "	movs r1, #1										\n"/* r1 = 1. */

+        "	tst r0, r1										\n"/* Perform r0 & r1 (bitwise AND) and update the conditions flag. */

+        "	beq running_privileged							\n"/* If the result of previous AND operation was 0, branch. */

+        "	movs r0, #0										\n"/* CONTROL[0]!=0. Return false to indicate that the processor is not privileged. */

+        "	bx lr											\n"/* Return. */

+        " running_privileged:								\n"

+        "	movs r0, #1										\n"/* CONTROL[0]==0. Return true to indicate that the processor is privileged. */

+        "	bx lr											\n"/* Return. */

+        "													\n"

+        "	.align 4										\n"

+        ::: "r0", "r1", "memory"

+    );

 }

 /*-----------------------------------------------------------*/

 

 void vRaisePrivilege( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */

 {

-	 __asm volatile

-	(

-	"	mrs r0, control									\n" /* Read the CONTROL register. */

-	"	movs r1, #1										\n" /* r1 = 1. */

-	"	bics r0, r1										\n" /* Clear the bit 0. */

-	"	msr control, r0									\n" /* Write back the new CONTROL value. */

-	"	bx lr											\n" /* Return to the caller. */

-	::: "r0", "r1", "memory"

-	);

+    __asm volatile

+    (

+        "	mrs r0, control									\n"/* Read the CONTROL register. */

+        "	movs r1, #1										\n"/* r1 = 1. */

+        "	bics r0, r1										\n"/* Clear the bit 0. */

+        "	msr control, r0									\n"/* Write back the new CONTROL value. */

+        "	bx lr											\n"/* Return to the caller. */

+        ::: "r0", "r1", "memory"

+    );

 }

 /*-----------------------------------------------------------*/

 

 void vResetPrivilege( void ) /* __attribute__ (( naked )) */

 {

-	__asm volatile

-	(

-	"	mrs r0, control									\n" /* r0 = CONTROL. */

-	"	movs r1, #1										\n" /* r1 = 1. */

-	"	orrs r0, r1										\n" /* r0 = r0 | r1. */

-	"	msr control, r0									\n" /* CONTROL = r0. */

-	"	bx lr											\n" /* Return to the caller. */

-	:::"r0", "r1", "memory"

-	);

+    __asm volatile

+    (

+        "	mrs r0, control									\n"/* r0 = CONTROL. */

+        "	movs r1, #1										\n"/* r1 = 1. */

+        "	orrs r0, r1										\n"/* r0 = r0 | r1. */

+        "	msr control, r0									\n"/* CONTROL = r0. */

+        "	bx lr											\n"/* Return to the caller. */

+        ::: "r0", "r1", "memory"

+    );

 }

 /*-----------------------------------------------------------*/

 

 void vStartFirstTask( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */

 {

-	__asm volatile

-	(

-	"	ldr r0, xVTORConst								\n" /* Use the NVIC offset register to locate the stack. */

-	"	ldr r0, [r0]									\n" /* Read the VTOR register which gives the address of vector table. */

-	"	ldr r0, [r0]									\n" /* The first entry in vector table is stack pointer. */

-	"	msr msp, r0										\n" /* Set the MSP back to the start of the stack. */

-	"	cpsie i											\n" /* Globally enable interrupts. */

-	"	dsb												\n"

-	"	isb												\n"

-	"	svc %0											\n" /* System call to start the first task. */

-	"	nop												\n"

-	"													\n"

-	"   .align 4										\n"

-	"xVTORConst: .word 0xe000ed08						\n"

-	:: "i" ( portSVC_START_SCHEDULER ) : "memory"

-	);

+    __asm volatile

+    (

+        "	ldr r0, xVTORConst								\n"/* Use the NVIC offset register to locate the stack. */

+        "	ldr r0, [r0]									\n"/* Read the VTOR register which gives the address of vector table. */

+        "	ldr r0, [r0]									\n"/* The first entry in vector table is stack pointer. */

+        "	msr msp, r0										\n"/* Set the MSP back to the start of the stack. */

+        "	cpsie i											\n"/* Globally enable interrupts. */

+        "	dsb												\n"

+        "	isb												\n"

+        "	svc %0											\n"/* System call to start the first task. */

+        "	nop												\n"

+        "													\n"

+        "   .align 4										\n"

+        "xVTORConst: .word 0xe000ed08						\n"

+        ::"i" ( portSVC_START_SCHEDULER ) : "memory"

+    );

 }

 /*-----------------------------------------------------------*/

 

 uint32_t ulSetInterruptMask( void ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */

 {

-	__asm volatile

-	(

-	"	mrs r0, PRIMASK									\n"

-	"	cpsid i											\n"

-	"	bx lr											\n"

-	::: "memory"

-	);

+    __asm volatile

+    (

+        "	mrs r0, PRIMASK									\n"

+        "	cpsid i											\n"

+        "	bx lr											\n"

+        ::: "memory"

+    );

 }

 /*-----------------------------------------------------------*/

 

 void vClearInterruptMask( __attribute__( ( unused ) ) uint32_t ulMask ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */

 {

-	__asm volatile

-	(

-	"	msr PRIMASK, r0									\n"

-	"	bx lr											\n"

-	::: "memory"

-	);

+    __asm volatile

+    (

+        "	msr PRIMASK, r0									\n"

+        "	bx lr											\n"

+        ::: "memory"

+    );

 }

 /*-----------------------------------------------------------*/

 

 void PendSV_Handler( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */

 {

-	__asm volatile

-	(

-	"	.syntax unified									\n"

-	"	.extern SecureContext_SaveContext				\n"

-	"	.extern SecureContext_LoadContext				\n"

-	"													\n"

-	"	mrs r1, psp										\n" /* Read PSP in r1. */

-	"	ldr r2, xSecureContextConst						\n" /* Read the location of xSecureContext i.e. &( xSecureContext ). */

-	"	ldr r0, [r2]									\n" /* Read xSecureContext - Value of xSecureContext must be in r0 as it is used as a parameter later. */

-	"													\n"

-	"	cbz r0, save_ns_context							\n" /* No secure context to save. */

-	"	push {r0-r2, r14}								\n"

-	"	bl SecureContext_SaveContext					\n"

-	"	pop {r0-r3}										\n" /* LR is now in r3. */

-	"	mov lr, r3										\n" /* LR = r3. */

-	"	lsls r2, r3, #25								\n" /* r2 = r3 << 25. Bit[6] of EXC_RETURN is 1 if secure stack was used, 0 if non-secure stack was used to store stack frame. */

-	"	bpl save_ns_context								\n" /* bpl - branch if positive or zero. If r2 >= 0 ==> Bit[6] in EXC_RETURN is 0 i.e. non-secure stack was used. */

-	"	ldr r3, pxCurrentTCBConst						\n" /* Read the location of pxCurrentTCB i.e. &( pxCurrentTCB ). */

-	"	ldr r2, [r3]									\n" /* Read pxCurrentTCB. */

-	#if( configENABLE_MPU == 1 )

-	"	subs r1, r1, #16								\n" /* Make space for xSecureContext, PSPLIM, CONTROL and LR on the stack. */

-	"	str r1, [r2]									\n" /* Save the new top of stack in TCB. */

-	"	mrs r2, psplim									\n" /* r2 = PSPLIM. */

-	"	mrs r3, control									\n" /* r3 = CONTROL. */

-	"	mov r4, lr										\n" /* r4 = LR/EXC_RETURN. */

-	"	stmia r1!, {r0, r2-r4}							\n" /* Store xSecureContext, PSPLIM, CONTROL and LR on the stack. */

-	#else /* configENABLE_MPU */

-	"	subs r1, r1, #12								\n" /* Make space for xSecureContext, PSPLIM and LR on the stack. */

-	"	str r1, [r2]									\n" /* Save the new top of stack in TCB. */

-	"	mrs r2, psplim									\n" /* r2 = PSPLIM. */

-	"	mov r3, lr										\n" /* r3 = LR/EXC_RETURN. */

-	"	stmia r1!, {r0, r2-r3}							\n" /* Store xSecureContext, PSPLIM and LR on the stack. */

-	#endif /* configENABLE_MPU */

-	"	b select_next_task								\n"

-	"													\n"

-	" save_ns_context:									\n"

-	"	ldr r3, pxCurrentTCBConst						\n" /* Read the location of pxCurrentTCB i.e. &( pxCurrentTCB ). */

-	"	ldr r2, [r3]									\n" /* Read pxCurrentTCB. */

-	#if( configENABLE_MPU == 1 )

-	"	subs r1, r1, #48								\n" /* Make space for xSecureContext, PSPLIM, CONTROL, LR and the remaining registers on the stack. */

-	"	str r1, [r2]									\n" /* Save the new top of stack in TCB. */

-	"	adds r1, r1, #16								\n" /* r1 = r1 + 16. */

-	"	stmia r1!, {r4-r7}								\n" /* Store the low registers that are not saved automatically. */

-	"	mov r4, r8										\n" /* r4 = r8. */

-	"	mov r5, r9										\n" /* r5 = r9. */

-	"	mov r6, r10										\n" /* r6 = r10. */

-	"	mov r7, r11										\n" /* r7 = r11. */

-	"	stmia r1!, {r4-r7}								\n" /* Store the high registers that are not saved automatically. */

-	"	mrs r2, psplim									\n" /* r2 = PSPLIM. */

-	"	mrs r3, control									\n" /* r3 = CONTROL. */

-	"	mov r4, lr										\n" /* r4 = LR/EXC_RETURN. */

-	"	subs r1, r1, #48								\n" /* r1 = r1 - 48. */

-	"	stmia r1!, {r0, r2-r4}							\n" /* Store xSecureContext, PSPLIM, CONTROL and LR on the stack. */

-	#else /* configENABLE_MPU */

-	"	subs r1, r1, #44								\n" /* Make space for xSecureContext, PSPLIM, LR and the remaining registers on the stack. */

-	"	str r1, [r2]									\n" /* Save the new top of stack in TCB. */

-	"	mrs r2, psplim									\n" /* r2 = PSPLIM. */

-	"	mov r3, lr										\n" /* r3 = LR/EXC_RETURN. */

-	"	stmia r1!, {r0, r2-r7}							\n" /* Store xSecureContext, PSPLIM, LR and the low registers that are not saved automatically. */

-	"	mov r4, r8										\n" /* r4 = r8. */

-	"	mov r5, r9										\n" /* r5 = r9. */

-	"	mov r6, r10										\n" /* r6 = r10. */

-	"	mov r7, r11										\n" /* r7 = r11. */

-	"	stmia r1!, {r4-r7}								\n" /* Store the high registers that are not saved automatically. */

-	#endif /* configENABLE_MPU */

-	"													\n"

-	" select_next_task:									\n"

-	"	cpsid i											\n"

-	"	bl vTaskSwitchContext							\n"

-	"	cpsie i											\n"

-	"													\n"

-	"	ldr r2, pxCurrentTCBConst						\n" /* Read the location of pxCurrentTCB i.e. &( pxCurrentTCB ). */

-	"	ldr r3, [r2]									\n" /* Read pxCurrentTCB. */

-	"	ldr r1, [r3]									\n" /* The first item in pxCurrentTCB is the task top of stack. r1 now points to the top of stack. */

-	"													\n"

-	#if( configENABLE_MPU == 1 )

-	"	dmb												\n" /* Complete outstanding transfers before disabling MPU. */

-	"	ldr r2, xMPUCTRLConst							\n" /* r2 = 0xe000ed94 [Location of MPU_CTRL]. */

-	"	ldr r4, [r2]									\n" /* Read the value of MPU_CTRL. */

-	"	movs r5, #1										\n" /* r5 = 1. */

-	"	bics r4, r5										\n" /* r4 = r4 & ~r5 i.e. Clear the bit 0 in r4. */

-	"	str r4, [r2]									\n" /* Disable MPU. */

-	"													\n"

-	"	adds r3, #4										\n" /* r3 = r3 + 4. r3 now points to MAIR0 in TCB. */

-	"	ldr r4, [r3]									\n" /* r4 = *r3 i.e. r4 = MAIR0. */

-	"	ldr r2, xMAIR0Const								\n" /* r2 = 0xe000edc0 [Location of MAIR0]. */

-	"	str r4, [r2]									\n" /* Program MAIR0. */

-	"	ldr r2, xRNRConst								\n" /* r2 = 0xe000ed98 [Location of RNR]. */

-	"	adds r3, #4										\n" /* r3 = r3 + 4. r3 now points to first RBAR in TCB. */

-	"	movs r5, #4										\n" /* r5 = 4. */

-	"	str  r5, [r2]									\n" /* Program RNR = 4. */

-	"	ldmia r3!, {r6,r7}								\n" /* Read first set of RBAR/RLAR from TCB. */

-	"	ldr  r4, xRBARConst								\n" /* r4 = 0xe000ed9c [Location of RBAR]. */

-	"	stmia r4!, {r6,r7}								\n" /* Write first set of RBAR/RLAR registers. */

-	"	movs r5, #5										\n" /* r5 = 5. */

-	"	str  r5, [r2]									\n" /* Program RNR = 5. */

-	"	ldmia r3!, {r6,r7}								\n" /* Read second set of RBAR/RLAR from TCB. */

-	"	ldr  r4, xRBARConst								\n" /* r4 = 0xe000ed9c [Location of RBAR]. */

-	"	stmia r4!, {r6,r7}								\n" /* Write second set of RBAR/RLAR registers. */

-	"	movs r5, #6										\n" /* r5 = 6. */

-	"	str  r5, [r2]									\n" /* Program RNR = 6. */

-	"	ldmia r3!, {r6,r7}								\n" /* Read third set of RBAR/RLAR from TCB. */

-	"	ldr  r4, xRBARConst								\n" /* r4 = 0xe000ed9c [Location of RBAR]. */

-	"	stmia r4!, {r6,r7}								\n" /* Write third set of RBAR/RLAR registers. */

-	"	movs r5, #7										\n" /* r5 = 7. */

-	"	str  r5, [r2]									\n" /* Program RNR = 7. */

-	"	ldmia r3!, {r6,r7}								\n" /* Read fourth set of RBAR/RLAR from TCB. */

-	"	ldr  r4, xRBARConst								\n" /* r4 = 0xe000ed9c [Location of RBAR]. */

-	"	stmia r4!, {r6,r7}								\n" /* Write fourth set of RBAR/RLAR registers. */

-	"													\n"

-	"	ldr r2, xMPUCTRLConst							\n" /* r2 = 0xe000ed94 [Location of MPU_CTRL]. */

-	"	ldr r4, [r2]									\n" /* Read the value of MPU_CTRL. */

-	"	movs r5, #1										\n" /* r5 = 1. */

-	"	orrs r4, r5										\n" /* r4 = r4 | r5 i.e. Set the bit 0 in r4. */

-	"	str r4, [r2]									\n" /* Enable MPU. */

-	"	dsb												\n" /* Force memory writes before continuing. */

-	#endif /* configENABLE_MPU */

-	"													\n"

-	#if( configENABLE_MPU == 1 )

-	"	ldmia r1!, {r0, r2-r4}							\n" /* Read from stack - r0 = xSecureContext, r2 = PSPLIM, r3 = CONTROL and r4 = LR. */

-	"	msr psplim, r2									\n" /* Restore the PSPLIM register value for the task. */

-	"	msr control, r3									\n" /* Restore the CONTROL register value for the task. */

-	"	mov lr, r4										\n" /* LR = r4. */

-	"	ldr r2, xSecureContextConst						\n" /* Read the location of xSecureContext i.e. &( xSecureContext ). */

-	"	str r0, [r2]									\n" /* Restore the task's xSecureContext. */

-	"	cbz r0, restore_ns_context						\n" /* If there is no secure context for the task, restore the non-secure context. */

-	"	push {r1,r4}									\n"

-	"	bl SecureContext_LoadContext					\n" /* Restore the secure context. */

-	"	pop {r1,r4}										\n"

-	"	mov lr, r4										\n" /* LR = r4. */

-	"	lsls r2, r4, #25								\n" /* r2 = r4 << 25. Bit[6] of EXC_RETURN is 1 if secure stack was used, 0 if non-secure stack was used to store stack frame. */

-	"	bpl restore_ns_context							\n" /* bpl - branch if positive or zero. If r2 >= 0 ==> Bit[6] in EXC_RETURN is 0 i.e. non-secure stack was used. */

-	"	msr psp, r1										\n" /* Remember the new top of stack for the task. */

-	"	bx lr											\n"

-	#else /* configENABLE_MPU */

-	"	ldmia r1!, {r0, r2-r3}							\n" /* Read from stack - r0 = xSecureContext, r2 = PSPLIM and r3 = LR. */

-	"	msr psplim, r2									\n" /* Restore the PSPLIM register value for the task. */

-	"	mov lr, r3										\n" /* LR = r3. */

-	"	ldr r2, xSecureContextConst						\n" /* Read the location of xSecureContext i.e. &( xSecureContext ). */

-	"	str r0, [r2]									\n" /* Restore the task's xSecureContext. */

-	"	cbz r0, restore_ns_context						\n" /* If there is no secure context for the task, restore the non-secure context. */

-	"	push {r1,r3}									\n"

-	"	bl SecureContext_LoadContext					\n" /* Restore the secure context. */

-	"	pop {r1,r3}										\n"

-	"	mov lr, r3										\n" /* LR = r3. */

-	"	lsls r2, r3, #25								\n" /* r2 = r3 << 25. Bit[6] of EXC_RETURN is 1 if secure stack was used, 0 if non-secure stack was used to store stack frame. */

-	"	bpl restore_ns_context							\n" /* bpl - branch if positive or zero. If r2 >= 0 ==> Bit[6] in EXC_RETURN is 0 i.e. non-secure stack was used. */

-	"	msr psp, r1										\n" /* Remember the new top of stack for the task. */

-	"	bx lr											\n"

-	#endif /* configENABLE_MPU */

-	"													\n"

-	" restore_ns_context:								\n"

-	"	adds r1, r1, #16								\n" /* Move to the high registers. */

-	"	ldmia r1!, {r4-r7}								\n" /* Restore the high registers that are not automatically restored. */

-	"	mov r8, r4										\n" /* r8 = r4. */

-	"	mov r9, r5										\n" /* r9 = r5. */

-	"	mov r10, r6										\n" /* r10 = r6. */

-	"	mov r11, r7										\n" /* r11 = r7. */

-	"	msr psp, r1										\n" /* Remember the new top of stack for the task. */

-	"	subs r1, r1, #32								\n" /* Go back to the low registers. */

-	"	ldmia r1!, {r4-r7}								\n" /* Restore the low registers that are not automatically restored. */

-	"	bx lr											\n"

-	"													\n"

-	"	.align 4										\n"

-	"pxCurrentTCBConst: .word pxCurrentTCB				\n"

-	"xSecureContextConst: .word xSecureContext			\n"

-	#if( configENABLE_MPU == 1 )

-	"xMPUCTRLConst: .word 0xe000ed94					\n"

-	"xMAIR0Const: .word 0xe000edc0						\n"

-	"xRNRConst: .word 0xe000ed98						\n"

-	"xRBARConst: .word 0xe000ed9c						\n"

-	#endif /* configENABLE_MPU */

-	);

+    __asm volatile

+    (

+        "	.syntax unified									\n"

+        "	.extern SecureContext_SaveContext				\n"

+        "	.extern SecureContext_LoadContext				\n"

+        "													\n"

+        "	mrs r1, psp										\n"/* Read PSP in r1. */

+        "	ldr r2, xSecureContextConst						\n"/* Read the location of xSecureContext i.e. &( xSecureContext ). */

+        "	ldr r0, [r2]									\n"/* Read xSecureContext - Value of xSecureContext must be in r0 as it is used as a parameter later. */

+        "													\n"

+        "	cbz r0, save_ns_context							\n"/* No secure context to save. */

+        "	push {r0-r2, r14}								\n"

+        "	bl SecureContext_SaveContext					\n"

+        "	pop {r0-r3}										\n"/* LR is now in r3. */

+        "	mov lr, r3										\n"/* LR = r3. */

+        "	lsls r2, r3, #25								\n"/* r2 = r3 << 25. Bit[6] of EXC_RETURN is 1 if secure stack was used, 0 if non-secure stack was used to store stack frame. */

+        "	bpl save_ns_context								\n"/* bpl - branch if positive or zero. If r2 >= 0 ==> Bit[6] in EXC_RETURN is 0 i.e. non-secure stack was used. */

+        "	ldr r3, pxCurrentTCBConst						\n"/* Read the location of pxCurrentTCB i.e. &( pxCurrentTCB ). */

+        "	ldr r2, [r3]									\n"/* Read pxCurrentTCB. */

+        #if ( configENABLE_MPU == 1 )

+            "	subs r1, r1, #16								\n"/* Make space for xSecureContext, PSPLIM, CONTROL and LR on the stack. */

+            "	str r1, [r2]									\n"/* Save the new top of stack in TCB. */

+            "	mrs r2, psplim									\n"/* r2 = PSPLIM. */

+            "	mrs r3, control									\n"/* r3 = CONTROL. */

+            "	mov r4, lr										\n"/* r4 = LR/EXC_RETURN. */

+            "	stmia r1!, {r0, r2-r4}							\n"/* Store xSecureContext, PSPLIM, CONTROL and LR on the stack. */

+        #else /* configENABLE_MPU */

+            "	subs r1, r1, #12								\n"/* Make space for xSecureContext, PSPLIM and LR on the stack. */

+            "	str r1, [r2]									\n"/* Save the new top of stack in TCB. */

+            "	mrs r2, psplim									\n"/* r2 = PSPLIM. */

+            "	mov r3, lr										\n"/* r3 = LR/EXC_RETURN. */

+            "	stmia r1!, {r0, r2-r3}							\n"/* Store xSecureContext, PSPLIM and LR on the stack. */

+        #endif /* configENABLE_MPU */

+        "	b select_next_task								\n"

+        "													\n"

+        " save_ns_context:									\n"

+        "	ldr r3, pxCurrentTCBConst						\n"/* Read the location of pxCurrentTCB i.e. &( pxCurrentTCB ). */

+        "	ldr r2, [r3]									\n"/* Read pxCurrentTCB. */

+        #if ( configENABLE_MPU == 1 )

+            "	subs r1, r1, #48								\n"/* Make space for xSecureContext, PSPLIM, CONTROL, LR and the remaining registers on the stack. */

+            "	str r1, [r2]									\n"/* Save the new top of stack in TCB. */

+            "	adds r1, r1, #16								\n"/* r1 = r1 + 16. */

+            "	stmia r1!, {r4-r7}								\n"/* Store the low registers that are not saved automatically. */

+            "	mov r4, r8										\n"/* r4 = r8. */

+            "	mov r5, r9										\n"/* r5 = r9. */

+            "	mov r6, r10										\n"/* r6 = r10. */

+            "	mov r7, r11										\n"/* r7 = r11. */

+            "	stmia r1!, {r4-r7}								\n"/* Store the high registers that are not saved automatically. */

+            "	mrs r2, psplim									\n"/* r2 = PSPLIM. */

+            "	mrs r3, control									\n"/* r3 = CONTROL. */

+            "	mov r4, lr										\n"/* r4 = LR/EXC_RETURN. */

+            "	subs r1, r1, #48								\n"/* r1 = r1 - 48. */

+            "	stmia r1!, {r0, r2-r4}							\n"/* Store xSecureContext, PSPLIM, CONTROL and LR on the stack. */

+        #else /* configENABLE_MPU */

+            "	subs r1, r1, #44								\n"/* Make space for xSecureContext, PSPLIM, LR and the remaining registers on the stack. */

+            "	str r1, [r2]									\n"/* Save the new top of stack in TCB. */

+            "	mrs r2, psplim									\n"/* r2 = PSPLIM. */

+            "	mov r3, lr										\n"/* r3 = LR/EXC_RETURN. */

+            "	stmia r1!, {r0, r2-r7}							\n"/* Store xSecureContext, PSPLIM, LR and the low registers that are not saved automatically. */

+            "	mov r4, r8										\n"/* r4 = r8. */

+            "	mov r5, r9										\n"/* r5 = r9. */

+            "	mov r6, r10										\n"/* r6 = r10. */

+            "	mov r7, r11										\n"/* r7 = r11. */

+            "	stmia r1!, {r4-r7}								\n"/* Store the high registers that are not saved automatically. */

+        #endif /* configENABLE_MPU */

+        "													\n"

+        " select_next_task:									\n"

+        "	cpsid i											\n"

+        "	bl vTaskSwitchContext							\n"

+        "	cpsie i											\n"

+        "													\n"

+        "	ldr r2, pxCurrentTCBConst						\n"/* Read the location of pxCurrentTCB i.e. &( pxCurrentTCB ). */

+        "	ldr r3, [r2]									\n"/* Read pxCurrentTCB. */

+        "	ldr r1, [r3]									\n"/* The first item in pxCurrentTCB is the task top of stack. r1 now points to the top of stack. */

+        "													\n"

+        #if ( configENABLE_MPU == 1 )

+            "	dmb												\n"/* Complete outstanding transfers before disabling MPU. */

+            "	ldr r2, xMPUCTRLConst							\n"/* r2 = 0xe000ed94 [Location of MPU_CTRL]. */

+            "	ldr r4, [r2]									\n"/* Read the value of MPU_CTRL. */

+            "	movs r5, #1										\n"/* r5 = 1. */

+            "	bics r4, r5										\n"/* r4 = r4 & ~r5 i.e. Clear the bit 0 in r4. */

+            "	str r4, [r2]									\n"/* Disable MPU. */

+            "													\n"

+            "	adds r3, #4										\n"/* r3 = r3 + 4. r3 now points to MAIR0 in TCB. */

+            "	ldr r4, [r3]									\n"/* r4 = *r3 i.e. r4 = MAIR0. */

+            "	ldr r2, xMAIR0Const								\n"/* r2 = 0xe000edc0 [Location of MAIR0]. */

+            "	str r4, [r2]									\n"/* Program MAIR0. */

+            "	ldr r2, xRNRConst								\n"/* r2 = 0xe000ed98 [Location of RNR]. */

+            "	adds r3, #4										\n"/* r3 = r3 + 4. r3 now points to first RBAR in TCB. */

+            "	movs r5, #4										\n"/* r5 = 4. */

+            "	str  r5, [r2]									\n"/* Program RNR = 4. */

+            "	ldmia r3!, {r6,r7}								\n"/* Read first set of RBAR/RLAR from TCB. */

+            "	ldr  r4, xRBARConst								\n"/* r4 = 0xe000ed9c [Location of RBAR]. */

+            "	stmia r4!, {r6,r7}								\n"/* Write first set of RBAR/RLAR registers. */

+            "	movs r5, #5										\n"/* r5 = 5. */

+            "	str  r5, [r2]									\n"/* Program RNR = 5. */

+            "	ldmia r3!, {r6,r7}								\n"/* Read second set of RBAR/RLAR from TCB. */

+            "	ldr  r4, xRBARConst								\n"/* r4 = 0xe000ed9c [Location of RBAR]. */

+            "	stmia r4!, {r6,r7}								\n"/* Write second set of RBAR/RLAR registers. */

+            "	movs r5, #6										\n"/* r5 = 6. */

+            "	str  r5, [r2]									\n"/* Program RNR = 6. */

+            "	ldmia r3!, {r6,r7}								\n"/* Read third set of RBAR/RLAR from TCB. */

+            "	ldr  r4, xRBARConst								\n"/* r4 = 0xe000ed9c [Location of RBAR]. */

+            "	stmia r4!, {r6,r7}								\n"/* Write third set of RBAR/RLAR registers. */

+            "	movs r5, #7										\n"/* r5 = 7. */

+            "	str  r5, [r2]									\n"/* Program RNR = 7. */

+            "	ldmia r3!, {r6,r7}								\n"/* Read fourth set of RBAR/RLAR from TCB. */

+            "	ldr  r4, xRBARConst								\n"/* r4 = 0xe000ed9c [Location of RBAR]. */

+            "	stmia r4!, {r6,r7}								\n"/* Write fourth set of RBAR/RLAR registers. */

+            "													\n"

+            "	ldr r2, xMPUCTRLConst							\n"/* r2 = 0xe000ed94 [Location of MPU_CTRL]. */

+            "	ldr r4, [r2]									\n"/* Read the value of MPU_CTRL. */

+            "	movs r5, #1										\n"/* r5 = 1. */

+            "	orrs r4, r5										\n"/* r4 = r4 | r5 i.e. Set the bit 0 in r4. */

+            "	str r4, [r2]									\n"/* Enable MPU. */

+            "	dsb												\n"/* Force memory writes before continuing. */

+        #endif /* configENABLE_MPU */

+        "													\n"

+        #if ( configENABLE_MPU == 1 )

+            "	ldmia r1!, {r0, r2-r4}							\n"/* Read from stack - r0 = xSecureContext, r2 = PSPLIM, r3 = CONTROL and r4 = LR. */

+            "	msr psplim, r2									\n"/* Restore the PSPLIM register value for the task. */

+            "	msr control, r3									\n"/* Restore the CONTROL register value for the task. */

+            "	mov lr, r4										\n"/* LR = r4. */

+            "	ldr r2, xSecureContextConst						\n"/* Read the location of xSecureContext i.e. &( xSecureContext ). */

+            "	str r0, [r2]									\n"/* Restore the task's xSecureContext. */

+            "	cbz r0, restore_ns_context						\n"/* If there is no secure context for the task, restore the non-secure context. */

+            "	push {r1,r4}									\n"

+            "	bl SecureContext_LoadContext					\n"/* Restore the secure context. */

+            "	pop {r1,r4}										\n"

+            "	mov lr, r4										\n"/* LR = r4. */

+            "	lsls r2, r4, #25								\n"/* r2 = r4 << 25. Bit[6] of EXC_RETURN is 1 if secure stack was used, 0 if non-secure stack was used to store stack frame. */

+            "	bpl restore_ns_context							\n"/* bpl - branch if positive or zero. If r2 >= 0 ==> Bit[6] in EXC_RETURN is 0 i.e. non-secure stack was used. */

+            "	msr psp, r1										\n"/* Remember the new top of stack for the task. */

+            "	bx lr											\n"

+        #else /* configENABLE_MPU */

+            "	ldmia r1!, {r0, r2-r3}							\n"/* Read from stack - r0 = xSecureContext, r2 = PSPLIM and r3 = LR. */

+            "	msr psplim, r2									\n"/* Restore the PSPLIM register value for the task. */

+            "	mov lr, r3										\n"/* LR = r3. */

+            "	ldr r2, xSecureContextConst						\n"/* Read the location of xSecureContext i.e. &( xSecureContext ). */

+            "	str r0, [r2]									\n"/* Restore the task's xSecureContext. */

+            "	cbz r0, restore_ns_context						\n"/* If there is no secure context for the task, restore the non-secure context. */

+            "	push {r1,r3}									\n"

+            "	bl SecureContext_LoadContext					\n"/* Restore the secure context. */

+            "	pop {r1,r3}										\n"

+            "	mov lr, r3										\n"/* LR = r3. */

+            "	lsls r2, r3, #25								\n"/* r2 = r3 << 25. Bit[6] of EXC_RETURN is 1 if secure stack was used, 0 if non-secure stack was used to store stack frame. */

+            "	bpl restore_ns_context							\n"/* bpl - branch if positive or zero. If r2 >= 0 ==> Bit[6] in EXC_RETURN is 0 i.e. non-secure stack was used. */

+            "	msr psp, r1										\n"/* Remember the new top of stack for the task. */

+            "	bx lr											\n"

+        #endif /* configENABLE_MPU */

+        "													\n"

+        " restore_ns_context:								\n"

+        "	adds r1, r1, #16								\n"/* Move to the high registers. */

+        "	ldmia r1!, {r4-r7}								\n"/* Restore the high registers that are not automatically restored. */

+        "	mov r8, r4										\n"/* r8 = r4. */

+        "	mov r9, r5										\n"/* r9 = r5. */

+        "	mov r10, r6										\n"/* r10 = r6. */

+        "	mov r11, r7										\n"/* r11 = r7. */

+        "	msr psp, r1										\n"/* Remember the new top of stack for the task. */

+        "	subs r1, r1, #32								\n"/* Go back to the low registers. */

+        "	ldmia r1!, {r4-r7}								\n"/* Restore the low registers that are not automatically restored. */

+        "	bx lr											\n"

+        "													\n"

+        "	.align 4										\n"

+        "pxCurrentTCBConst: .word pxCurrentTCB				\n"

+        "xSecureContextConst: .word xSecureContext			\n"

+        #if ( configENABLE_MPU == 1 )

+            "xMPUCTRLConst: .word 0xe000ed94					\n"

+            "xMAIR0Const: .word 0xe000edc0						\n"

+            "xRNRConst: .word 0xe000ed98						\n"

+            "xRBARConst: .word 0xe000ed9c						\n"

+        #endif /* configENABLE_MPU */

+    );

 }

 /*-----------------------------------------------------------*/

 

 void SVC_Handler( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */

 {

-	__asm volatile

-	(

-	"	movs r0, #4										\n"

-	"	mov r1, lr										\n"

-	"	tst r0, r1										\n"

-	"	beq stacking_used_msp							\n"

-	"	mrs r0, psp										\n"

-	"	ldr r2, svchandler_address_const				\n"

-	"	bx r2											\n"

-	" stacking_used_msp:								\n"

-	"	mrs r0, msp										\n"

-	"	ldr r2, svchandler_address_const				\n"

-	"	bx r2											\n"

-	"													\n"

-	"	.align 4										\n"

-	"svchandler_address_const: .word vPortSVCHandler_C	\n"

-	);

+    __asm volatile

+    (

+        "	movs r0, #4										\n"

+        "	mov r1, lr										\n"

+        "	tst r0, r1										\n"

+        "	beq stacking_used_msp							\n"

+        "	mrs r0, psp										\n"

+        "	ldr r2, svchandler_address_const				\n"

+        "	bx r2											\n"

+        " stacking_used_msp:								\n"

+        "	mrs r0, msp										\n"

+        "	ldr r2, svchandler_address_const				\n"

+        "	bx r2											\n"

+        "													\n"

+        "	.align 4										\n"

+        "svchandler_address_const: .word vPortSVCHandler_C	\n"

+    );

 }

 /*-----------------------------------------------------------*/

 

 void vPortAllocateSecureContext( uint32_t ulSecureStackSize ) /* __attribute__ (( naked )) */

 {

-	__asm volatile

-	(

-	"	svc %0											\n" /* Secure context is allocated in the supervisor call. */

-	"	bx lr											\n" /* Return. */

-	:: "i" ( portSVC_ALLOCATE_SECURE_CONTEXT ) : "memory"

-	);

+    __asm volatile

+    (

+        "	svc %0											\n"/* Secure context is allocated in the supervisor call. */

+        "	bx lr											\n"/* Return. */

+        ::"i" ( portSVC_ALLOCATE_SECURE_CONTEXT ) : "memory"

+    );

 }

 /*-----------------------------------------------------------*/

 

-void vPortFreeSecureContext( uint32_t *pulTCB ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */

+void vPortFreeSecureContext( uint32_t * pulTCB ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */

 {

-	__asm volatile

-	(

-	"	ldr r1, [r0]									\n" /* The first item in the TCB is the top of the stack. */

-	"	ldr r0, [r1]									\n" /* The first item on the stack is the task's xSecureContext. */

-	"	cmp r0, #0										\n" /* Raise svc if task's xSecureContext is not NULL. */

-	"	beq free_secure_context							\n"

-	"	bx lr											\n" /* There is no secure context (xSecureContext is NULL). */

-	" free_secure_context:								\n"

-	"	svc %0											\n" /* Secure context is freed in the supervisor call. */

-	"	bx lr											\n" /* Return. */

-	:: "i" ( portSVC_FREE_SECURE_CONTEXT ) : "memory"

-	);

+    __asm volatile

+    (

+        "	ldr r1, [r0]									\n"/* The first item in the TCB is the top of the stack. */

+        "	ldr r0, [r1]									\n"/* The first item on the stack is the task's xSecureContext. */

+        "	cmp r0, #0										\n"/* Raise svc if task's xSecureContext is not NULL. */

+        "	beq free_secure_context							\n"

+        "	bx lr											\n"/* There is no secure context (xSecureContext is NULL). */

+        " free_secure_context:								\n"

+        "	svc %0											\n"/* Secure context is freed in the supervisor call. */

+        "	bx lr											\n"/* Return. */

+        ::"i" ( portSVC_FREE_SECURE_CONTEXT ) : "memory"

+    );

 }

 /*-----------------------------------------------------------*/

diff --git a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23/portmacro.h b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23/portmacro.h
index 03548d5..060f91a 100644
--- a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23/portmacro.h
+++ b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23/portmacro.h
@@ -25,11 +25,11 @@
  */

 

 #ifndef PORTMACRO_H

-#define PORTMACRO_H

+    #define PORTMACRO_H

 

-#ifdef __cplusplus

-extern "C" {

-#endif

+    #ifdef __cplusplus

+        extern "C" {

+    #endif

 

 /*------------------------------------------------------------------------------

  * Port specific definitions.

@@ -41,109 +41,109 @@
  *------------------------------------------------------------------------------

  */

 

-#ifndef configENABLE_FPU

-	#error configENABLE_FPU must be defined in FreeRTOSConfig.h.  Set configENABLE_FPU to 1 to enable the FPU or 0 to disable the FPU.

-#endif /* configENABLE_FPU */

+    #ifndef configENABLE_FPU

+        #error configENABLE_FPU must be defined in FreeRTOSConfig.h.  Set configENABLE_FPU to 1 to enable the FPU or 0 to disable the FPU.

+    #endif /* configENABLE_FPU */

 

-#ifndef configENABLE_MPU

-	#error configENABLE_MPU must be defined in FreeRTOSConfig.h.  Set configENABLE_MPU to 1 to enable the MPU or 0 to disable the MPU.

-#endif /* configENABLE_MPU */

+    #ifndef configENABLE_MPU

+        #error configENABLE_MPU must be defined in FreeRTOSConfig.h.  Set configENABLE_MPU to 1 to enable the MPU or 0 to disable the MPU.

+    #endif /* configENABLE_MPU */

 

-#ifndef configENABLE_TRUSTZONE

-	#error configENABLE_TRUSTZONE must be defined in FreeRTOSConfig.h.  Set configENABLE_TRUSTZONE to 1 to enable TrustZone or 0 to disable TrustZone.

-#endif /* configENABLE_TRUSTZONE */

+    #ifndef configENABLE_TRUSTZONE

+        #error configENABLE_TRUSTZONE must be defined in FreeRTOSConfig.h.  Set configENABLE_TRUSTZONE to 1 to enable TrustZone or 0 to disable TrustZone.

+    #endif /* configENABLE_TRUSTZONE */

 

 /*-----------------------------------------------------------*/

 

 /**

  * @brief 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

+    #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;

+    typedef portSTACK_TYPE   StackType_t;

+    typedef long             BaseType_t;

+    typedef unsigned long    UBaseType_t;

 

-#if( configUSE_16_BIT_TICKS == 1 )

-	typedef uint16_t TickType_t;

-	#define portMAX_DELAY ( TickType_t )					0xffff

-#else

-	typedef uint32_t TickType_t;

-	#define portMAX_DELAY ( TickType_t )					0xffffffffUL

+    #if ( configUSE_16_BIT_TICKS == 1 )

+        typedef uint16_t     TickType_t;

+        #define portMAX_DELAY              ( TickType_t ) 0xffff

+    #else

+        typedef uint32_t     TickType_t;

+        #define portMAX_DELAY              ( TickType_t ) 0xffffffffUL

 

-	/* 32-bit tick type on a 32-bit architecture, so reads of the tick count do

-	 * not need to be guarded with a critical section. */

-	#define portTICK_TYPE_IS_ATOMIC							1

-#endif

+/* 32-bit tick type on a 32-bit architecture, so reads of the tick count do

+ * not need to be guarded with a critical section. */

+        #define portTICK_TYPE_IS_ATOMIC    1

+    #endif

 /*-----------------------------------------------------------*/

 

 /**

  * Architecture specifics.

  */

-#define portARCH_NAME										"Cortex-M23"

-#define portSTACK_GROWTH									( -1 )

-#define portTICK_PERIOD_MS									( ( TickType_t ) 1000 / configTICK_RATE_HZ )

-#define portBYTE_ALIGNMENT									8

-#define portNOP()

-#define portINLINE											__inline

-#ifndef portFORCE_INLINE

-	#define portFORCE_INLINE								inline __attribute__(( always_inline ))

-#endif

-#define portHAS_STACK_OVERFLOW_CHECKING						1

-#define portDONT_DISCARD									__attribute__(( used ))

+    #define portARCH_NAME                      "Cortex-M23"

+    #define portSTACK_GROWTH                   ( -1 )

+    #define portTICK_PERIOD_MS                 ( ( TickType_t ) 1000 / configTICK_RATE_HZ )

+    #define portBYTE_ALIGNMENT                 8

+    #define portNOP()

+    #define portINLINE                         __inline

+    #ifndef portFORCE_INLINE

+        #define portFORCE_INLINE               inline __attribute__( ( always_inline ) )

+    #endif

+    #define portHAS_STACK_OVERFLOW_CHECKING    1

+    #define portDONT_DISCARD                   __attribute__( ( used ) )

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Extern declarations.

  */

-extern BaseType_t xPortIsInsideInterrupt( void );

+    extern BaseType_t xPortIsInsideInterrupt( void );

 

-extern void vPortYield( void ) /* PRIVILEGED_FUNCTION */;

+    extern void vPortYield( void ) /* PRIVILEGED_FUNCTION */;

 

-extern void vPortEnterCritical( void ) /* PRIVILEGED_FUNCTION */;

-extern void vPortExitCritical( void ) /* PRIVILEGED_FUNCTION */;

+    extern void vPortEnterCritical( void ) /* PRIVILEGED_FUNCTION */;

+    extern void vPortExitCritical( void ) /* PRIVILEGED_FUNCTION */;

 

-extern uint32_t ulSetInterruptMask( void ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;

-extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;

+    extern uint32_t ulSetInterruptMask( void ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;

+    extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;

 

-#if( configENABLE_TRUSTZONE == 1 )

-	extern void vPortAllocateSecureContext( uint32_t ulSecureStackSize ); /* __attribute__ (( naked )) */

-	extern void vPortFreeSecureContext( uint32_t *pulTCB ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */;

-#endif /* configENABLE_TRUSTZONE */

+    #if ( configENABLE_TRUSTZONE == 1 )

+        extern void vPortAllocateSecureContext( uint32_t ulSecureStackSize ); /* __attribute__ (( naked )) */

+        extern void vPortFreeSecureContext( uint32_t * pulTCB ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */;

+    #endif /* configENABLE_TRUSTZONE */

 

-#if( configENABLE_MPU == 1 )

-	extern BaseType_t xIsPrivileged( void ) /* __attribute__ (( naked )) */;

-	extern void vResetPrivilege( void ) /* __attribute__ (( naked )) */;

-#endif /* configENABLE_MPU */

+    #if ( configENABLE_MPU == 1 )

+        extern BaseType_t xIsPrivileged( void ) /* __attribute__ (( naked )) */;

+        extern void vResetPrivilege( void ) /* __attribute__ (( naked )) */;

+    #endif /* configENABLE_MPU */

 /*-----------------------------------------------------------*/

 

 /**

  * @brief MPU specific constants.

  */

-#if( configENABLE_MPU == 1 )

-	#define portUSING_MPU_WRAPPERS							1

-	#define portPRIVILEGE_BIT								( 0x80000000UL )

-#else

-	#define portPRIVILEGE_BIT								( 0x0UL )

-#endif /* configENABLE_MPU */

+    #if ( configENABLE_MPU == 1 )

+        #define portUSING_MPU_WRAPPERS    1

+        #define portPRIVILEGE_BIT         ( 0x80000000UL )

+    #else

+        #define portPRIVILEGE_BIT         ( 0x0UL )

+    #endif /* configENABLE_MPU */

 

 

 /* MPU regions. */

-#define portPRIVILEGED_FLASH_REGION							( 0UL )

-#define portUNPRIVILEGED_FLASH_REGION						( 1UL )

-#define portUNPRIVILEGED_SYSCALLS_REGION					( 2UL )

-#define portPRIVILEGED_RAM_REGION							( 3UL )

-#define portSTACK_REGION									( 4UL )

-#define portFIRST_CONFIGURABLE_REGION						( 5UL )

-#define portLAST_CONFIGURABLE_REGION						( 7UL )

-#define portNUM_CONFIGURABLE_REGIONS						( ( portLAST_CONFIGURABLE_REGION - portFIRST_CONFIGURABLE_REGION ) + 1 )

-#define portTOTAL_NUM_REGIONS								( portNUM_CONFIGURABLE_REGIONS + 1 ) /* Plus one to make space for the stack region. */

+    #define portPRIVILEGED_FLASH_REGION                   ( 0UL )

+    #define portUNPRIVILEGED_FLASH_REGION                 ( 1UL )

+    #define portUNPRIVILEGED_SYSCALLS_REGION              ( 2UL )

+    #define portPRIVILEGED_RAM_REGION                     ( 3UL )

+    #define portSTACK_REGION                              ( 4UL )

+    #define portFIRST_CONFIGURABLE_REGION                 ( 5UL )

+    #define portLAST_CONFIGURABLE_REGION                  ( 7UL )

+    #define portNUM_CONFIGURABLE_REGIONS                  ( ( portLAST_CONFIGURABLE_REGION - portFIRST_CONFIGURABLE_REGION ) + 1 )

+    #define portTOTAL_NUM_REGIONS                         ( portNUM_CONFIGURABLE_REGIONS + 1 )   /* Plus one to make space for the stack region. */

 

 /* Device memory attributes used in MPU_MAIR registers.

  *

@@ -155,155 +155,157 @@
  *				11 --> Device-GRE

  *  Bit[1:0] - 00, Reserved.

  */

-#define portMPU_DEVICE_MEMORY_nGnRnE						( 0x00 ) /* 0000 0000 */

-#define portMPU_DEVICE_MEMORY_nGnRE							( 0x04 ) /* 0000 0100 */

-#define portMPU_DEVICE_MEMORY_nGRE							( 0x08 ) /* 0000 1000 */

-#define portMPU_DEVICE_MEMORY_GRE							( 0x0C ) /* 0000 1100 */

+    #define portMPU_DEVICE_MEMORY_nGnRnE                  ( 0x00 )   /* 0000 0000 */

+    #define portMPU_DEVICE_MEMORY_nGnRE                   ( 0x04 )   /* 0000 0100 */

+    #define portMPU_DEVICE_MEMORY_nGRE                    ( 0x08 )   /* 0000 1000 */

+    #define portMPU_DEVICE_MEMORY_GRE                     ( 0x0C )   /* 0000 1100 */

 

 /* Normal memory attributes used in MPU_MAIR registers. */

-#define portMPU_NORMAL_MEMORY_NON_CACHEABLE					( 0x44 ) /* Non-cacheable. */

-#define portMPU_NORMAL_MEMORY_BUFFERABLE_CACHEABLE			( 0xFF ) /* Non-Transient, Write-back, Read-Allocate and Write-Allocate. */

+    #define portMPU_NORMAL_MEMORY_NON_CACHEABLE           ( 0x44 )   /* Non-cacheable. */

+    #define portMPU_NORMAL_MEMORY_BUFFERABLE_CACHEABLE    ( 0xFF )   /* Non-Transient, Write-back, Read-Allocate and Write-Allocate. */

 

 /* Attributes used in MPU_RBAR registers. */

-#define portMPU_REGION_NON_SHAREABLE						( 0UL << 3UL )

-#define portMPU_REGION_INNER_SHAREABLE						( 1UL << 3UL )

-#define portMPU_REGION_OUTER_SHAREABLE						( 2UL << 3UL )

+    #define portMPU_REGION_NON_SHAREABLE                  ( 0UL << 3UL )

+    #define portMPU_REGION_INNER_SHAREABLE                ( 1UL << 3UL )

+    #define portMPU_REGION_OUTER_SHAREABLE                ( 2UL << 3UL )

 

-#define portMPU_REGION_PRIVILEGED_READ_WRITE				( 0UL << 1UL )

-#define portMPU_REGION_READ_WRITE							( 1UL << 1UL )

-#define portMPU_REGION_PRIVILEGED_READ_ONLY					( 2UL << 1UL )

-#define portMPU_REGION_READ_ONLY							( 3UL << 1UL )

+    #define portMPU_REGION_PRIVILEGED_READ_WRITE          ( 0UL << 1UL )

+    #define portMPU_REGION_READ_WRITE                     ( 1UL << 1UL )

+    #define portMPU_REGION_PRIVILEGED_READ_ONLY           ( 2UL << 1UL )

+    #define portMPU_REGION_READ_ONLY                      ( 3UL << 1UL )

 

-#define portMPU_REGION_EXECUTE_NEVER						( 1UL )

+    #define portMPU_REGION_EXECUTE_NEVER                  ( 1UL )

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Settings to define an MPU region.

  */

-typedef struct MPURegionSettings

-{

-	uint32_t ulRBAR;	/**< RBAR for the region. */

-	uint32_t ulRLAR;	/**< RLAR for the region. */

-} MPURegionSettings_t;

+    typedef struct MPURegionSettings

+    {

+        uint32_t ulRBAR; /**< RBAR for the region. */

+        uint32_t ulRLAR; /**< RLAR for the region. */

+    } MPURegionSettings_t;

 

 /**

  * @brief MPU settings as stored in the TCB.

  */

-typedef struct MPU_SETTINGS

-{

-	uint32_t ulMAIR0;	/**< MAIR0 for the task containing attributes for all the 4 per task regions. */

-	MPURegionSettings_t xRegionsSettings[ portTOTAL_NUM_REGIONS ]; /**< Settings for 4 per task regions. */

-} xMPU_SETTINGS;

+    typedef struct MPU_SETTINGS

+    {

+        uint32_t ulMAIR0;                                              /**< MAIR0 for the task containing attributes for all the 4 per task regions. */

+        MPURegionSettings_t xRegionsSettings[ portTOTAL_NUM_REGIONS ]; /**< Settings for 4 per task regions. */

+    } xMPU_SETTINGS;

 /*-----------------------------------------------------------*/

 

 /**

  * @brief SVC numbers.

  */

-#define portSVC_ALLOCATE_SECURE_CONTEXT						0

-#define portSVC_FREE_SECURE_CONTEXT							1

-#define portSVC_START_SCHEDULER								2

-#define portSVC_RAISE_PRIVILEGE								3

+    #define portSVC_ALLOCATE_SECURE_CONTEXT    0

+    #define portSVC_FREE_SECURE_CONTEXT        1

+    #define portSVC_START_SCHEDULER            2

+    #define portSVC_RAISE_PRIVILEGE            3

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Scheduler utilities.

  */

-#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 portYIELD_FROM_ISR( x )								portEND_SWITCHING_ISR( x )

+    #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 portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Critical section management.

  */

-#define portSET_INTERRUPT_MASK_FROM_ISR()					ulSetInterruptMask()

-#define portCLEAR_INTERRUPT_MASK_FROM_ISR(x)				vClearInterruptMask( x )

-#define portDISABLE_INTERRUPTS()							__asm volatile ( " cpsid i " ::: "memory" )

-#define portENABLE_INTERRUPTS()								__asm volatile ( " cpsie i " ::: "memory" )

-#define portENTER_CRITICAL()								vPortEnterCritical()

-#define portEXIT_CRITICAL()									vPortExitCritical()

+    #define portSET_INTERRUPT_MASK_FROM_ISR()         ulSetInterruptMask()

+    #define portCLEAR_INTERRUPT_MASK_FROM_ISR( x )    vClearInterruptMask( x )

+    #define portDISABLE_INTERRUPTS()                  __asm volatile ( " cpsid i " ::: "memory" )

+    #define portENABLE_INTERRUPTS()                   __asm volatile ( " cpsie i " ::: "memory" )

+    #define portENTER_CRITICAL()                      vPortEnterCritical()

+    #define portEXIT_CRITICAL()                       vPortExitCritical()

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Tickless idle/low power functionality.

  */

-#ifndef portSUPPRESS_TICKS_AND_SLEEP

-	extern void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime );

-	#define portSUPPRESS_TICKS_AND_SLEEP( xExpectedIdleTime ) vPortSuppressTicksAndSleep( xExpectedIdleTime )

-#endif

+    #ifndef portSUPPRESS_TICKS_AND_SLEEP

+        extern void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime );

+        #define portSUPPRESS_TICKS_AND_SLEEP( xExpectedIdleTime )    vPortSuppressTicksAndSleep( xExpectedIdleTime )

+    #endif

 /*-----------------------------------------------------------*/

 

 /**

  * @brief 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 )

 /*-----------------------------------------------------------*/

 

-#if( configENABLE_TRUSTZONE == 1 )

-	/**

-	 * @brief Allocate a secure context for the task.

-	 *

-	 * Tasks are not created with a secure context. Any task that is going to call

-	 * secure functions must call portALLOCATE_SECURE_CONTEXT() to allocate itself a

-	 * secure context before it calls any secure function.

-	 *

-	 * @param[in] ulSecureStackSize The size of the secure stack to be allocated.

-	 */

-	#define portALLOCATE_SECURE_CONTEXT( ulSecureStackSize )	vPortAllocateSecureContext( ulSecureStackSize )

+    #if ( configENABLE_TRUSTZONE == 1 )

 

-	/**

-	 * @brief Called when a task is deleted to delete the task's secure context,

-	 * if it has one.

-	 *

-	 * @param[in] pxTCB The TCB of the task being deleted.

-	 */

-	#define portCLEAN_UP_TCB( pxTCB )							vPortFreeSecureContext( ( uint32_t * ) pxTCB )

-#else

-	#define portALLOCATE_SECURE_CONTEXT( ulSecureStackSize )

-	#define portCLEAN_UP_TCB( pxTCB )

-#endif /* configENABLE_TRUSTZONE */

+/**

+ * @brief Allocate a secure context for the task.

+ *

+ * Tasks are not created with a secure context. Any task that is going to call

+ * secure functions must call portALLOCATE_SECURE_CONTEXT() to allocate itself a

+ * secure context before it calls any secure function.

+ *

+ * @param[in] ulSecureStackSize The size of the secure stack to be allocated.

+ */

+        #define portALLOCATE_SECURE_CONTEXT( ulSecureStackSize )    vPortAllocateSecureContext( ulSecureStackSize )

+

+/**

+ * @brief Called when a task is deleted to delete the task's secure context,

+ * if it has one.

+ *

+ * @param[in] pxTCB The TCB of the task being deleted.

+ */

+        #define portCLEAN_UP_TCB( pxTCB )                           vPortFreeSecureContext( ( uint32_t * ) pxTCB )

+    #else

+        #define portALLOCATE_SECURE_CONTEXT( ulSecureStackSize )

+        #define portCLEAN_UP_TCB( pxTCB )

+    #endif /* configENABLE_TRUSTZONE */

 /*-----------------------------------------------------------*/

 

-#if( configENABLE_MPU == 1 )

-	/**

-	 * @brief Checks whether or not the processor is privileged.

-	 *

-	 * @return 1 if the processor is already privileged, 0 otherwise.

-	 */

-	#define portIS_PRIVILEGED()									xIsPrivileged()

+    #if ( configENABLE_MPU == 1 )

 

-	/**

-	 * @brief Raise an SVC request to raise privilege.

-	 *

-	 * The SVC handler checks that the SVC was raised from a system call and only

-	 * then it raises the privilege. If this is called from any other place,

-	 * the privilege is not raised.

-	 */

-	#define portRAISE_PRIVILEGE()								__asm volatile ( "svc %0 \n" :: "i" ( portSVC_RAISE_PRIVILEGE ) : "memory" );

+/**

+ * @brief Checks whether or not the processor is privileged.

+ *

+ * @return 1 if the processor is already privileged, 0 otherwise.

+ */

+        #define portIS_PRIVILEGED()      xIsPrivileged()

 

-	/**

-	 * @brief Lowers the privilege level by setting the bit 0 of the CONTROL

-	 * register.

-	 */

-	#define portRESET_PRIVILEGE()								vResetPrivilege()

-#else

-	#define portIS_PRIVILEGED()

-	#define portRAISE_PRIVILEGE()

-	#define portRESET_PRIVILEGE()

-#endif /* configENABLE_MPU */

+/**

+ * @brief Raise an SVC request to raise privilege.

+ *

+ * The SVC handler checks that the SVC was raised from a system call and only

+ * then it raises the privilege. If this is called from any other place,

+ * the privilege is not raised.

+ */

+        #define portRAISE_PRIVILEGE()    __asm volatile ( "svc %0 \n" ::"i" ( portSVC_RAISE_PRIVILEGE ) : "memory" );

+

+/**

+ * @brief Lowers the privilege level by setting the bit 0 of the CONTROL

+ * register.

+ */

+        #define portRESET_PRIVILEGE()    vResetPrivilege()

+    #else

+        #define portIS_PRIVILEGED()

+        #define portRAISE_PRIVILEGE()

+        #define portRESET_PRIVILEGE()

+    #endif /* configENABLE_MPU */

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Barriers.

  */

-#define portMEMORY_BARRIER() __asm volatile( "" ::: "memory" )

+    #define portMEMORY_BARRIER()    __asm volatile ( "" ::: "memory" )

 /*-----------------------------------------------------------*/

 

-#ifdef __cplusplus

-}

-#endif

+    #ifdef __cplusplus

+        }

+    #endif

 

 #endif /* PORTMACRO_H */

diff --git a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23_NTZ/portasm.c b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23_NTZ/portasm.c
index 61524c8..e683d1a 100644
--- a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23_NTZ/portasm.c
+++ b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23_NTZ/portasm.c
@@ -38,328 +38,328 @@
  * header files. */

 #undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE

 

-#if( configENABLE_FPU == 1 )

-	#error Cortex-M23 does not have a Floating Point Unit (FPU) and therefore configENABLE_FPU must be set to 0.

+#if ( configENABLE_FPU == 1 )

+    #error Cortex-M23 does not have a Floating Point Unit (FPU) and therefore configENABLE_FPU must be set to 0.

 #endif

 

 void vRestoreContextOfFirstTask( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */

 {

-	__asm volatile

-	(

-	"	.syntax unified									\n"

-	"													\n"

-	"	ldr  r2, pxCurrentTCBConst2						\n" /* Read the location of pxCurrentTCB i.e. &( pxCurrentTCB ). */

-	"	ldr  r1, [r2]									\n" /* Read pxCurrentTCB. */

-	"	ldr  r0, [r1]									\n" /* Read top of stack from TCB - The first item in pxCurrentTCB is the task top of stack. */

-	"													\n"

-	#if( configENABLE_MPU == 1 )

-	"	dmb												\n" /* Complete outstanding transfers before disabling MPU. */

-	"	ldr r2, xMPUCTRLConst2							\n" /* r2 = 0xe000ed94 [Location of MPU_CTRL]. */

-	"	ldr r3, [r2]									\n" /* Read the value of MPU_CTRL. */

-	"	movs r4, #1										\n" /* r4 = 1. */

-	"	bics r3, r4										\n" /* r3 = r3 & ~r4 i.e. Clear the bit 0 in r3. */

-	"	str r3, [r2]									\n" /* Disable MPU. */

-	"													\n"

-	"	adds r1, #4										\n" /* r1 = r1 + 4. r1 now points to MAIR0 in TCB. */

-	"	ldr  r4, [r1]									\n" /* r4 = *r1 i.e. r4 = MAIR0. */

-	"	ldr  r2, xMAIR0Const2							\n" /* r2 = 0xe000edc0 [Location of MAIR0]. */

-	"	str  r4, [r2]									\n" /* Program MAIR0. */

-	"	ldr  r2, xRNRConst2								\n" /* r2 = 0xe000ed98 [Location of RNR]. */

-	"	adds r1, #4										\n" /* r1 = r1 + 4. r1 now points to first RBAR in TCB. */

-	"	movs r4, #4										\n" /* r4 = 4. */

-	"	str  r4, [r2]									\n" /* Program RNR = 4. */

-	"	ldmia r1!, {r5,r6}								\n" /* Read first set of RBAR/RLAR from TCB. */

-	"	ldr  r3, xRBARConst2							\n" /* r3 = 0xe000ed9c [Location of RBAR]. */

-	"	stmia r3!, {r5,r6}								\n" /* Write first set of RBAR/RLAR registers. */

-	"	movs r4, #5										\n" /* r4 = 5. */

-	"	str  r4, [r2]									\n" /* Program RNR = 5. */

-	"	ldmia r1!, {r5,r6}								\n" /* Read second set of RBAR/RLAR from TCB. */

-	"	ldr  r3, xRBARConst2							\n" /* r3 = 0xe000ed9c [Location of RBAR]. */

-	"	stmia r3!, {r5,r6}								\n" /* Write second set of RBAR/RLAR registers. */

-	"	movs r4, #6										\n" /* r4 = 6. */

-	"	str  r4, [r2]									\n" /* Program RNR = 6. */

-	"	ldmia r1!, {r5,r6}								\n" /* Read third set of RBAR/RLAR from TCB. */

-	"	ldr  r3, xRBARConst2							\n" /* r3 = 0xe000ed9c [Location of RBAR]. */

-	"	stmia r3!, {r5,r6}								\n" /* Write third set of RBAR/RLAR registers. */

-	"	movs r4, #7										\n" /* r4 = 7. */

-	"	str  r4, [r2]									\n" /* Program RNR = 7. */

-	"	ldmia r1!, {r5,r6}								\n" /* Read fourth set of RBAR/RLAR from TCB. */

-	"	ldr  r3, xRBARConst2							\n" /* r3 = 0xe000ed9c [Location of RBAR]. */

-	"	stmia r3!, {r5,r6}								\n" /* Write fourth set of RBAR/RLAR registers. */

-	"													\n"

-	"	ldr r2, xMPUCTRLConst2							\n" /* r2 = 0xe000ed94 [Location of MPU_CTRL]. */

-	"	ldr r3, [r2]									\n" /* Read the value of MPU_CTRL. */

-	"	movs r4, #1										\n" /* r4 = 1. */

-	"	orrs r3, r4										\n" /* r3 = r3 | r4 i.e. Set the bit 0 in r3. */

-	"	str r3, [r2]									\n" /* Enable MPU. */

-	"	dsb												\n" /* Force memory writes before continuing. */

-	#endif /* configENABLE_MPU */

-	"													\n"

-	#if( configENABLE_MPU == 1 )

-	"	ldm  r0!, {r1-r3}								\n" /* Read from stack - r1 = PSPLIM, r2 = CONTROL and r3 = EXC_RETURN. */

-	"	msr  psplim, r1									\n" /* Set this task's PSPLIM value. */

-	"	msr  control, r2								\n" /* Set this task's CONTROL value. */

-	"	adds r0, #32									\n" /* Discard everything up to r0. */

-	"	msr  psp, r0									\n" /* This is now the new top of stack to use in the task. */

-	"	isb												\n"

-	"	bx   r3											\n" /* Finally, branch to EXC_RETURN. */

-	#else /* configENABLE_MPU */

-	"	ldm  r0!, {r1-r2}								\n" /* Read from stack - r1 = PSPLIM and r2 = EXC_RETURN. */

-	"	msr  psplim, r1									\n" /* Set this task's PSPLIM value. */

-	"	movs r1, #2										\n" /* r1 = 2. */

-	"	msr  CONTROL, r1								\n" /* Switch to use PSP in the thread mode. */

-	"	adds r0, #32									\n" /* Discard everything up to r0. */

-	"	msr  psp, r0									\n" /* This is now the new top of stack to use in the task. */

-	"	isb												\n"

-	"	bx   r2											\n" /* Finally, branch to EXC_RETURN. */

-	#endif /* configENABLE_MPU */

-	"													\n"

-	"	.align 4										\n"

-	"pxCurrentTCBConst2: .word pxCurrentTCB				\n"

-	#if( configENABLE_MPU == 1 )

-	"xMPUCTRLConst2: .word 0xe000ed94					\n"

-	"xMAIR0Const2: .word 0xe000edc0						\n"

-	"xRNRConst2: .word 0xe000ed98						\n"

-	"xRBARConst2: .word 0xe000ed9c						\n"

-	#endif /* configENABLE_MPU */

-	);

+    __asm volatile

+    (

+        "	.syntax unified									\n"

+        "													\n"

+        "	ldr  r2, pxCurrentTCBConst2						\n"/* Read the location of pxCurrentTCB i.e. &( pxCurrentTCB ). */

+        "	ldr  r1, [r2]									\n"/* Read pxCurrentTCB. */

+        "	ldr  r0, [r1]									\n"/* Read top of stack from TCB - The first item in pxCurrentTCB is the task top of stack. */

+        "													\n"

+        #if ( configENABLE_MPU == 1 )

+            "	dmb												\n"/* Complete outstanding transfers before disabling MPU. */

+            "	ldr r2, xMPUCTRLConst2							\n"/* r2 = 0xe000ed94 [Location of MPU_CTRL]. */

+            "	ldr r3, [r2]									\n"/* Read the value of MPU_CTRL. */

+            "	movs r4, #1										\n"/* r4 = 1. */

+            "	bics r3, r4										\n"/* r3 = r3 & ~r4 i.e. Clear the bit 0 in r3. */

+            "	str r3, [r2]									\n"/* Disable MPU. */

+            "													\n"

+            "	adds r1, #4										\n"/* r1 = r1 + 4. r1 now points to MAIR0 in TCB. */

+            "	ldr  r4, [r1]									\n"/* r4 = *r1 i.e. r4 = MAIR0. */

+            "	ldr  r2, xMAIR0Const2							\n"/* r2 = 0xe000edc0 [Location of MAIR0]. */

+            "	str  r4, [r2]									\n"/* Program MAIR0. */

+            "	ldr  r2, xRNRConst2								\n"/* r2 = 0xe000ed98 [Location of RNR]. */

+            "	adds r1, #4										\n"/* r1 = r1 + 4. r1 now points to first RBAR in TCB. */

+            "	movs r4, #4										\n"/* r4 = 4. */

+            "	str  r4, [r2]									\n"/* Program RNR = 4. */

+            "	ldmia r1!, {r5,r6}								\n"/* Read first set of RBAR/RLAR from TCB. */

+            "	ldr  r3, xRBARConst2							\n"/* r3 = 0xe000ed9c [Location of RBAR]. */

+            "	stmia r3!, {r5,r6}								\n"/* Write first set of RBAR/RLAR registers. */

+            "	movs r4, #5										\n"/* r4 = 5. */

+            "	str  r4, [r2]									\n"/* Program RNR = 5. */

+            "	ldmia r1!, {r5,r6}								\n"/* Read second set of RBAR/RLAR from TCB. */

+            "	ldr  r3, xRBARConst2							\n"/* r3 = 0xe000ed9c [Location of RBAR]. */

+            "	stmia r3!, {r5,r6}								\n"/* Write second set of RBAR/RLAR registers. */

+            "	movs r4, #6										\n"/* r4 = 6. */

+            "	str  r4, [r2]									\n"/* Program RNR = 6. */

+            "	ldmia r1!, {r5,r6}								\n"/* Read third set of RBAR/RLAR from TCB. */

+            "	ldr  r3, xRBARConst2							\n"/* r3 = 0xe000ed9c [Location of RBAR]. */

+            "	stmia r3!, {r5,r6}								\n"/* Write third set of RBAR/RLAR registers. */

+            "	movs r4, #7										\n"/* r4 = 7. */

+            "	str  r4, [r2]									\n"/* Program RNR = 7. */

+            "	ldmia r1!, {r5,r6}								\n"/* Read fourth set of RBAR/RLAR from TCB. */

+            "	ldr  r3, xRBARConst2							\n"/* r3 = 0xe000ed9c [Location of RBAR]. */

+            "	stmia r3!, {r5,r6}								\n"/* Write fourth set of RBAR/RLAR registers. */

+            "													\n"

+            "	ldr r2, xMPUCTRLConst2							\n"/* r2 = 0xe000ed94 [Location of MPU_CTRL]. */

+            "	ldr r3, [r2]									\n"/* Read the value of MPU_CTRL. */

+            "	movs r4, #1										\n"/* r4 = 1. */

+            "	orrs r3, r4										\n"/* r3 = r3 | r4 i.e. Set the bit 0 in r3. */

+            "	str r3, [r2]									\n"/* Enable MPU. */

+            "	dsb												\n"/* Force memory writes before continuing. */

+        #endif /* configENABLE_MPU */

+        "													\n"

+        #if ( configENABLE_MPU == 1 )

+            "	ldm  r0!, {r1-r3}								\n"/* Read from stack - r1 = PSPLIM, r2 = CONTROL and r3 = EXC_RETURN. */

+            "	msr  psplim, r1									\n"/* Set this task's PSPLIM value. */

+            "	msr  control, r2								\n"/* Set this task's CONTROL value. */

+            "	adds r0, #32									\n"/* Discard everything up to r0. */

+            "	msr  psp, r0									\n"/* This is now the new top of stack to use in the task. */

+            "	isb												\n"

+            "	bx   r3											\n"/* Finally, branch to EXC_RETURN. */

+        #else /* configENABLE_MPU */

+            "	ldm  r0!, {r1-r2}								\n"/* Read from stack - r1 = PSPLIM and r2 = EXC_RETURN. */

+            "	msr  psplim, r1									\n"/* Set this task's PSPLIM value. */

+            "	movs r1, #2										\n"/* r1 = 2. */

+            "	msr  CONTROL, r1								\n"/* Switch to use PSP in the thread mode. */

+            "	adds r0, #32									\n"/* Discard everything up to r0. */

+            "	msr  psp, r0									\n"/* This is now the new top of stack to use in the task. */

+            "	isb												\n"

+            "	bx   r2											\n"/* Finally, branch to EXC_RETURN. */

+        #endif /* configENABLE_MPU */

+        "													\n"

+        "	.align 4										\n"

+        "pxCurrentTCBConst2: .word pxCurrentTCB				\n"

+        #if ( configENABLE_MPU == 1 )

+            "xMPUCTRLConst2: .word 0xe000ed94					\n"

+            "xMAIR0Const2: .word 0xe000edc0						\n"

+            "xRNRConst2: .word 0xe000ed98						\n"

+            "xRBARConst2: .word 0xe000ed9c						\n"

+        #endif /* configENABLE_MPU */

+    );

 }

 /*-----------------------------------------------------------*/

 

 BaseType_t xIsPrivileged( void ) /* __attribute__ (( naked )) */

 {

-	__asm volatile

-	(

-	"	mrs r0, control									\n" /* r0 = CONTROL. */

-	"	movs r1, #1										\n" /* r1 = 1. */

-	"	tst r0, r1										\n" /* Perform r0 & r1 (bitwise AND) and update the conditions flag. */

-	"	beq running_privileged							\n" /* If the result of previous AND operation was 0, branch. */

-	"	movs r0, #0										\n" /* CONTROL[0]!=0. Return false to indicate that the processor is not privileged. */

-	"	bx lr											\n" /* Return. */

-	" running_privileged:								\n"

-	"	movs r0, #1										\n" /* CONTROL[0]==0. Return true to indicate that the processor is privileged. */

-	"	bx lr											\n" /* Return. */

-	"													\n"

-	"	.align 4										\n"

-	::: "r0", "r1", "memory"

-	);

+    __asm volatile

+    (

+        "	mrs r0, control									\n"/* r0 = CONTROL. */

+        "	movs r1, #1										\n"/* r1 = 1. */

+        "	tst r0, r1										\n"/* Perform r0 & r1 (bitwise AND) and update the conditions flag. */

+        "	beq running_privileged							\n"/* If the result of previous AND operation was 0, branch. */

+        "	movs r0, #0										\n"/* CONTROL[0]!=0. Return false to indicate that the processor is not privileged. */

+        "	bx lr											\n"/* Return. */

+        " running_privileged:								\n"

+        "	movs r0, #1										\n"/* CONTROL[0]==0. Return true to indicate that the processor is privileged. */

+        "	bx lr											\n"/* Return. */

+        "													\n"

+        "	.align 4										\n"

+        ::: "r0", "r1", "memory"

+    );

 }

 /*-----------------------------------------------------------*/

 

 void vRaisePrivilege( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */

 {

-	 __asm volatile

-	(

-	"	mrs  r0, control								\n" /* Read the CONTROL register. */

-	"	movs r1, #1										\n" /* r1 = 1. */

-	"	bics r0, r1										\n" /* Clear the bit 0. */

-	"	msr  control, r0								\n" /* Write back the new CONTROL value. */

-	"	bx lr											\n" /* Return to the caller. */

-	::: "r0", "r1", "memory"

-	);

+    __asm volatile

+    (

+        "	mrs  r0, control								\n"/* Read the CONTROL register. */

+        "	movs r1, #1										\n"/* r1 = 1. */

+        "	bics r0, r1										\n"/* Clear the bit 0. */

+        "	msr  control, r0								\n"/* Write back the new CONTROL value. */

+        "	bx lr											\n"/* Return to the caller. */

+        ::: "r0", "r1", "memory"

+    );

 }

 /*-----------------------------------------------------------*/

 

 void vResetPrivilege( void ) /* __attribute__ (( naked )) */

 {

-	__asm volatile

-	(

-	"	mrs r0, control									\n" /* r0 = CONTROL. */

-	"	movs r1, #1										\n" /* r1 = 1. */

-	"	orrs r0, r1										\n" /* r0 = r0 | r1. */

-	"	msr control, r0									\n" /* CONTROL = r0. */

-	"	bx lr											\n" /* Return to the caller. */

-	:::"r0", "r1", "memory"

-	);

+    __asm volatile

+    (

+        "	mrs r0, control									\n"/* r0 = CONTROL. */

+        "	movs r1, #1										\n"/* r1 = 1. */

+        "	orrs r0, r1										\n"/* r0 = r0 | r1. */

+        "	msr control, r0									\n"/* CONTROL = r0. */

+        "	bx lr											\n"/* Return to the caller. */

+        ::: "r0", "r1", "memory"

+    );

 }

 /*-----------------------------------------------------------*/

 

 void vStartFirstTask( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */

 {

-	__asm volatile

-	(

-	"	ldr r0, xVTORConst								\n" /* Use the NVIC offset register to locate the stack. */

-	"	ldr r0, [r0]									\n" /* Read the VTOR register which gives the address of vector table. */

-	"	ldr r0, [r0]									\n" /* The first entry in vector table is stack pointer. */

-	"	msr msp, r0										\n" /* Set the MSP back to the start of the stack. */

-	"	cpsie i											\n" /* Globally enable interrupts. */

-	"	dsb												\n"

-	"	isb												\n"

-	"	svc %0											\n" /* System call to start the first task. */

-	"	nop												\n"

-	"													\n"

-	"   .align 4										\n"

-	"xVTORConst: .word 0xe000ed08						\n"

-	:: "i" ( portSVC_START_SCHEDULER ) : "memory"

-	);

+    __asm volatile

+    (

+        "	ldr r0, xVTORConst								\n"/* Use the NVIC offset register to locate the stack. */

+        "	ldr r0, [r0]									\n"/* Read the VTOR register which gives the address of vector table. */

+        "	ldr r0, [r0]									\n"/* The first entry in vector table is stack pointer. */

+        "	msr msp, r0										\n"/* Set the MSP back to the start of the stack. */

+        "	cpsie i											\n"/* Globally enable interrupts. */

+        "	dsb												\n"

+        "	isb												\n"

+        "	svc %0											\n"/* System call to start the first task. */

+        "	nop												\n"

+        "													\n"

+        "   .align 4										\n"

+        "xVTORConst: .word 0xe000ed08						\n"

+        ::"i" ( portSVC_START_SCHEDULER ) : "memory"

+    );

 }

 /*-----------------------------------------------------------*/

 

 uint32_t ulSetInterruptMask( void ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */

 {

-	__asm volatile

-	(

-	"	mrs r0, PRIMASK									\n"

-	"	cpsid i											\n"

-	"	bx lr											\n"

-	::: "memory"

-	);

+    __asm volatile

+    (

+        "	mrs r0, PRIMASK									\n"

+        "	cpsid i											\n"

+        "	bx lr											\n"

+        ::: "memory"

+    );

 }

 /*-----------------------------------------------------------*/

 

 void vClearInterruptMask( __attribute__( ( unused ) ) uint32_t ulMask ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */

 {

-	__asm volatile

-	(

-	"	msr PRIMASK, r0									\n"

-	"	bx lr											\n"

-	::: "memory"

-	);

+    __asm volatile

+    (

+        "	msr PRIMASK, r0									\n"

+        "	bx lr											\n"

+        ::: "memory"

+    );

 }

 /*-----------------------------------------------------------*/

 

 void PendSV_Handler( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */

 {

-	__asm volatile

-	(

-	"	.syntax unified									\n"

-	"													\n"

-	"	mrs r0, psp										\n" /* Read PSP in r0. */

-	"	ldr r2, pxCurrentTCBConst						\n" /* Read the location of pxCurrentTCB i.e. &( pxCurrentTCB ). */

-	"	ldr r1, [r2]									\n" /* Read pxCurrentTCB. */

-	#if( configENABLE_MPU == 1 )

-	"	subs r0, r0, #44								\n" /* Make space for PSPLIM, CONTROL, LR and the remaining registers on the stack. */

-	"	str r0, [r1]									\n" /* Save the new top of stack in TCB. */

-	"	mrs r1, psplim									\n" /* r1 = PSPLIM. */

-	"	mrs r2, control									\n" /* r2 = CONTROL. */

-	"	mov r3, lr										\n" /* r3 = LR/EXC_RETURN. */

-	"	stmia r0!, {r1-r7}								\n" /* Store on the stack - PSPLIM, CONTROL, LR and low registers that are not automatically saved. */

-	"	mov r4, r8										\n" /* r4 = r8. */

-	"	mov r5, r9										\n" /* r5 = r9. */

-	"	mov r6, r10										\n" /* r6 = r10. */

-	"	mov r7, r11										\n" /* r7 = r11. */

-	"	stmia r0!, {r4-r7}								\n" /* Store the high registers that are not saved automatically. */

-	#else /* configENABLE_MPU */

-	"	subs r0, r0, #40								\n" /* Make space for PSPLIM, LR and the remaining registers on the stack. */

-	"	str r0, [r1]									\n" /* Save the new top of stack in TCB. */

-	"	mrs r2, psplim									\n" /* r2 = PSPLIM. */

-	"	mov r3, lr										\n" /* r3 = LR/EXC_RETURN. */

-	"	stmia r0!, {r2-r7}								\n" /* Store on the stack - PSPLIM, LR and low registers that are not automatically saved. */

-	"	mov r4, r8										\n" /* r4 = r8. */

-	"	mov r5, r9										\n" /* r5 = r9. */

-	"	mov r6, r10										\n" /* r6 = r10. */

-	"	mov r7, r11										\n" /* r7 = r11. */

-	"	stmia r0!, {r4-r7}								\n" /* Store the high registers that are not saved automatically. */

-	#endif /* configENABLE_MPU */

-	"													\n"

-	"	cpsid i											\n"

-	"	bl vTaskSwitchContext							\n"

-	"	cpsie i											\n"

-	"													\n"

-	"	ldr r2, pxCurrentTCBConst						\n" /* Read the location of pxCurrentTCB i.e. &( pxCurrentTCB ). */

-	"	ldr r1, [r2]									\n" /* Read pxCurrentTCB. */

-	"	ldr r0, [r1]									\n" /* The first item in pxCurrentTCB is the task top of stack. r0 now points to the top of stack. */

-	"													\n"

-	#if( configENABLE_MPU == 1 )

-	"	dmb												\n" /* Complete outstanding transfers before disabling MPU. */

-	"	ldr r2, xMPUCTRLConst							\n" /* r2 = 0xe000ed94 [Location of MPU_CTRL]. */

-	"	ldr r3, [r2]									\n" /* Read the value of MPU_CTRL. */

-	"	movs r4, #1										\n" /* r4 = 1. */

-	"	bics r3, r4										\n" /* r3 = r3 & ~r4 i.e. Clear the bit 0 in r3. */

-	"	str r3, [r2]									\n" /* Disable MPU. */

-	"													\n"

-	"	adds r1, #4										\n" /* r1 = r1 + 4. r1 now points to MAIR0 in TCB. */

-	"	ldr  r4, [r1]									\n" /* r4 = *r1 i.e. r4 = MAIR0. */

-	"	ldr  r2, xMAIR0Const							\n" /* r2 = 0xe000edc0 [Location of MAIR0]. */

-	"	str  r4, [r2]									\n" /* Program MAIR0. */

-	"	ldr  r2, xRNRConst								\n" /* r2 = 0xe000ed98 [Location of RNR]. */

-	"	adds r1, #4										\n" /* r1 = r1 + 4. r1 now points to first RBAR in TCB. */

-	"	movs r4, #4										\n" /* r4 = 4. */

-	"	str  r4, [r2]									\n" /* Program RNR = 4. */

-	"	ldmia r1!, {r5,r6}								\n" /* Read first set of RBAR/RLAR from TCB. */

-	"	ldr  r3, xRBARConst								\n" /* r3 = 0xe000ed9c [Location of RBAR]. */

-	"	stmia r3!, {r5,r6}								\n" /* Write first set of RBAR/RLAR registers. */

-	"	movs r4, #5										\n" /* r4 = 5. */

-	"	str  r4, [r2]									\n" /* Program RNR = 5. */

-	"	ldmia r1!, {r5,r6}								\n" /* Read second set of RBAR/RLAR from TCB. */

-	"	ldr  r3, xRBARConst								\n" /* r3 = 0xe000ed9c [Location of RBAR]. */

-	"	stmia r3!, {r5,r6}								\n" /* Write second set of RBAR/RLAR registers. */

-	"	movs r4, #6										\n" /* r4 = 6. */

-	"	str  r4, [r2]									\n" /* Program RNR = 6. */

-	"	ldmia r1!, {r5,r6}								\n" /* Read third set of RBAR/RLAR from TCB. */

-	"	ldr  r3, xRBARConst								\n" /* r3 = 0xe000ed9c [Location of RBAR]. */

-	"	stmia r3!, {r5,r6}								\n" /* Write third set of RBAR/RLAR registers. */

-	"	movs r4, #7										\n" /* r4 = 7. */

-	"	str  r4, [r2]									\n" /* Program RNR = 7. */

-	"	ldmia r1!, {r5,r6}								\n" /* Read fourth set of RBAR/RLAR from TCB. */

-	"	ldr  r3, xRBARConst								\n" /* r3 = 0xe000ed9c [Location of RBAR]. */

-	"	stmia r3!, {r5,r6}								\n" /* Write fourth set of RBAR/RLAR registers. */

-	"													\n"

-	"	ldr r2, xMPUCTRLConst							\n" /* r2 = 0xe000ed94 [Location of MPU_CTRL]. */

-	"	ldr r3, [r2]									\n" /* Read the value of MPU_CTRL. */

-	"	movs r4, #1										\n" /* r4 = 1. */

-	"	orrs r3, r4										\n" /* r3 = r3 | r4 i.e. Set the bit 0 in r3. */

-	"	str r3, [r2]									\n" /* Enable MPU. */

-	"	dsb												\n" /* Force memory writes before continuing. */

-	#endif /* configENABLE_MPU */

-	"													\n"

-	#if( configENABLE_MPU == 1 )

-	"	adds r0, r0, #28								\n" /* Move to the high registers. */

-	"	ldmia r0!, {r4-r7}								\n" /* Restore the high registers that are not automatically restored. */

-	"	mov r8, r4										\n" /* r8 = r4. */

-	"	mov r9, r5										\n" /* r9 = r5. */

-	"	mov r10, r6										\n" /* r10 = r6. */

-	"	mov r11, r7										\n" /* r11 = r7. */

-	"	msr psp, r0										\n" /* Remember the new top of stack for the task. */

-	"	subs r0, r0, #44								\n" /* Move to the starting of the saved context. */

-	"	ldmia r0!, {r1-r7}								\n" /* Read from stack - r1 = PSPLIM, r2 = CONTROL, r3 = LR and r4-r7 restored. */

-	"	msr psplim, r1									\n" /* Restore the PSPLIM register value for the task. */

-	"	msr control, r2									\n" /* Restore the CONTROL register value for the task. */

-	"	bx r3											\n"

-	#else /* configENABLE_MPU */

-	"	adds r0, r0, #24								\n" /* Move to the high registers. */

-	"	ldmia r0!, {r4-r7}								\n" /* Restore the high registers that are not automatically restored. */

-	"	mov r8, r4										\n" /* r8 = r4. */

-	"	mov r9, r5										\n" /* r9 = r5. */

-	"	mov r10, r6										\n" /* r10 = r6. */

-	"	mov r11, r7										\n" /* r11 = r7. */

-	"	msr psp, r0										\n" /* Remember the new top of stack for the task. */

-	"	subs r0, r0, #40								\n" /* Move to the starting of the saved context. */

-	"	ldmia r0!, {r2-r7}								\n" /* Read from stack - r2 = PSPLIM, r3 = LR and r4-r7 restored. */

-	"	msr psplim, r2									\n" /* Restore the PSPLIM register value for the task. */

-	"	bx r3											\n"

-	#endif /* configENABLE_MPU */

-	"													\n"

-	"	.align 4										\n"

-	"pxCurrentTCBConst: .word pxCurrentTCB				\n"

-	#if( configENABLE_MPU == 1 )

-	"xMPUCTRLConst: .word 0xe000ed94					\n"

-	"xMAIR0Const: .word 0xe000edc0						\n"

-	"xRNRConst: .word 0xe000ed98						\n"

-	"xRBARConst: .word 0xe000ed9c						\n"

-	#endif /* configENABLE_MPU */

-	);

+    __asm volatile

+    (

+        "	.syntax unified									\n"

+        "													\n"

+        "	mrs r0, psp										\n"/* Read PSP in r0. */

+        "	ldr r2, pxCurrentTCBConst						\n"/* Read the location of pxCurrentTCB i.e. &( pxCurrentTCB ). */

+        "	ldr r1, [r2]									\n"/* Read pxCurrentTCB. */

+        #if ( configENABLE_MPU == 1 )

+            "	subs r0, r0, #44								\n"/* Make space for PSPLIM, CONTROL, LR and the remaining registers on the stack. */

+            "	str r0, [r1]									\n"/* Save the new top of stack in TCB. */

+            "	mrs r1, psplim									\n"/* r1 = PSPLIM. */

+            "	mrs r2, control									\n"/* r2 = CONTROL. */

+            "	mov r3, lr										\n"/* r3 = LR/EXC_RETURN. */

+            "	stmia r0!, {r1-r7}								\n"/* Store on the stack - PSPLIM, CONTROL, LR and low registers that are not automatically saved. */

+            "	mov r4, r8										\n"/* r4 = r8. */

+            "	mov r5, r9										\n"/* r5 = r9. */

+            "	mov r6, r10										\n"/* r6 = r10. */

+            "	mov r7, r11										\n"/* r7 = r11. */

+            "	stmia r0!, {r4-r7}								\n"/* Store the high registers that are not saved automatically. */

+        #else /* configENABLE_MPU */

+            "	subs r0, r0, #40								\n"/* Make space for PSPLIM, LR and the remaining registers on the stack. */

+            "	str r0, [r1]									\n"/* Save the new top of stack in TCB. */

+            "	mrs r2, psplim									\n"/* r2 = PSPLIM. */

+            "	mov r3, lr										\n"/* r3 = LR/EXC_RETURN. */

+            "	stmia r0!, {r2-r7}								\n"/* Store on the stack - PSPLIM, LR and low registers that are not automatically saved. */

+            "	mov r4, r8										\n"/* r4 = r8. */

+            "	mov r5, r9										\n"/* r5 = r9. */

+            "	mov r6, r10										\n"/* r6 = r10. */

+            "	mov r7, r11										\n"/* r7 = r11. */

+            "	stmia r0!, {r4-r7}								\n"/* Store the high registers that are not saved automatically. */

+        #endif /* configENABLE_MPU */

+        "													\n"

+        "	cpsid i											\n"

+        "	bl vTaskSwitchContext							\n"

+        "	cpsie i											\n"

+        "													\n"

+        "	ldr r2, pxCurrentTCBConst						\n"/* Read the location of pxCurrentTCB i.e. &( pxCurrentTCB ). */

+        "	ldr r1, [r2]									\n"/* Read pxCurrentTCB. */

+        "	ldr r0, [r1]									\n"/* The first item in pxCurrentTCB is the task top of stack. r0 now points to the top of stack. */

+        "													\n"

+        #if ( configENABLE_MPU == 1 )

+            "	dmb												\n"/* Complete outstanding transfers before disabling MPU. */

+            "	ldr r2, xMPUCTRLConst							\n"/* r2 = 0xe000ed94 [Location of MPU_CTRL]. */

+            "	ldr r3, [r2]									\n"/* Read the value of MPU_CTRL. */

+            "	movs r4, #1										\n"/* r4 = 1. */

+            "	bics r3, r4										\n"/* r3 = r3 & ~r4 i.e. Clear the bit 0 in r3. */

+            "	str r3, [r2]									\n"/* Disable MPU. */

+            "													\n"

+            "	adds r1, #4										\n"/* r1 = r1 + 4. r1 now points to MAIR0 in TCB. */

+            "	ldr  r4, [r1]									\n"/* r4 = *r1 i.e. r4 = MAIR0. */

+            "	ldr  r2, xMAIR0Const							\n"/* r2 = 0xe000edc0 [Location of MAIR0]. */

+            "	str  r4, [r2]									\n"/* Program MAIR0. */

+            "	ldr  r2, xRNRConst								\n"/* r2 = 0xe000ed98 [Location of RNR]. */

+            "	adds r1, #4										\n"/* r1 = r1 + 4. r1 now points to first RBAR in TCB. */

+            "	movs r4, #4										\n"/* r4 = 4. */

+            "	str  r4, [r2]									\n"/* Program RNR = 4. */

+            "	ldmia r1!, {r5,r6}								\n"/* Read first set of RBAR/RLAR from TCB. */

+            "	ldr  r3, xRBARConst								\n"/* r3 = 0xe000ed9c [Location of RBAR]. */

+            "	stmia r3!, {r5,r6}								\n"/* Write first set of RBAR/RLAR registers. */

+            "	movs r4, #5										\n"/* r4 = 5. */

+            "	str  r4, [r2]									\n"/* Program RNR = 5. */

+            "	ldmia r1!, {r5,r6}								\n"/* Read second set of RBAR/RLAR from TCB. */

+            "	ldr  r3, xRBARConst								\n"/* r3 = 0xe000ed9c [Location of RBAR]. */

+            "	stmia r3!, {r5,r6}								\n"/* Write second set of RBAR/RLAR registers. */

+            "	movs r4, #6										\n"/* r4 = 6. */

+            "	str  r4, [r2]									\n"/* Program RNR = 6. */

+            "	ldmia r1!, {r5,r6}								\n"/* Read third set of RBAR/RLAR from TCB. */

+            "	ldr  r3, xRBARConst								\n"/* r3 = 0xe000ed9c [Location of RBAR]. */

+            "	stmia r3!, {r5,r6}								\n"/* Write third set of RBAR/RLAR registers. */

+            "	movs r4, #7										\n"/* r4 = 7. */

+            "	str  r4, [r2]									\n"/* Program RNR = 7. */

+            "	ldmia r1!, {r5,r6}								\n"/* Read fourth set of RBAR/RLAR from TCB. */

+            "	ldr  r3, xRBARConst								\n"/* r3 = 0xe000ed9c [Location of RBAR]. */

+            "	stmia r3!, {r5,r6}								\n"/* Write fourth set of RBAR/RLAR registers. */

+            "													\n"

+            "	ldr r2, xMPUCTRLConst							\n"/* r2 = 0xe000ed94 [Location of MPU_CTRL]. */

+            "	ldr r3, [r2]									\n"/* Read the value of MPU_CTRL. */

+            "	movs r4, #1										\n"/* r4 = 1. */

+            "	orrs r3, r4										\n"/* r3 = r3 | r4 i.e. Set the bit 0 in r3. */

+            "	str r3, [r2]									\n"/* Enable MPU. */

+            "	dsb												\n"/* Force memory writes before continuing. */

+        #endif /* configENABLE_MPU */

+        "													\n"

+        #if ( configENABLE_MPU == 1 )

+            "	adds r0, r0, #28								\n"/* Move to the high registers. */

+            "	ldmia r0!, {r4-r7}								\n"/* Restore the high registers that are not automatically restored. */

+            "	mov r8, r4										\n"/* r8 = r4. */

+            "	mov r9, r5										\n"/* r9 = r5. */

+            "	mov r10, r6										\n"/* r10 = r6. */

+            "	mov r11, r7										\n"/* r11 = r7. */

+            "	msr psp, r0										\n"/* Remember the new top of stack for the task. */

+            "	subs r0, r0, #44								\n"/* Move to the starting of the saved context. */

+            "	ldmia r0!, {r1-r7}								\n"/* Read from stack - r1 = PSPLIM, r2 = CONTROL, r3 = LR and r4-r7 restored. */

+            "	msr psplim, r1									\n"/* Restore the PSPLIM register value for the task. */

+            "	msr control, r2									\n"/* Restore the CONTROL register value for the task. */

+            "	bx r3											\n"

+        #else /* configENABLE_MPU */

+            "	adds r0, r0, #24								\n"/* Move to the high registers. */

+            "	ldmia r0!, {r4-r7}								\n"/* Restore the high registers that are not automatically restored. */

+            "	mov r8, r4										\n"/* r8 = r4. */

+            "	mov r9, r5										\n"/* r9 = r5. */

+            "	mov r10, r6										\n"/* r10 = r6. */

+            "	mov r11, r7										\n"/* r11 = r7. */

+            "	msr psp, r0										\n"/* Remember the new top of stack for the task. */

+            "	subs r0, r0, #40								\n"/* Move to the starting of the saved context. */

+            "	ldmia r0!, {r2-r7}								\n"/* Read from stack - r2 = PSPLIM, r3 = LR and r4-r7 restored. */

+            "	msr psplim, r2									\n"/* Restore the PSPLIM register value for the task. */

+            "	bx r3											\n"

+        #endif /* configENABLE_MPU */

+        "													\n"

+        "	.align 4										\n"

+        "pxCurrentTCBConst: .word pxCurrentTCB				\n"

+        #if ( configENABLE_MPU == 1 )

+            "xMPUCTRLConst: .word 0xe000ed94					\n"

+            "xMAIR0Const: .word 0xe000edc0						\n"

+            "xRNRConst: .word 0xe000ed98						\n"

+            "xRBARConst: .word 0xe000ed9c						\n"

+        #endif /* configENABLE_MPU */

+    );

 }

 /*-----------------------------------------------------------*/

 

 void SVC_Handler( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */

 {

-	__asm volatile

-	(

-	"	movs r0, #4										\n"

-	"	mov r1, lr										\n"

-	"	tst r0, r1										\n"

-	"	beq stacking_used_msp							\n"

-	"	mrs r0, psp										\n"

-	"	ldr r2, svchandler_address_const				\n"

-	"	bx r2											\n"

-	" stacking_used_msp:								\n"

-	"	mrs r0, msp										\n"

-	"	ldr r2, svchandler_address_const				\n"

-	"	bx r2											\n"

-	"													\n"

-	"	.align 4										\n"

-	"svchandler_address_const: .word vPortSVCHandler_C	\n"

-	);

+    __asm volatile

+    (

+        "	movs r0, #4										\n"

+        "	mov r1, lr										\n"

+        "	tst r0, r1										\n"

+        "	beq stacking_used_msp							\n"

+        "	mrs r0, psp										\n"

+        "	ldr r2, svchandler_address_const				\n"

+        "	bx r2											\n"

+        " stacking_used_msp:								\n"

+        "	mrs r0, msp										\n"

+        "	ldr r2, svchandler_address_const				\n"

+        "	bx r2											\n"

+        "													\n"

+        "	.align 4										\n"

+        "svchandler_address_const: .word vPortSVCHandler_C	\n"

+    );

 }

 /*-----------------------------------------------------------*/

diff --git a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23_NTZ/portmacro.h b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23_NTZ/portmacro.h
index 03548d5..060f91a 100644
--- a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23_NTZ/portmacro.h
+++ b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23_NTZ/portmacro.h
@@ -25,11 +25,11 @@
  */

 

 #ifndef PORTMACRO_H

-#define PORTMACRO_H

+    #define PORTMACRO_H

 

-#ifdef __cplusplus

-extern "C" {

-#endif

+    #ifdef __cplusplus

+        extern "C" {

+    #endif

 

 /*------------------------------------------------------------------------------

  * Port specific definitions.

@@ -41,109 +41,109 @@
  *------------------------------------------------------------------------------

  */

 

-#ifndef configENABLE_FPU

-	#error configENABLE_FPU must be defined in FreeRTOSConfig.h.  Set configENABLE_FPU to 1 to enable the FPU or 0 to disable the FPU.

-#endif /* configENABLE_FPU */

+    #ifndef configENABLE_FPU

+        #error configENABLE_FPU must be defined in FreeRTOSConfig.h.  Set configENABLE_FPU to 1 to enable the FPU or 0 to disable the FPU.

+    #endif /* configENABLE_FPU */

 

-#ifndef configENABLE_MPU

-	#error configENABLE_MPU must be defined in FreeRTOSConfig.h.  Set configENABLE_MPU to 1 to enable the MPU or 0 to disable the MPU.

-#endif /* configENABLE_MPU */

+    #ifndef configENABLE_MPU

+        #error configENABLE_MPU must be defined in FreeRTOSConfig.h.  Set configENABLE_MPU to 1 to enable the MPU or 0 to disable the MPU.

+    #endif /* configENABLE_MPU */

 

-#ifndef configENABLE_TRUSTZONE

-	#error configENABLE_TRUSTZONE must be defined in FreeRTOSConfig.h.  Set configENABLE_TRUSTZONE to 1 to enable TrustZone or 0 to disable TrustZone.

-#endif /* configENABLE_TRUSTZONE */

+    #ifndef configENABLE_TRUSTZONE

+        #error configENABLE_TRUSTZONE must be defined in FreeRTOSConfig.h.  Set configENABLE_TRUSTZONE to 1 to enable TrustZone or 0 to disable TrustZone.

+    #endif /* configENABLE_TRUSTZONE */

 

 /*-----------------------------------------------------------*/

 

 /**

  * @brief 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

+    #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;

+    typedef portSTACK_TYPE   StackType_t;

+    typedef long             BaseType_t;

+    typedef unsigned long    UBaseType_t;

 

-#if( configUSE_16_BIT_TICKS == 1 )

-	typedef uint16_t TickType_t;

-	#define portMAX_DELAY ( TickType_t )					0xffff

-#else

-	typedef uint32_t TickType_t;

-	#define portMAX_DELAY ( TickType_t )					0xffffffffUL

+    #if ( configUSE_16_BIT_TICKS == 1 )

+        typedef uint16_t     TickType_t;

+        #define portMAX_DELAY              ( TickType_t ) 0xffff

+    #else

+        typedef uint32_t     TickType_t;

+        #define portMAX_DELAY              ( TickType_t ) 0xffffffffUL

 

-	/* 32-bit tick type on a 32-bit architecture, so reads of the tick count do

-	 * not need to be guarded with a critical section. */

-	#define portTICK_TYPE_IS_ATOMIC							1

-#endif

+/* 32-bit tick type on a 32-bit architecture, so reads of the tick count do

+ * not need to be guarded with a critical section. */

+        #define portTICK_TYPE_IS_ATOMIC    1

+    #endif

 /*-----------------------------------------------------------*/

 

 /**

  * Architecture specifics.

  */

-#define portARCH_NAME										"Cortex-M23"

-#define portSTACK_GROWTH									( -1 )

-#define portTICK_PERIOD_MS									( ( TickType_t ) 1000 / configTICK_RATE_HZ )

-#define portBYTE_ALIGNMENT									8

-#define portNOP()

-#define portINLINE											__inline

-#ifndef portFORCE_INLINE

-	#define portFORCE_INLINE								inline __attribute__(( always_inline ))

-#endif

-#define portHAS_STACK_OVERFLOW_CHECKING						1

-#define portDONT_DISCARD									__attribute__(( used ))

+    #define portARCH_NAME                      "Cortex-M23"

+    #define portSTACK_GROWTH                   ( -1 )

+    #define portTICK_PERIOD_MS                 ( ( TickType_t ) 1000 / configTICK_RATE_HZ )

+    #define portBYTE_ALIGNMENT                 8

+    #define portNOP()

+    #define portINLINE                         __inline

+    #ifndef portFORCE_INLINE

+        #define portFORCE_INLINE               inline __attribute__( ( always_inline ) )

+    #endif

+    #define portHAS_STACK_OVERFLOW_CHECKING    1

+    #define portDONT_DISCARD                   __attribute__( ( used ) )

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Extern declarations.

  */

-extern BaseType_t xPortIsInsideInterrupt( void );

+    extern BaseType_t xPortIsInsideInterrupt( void );

 

-extern void vPortYield( void ) /* PRIVILEGED_FUNCTION */;

+    extern void vPortYield( void ) /* PRIVILEGED_FUNCTION */;

 

-extern void vPortEnterCritical( void ) /* PRIVILEGED_FUNCTION */;

-extern void vPortExitCritical( void ) /* PRIVILEGED_FUNCTION */;

+    extern void vPortEnterCritical( void ) /* PRIVILEGED_FUNCTION */;

+    extern void vPortExitCritical( void ) /* PRIVILEGED_FUNCTION */;

 

-extern uint32_t ulSetInterruptMask( void ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;

-extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;

+    extern uint32_t ulSetInterruptMask( void ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;

+    extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;

 

-#if( configENABLE_TRUSTZONE == 1 )

-	extern void vPortAllocateSecureContext( uint32_t ulSecureStackSize ); /* __attribute__ (( naked )) */

-	extern void vPortFreeSecureContext( uint32_t *pulTCB ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */;

-#endif /* configENABLE_TRUSTZONE */

+    #if ( configENABLE_TRUSTZONE == 1 )

+        extern void vPortAllocateSecureContext( uint32_t ulSecureStackSize ); /* __attribute__ (( naked )) */

+        extern void vPortFreeSecureContext( uint32_t * pulTCB ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */;

+    #endif /* configENABLE_TRUSTZONE */

 

-#if( configENABLE_MPU == 1 )

-	extern BaseType_t xIsPrivileged( void ) /* __attribute__ (( naked )) */;

-	extern void vResetPrivilege( void ) /* __attribute__ (( naked )) */;

-#endif /* configENABLE_MPU */

+    #if ( configENABLE_MPU == 1 )

+        extern BaseType_t xIsPrivileged( void ) /* __attribute__ (( naked )) */;

+        extern void vResetPrivilege( void ) /* __attribute__ (( naked )) */;

+    #endif /* configENABLE_MPU */

 /*-----------------------------------------------------------*/

 

 /**

  * @brief MPU specific constants.

  */

-#if( configENABLE_MPU == 1 )

-	#define portUSING_MPU_WRAPPERS							1

-	#define portPRIVILEGE_BIT								( 0x80000000UL )

-#else

-	#define portPRIVILEGE_BIT								( 0x0UL )

-#endif /* configENABLE_MPU */

+    #if ( configENABLE_MPU == 1 )

+        #define portUSING_MPU_WRAPPERS    1

+        #define portPRIVILEGE_BIT         ( 0x80000000UL )

+    #else

+        #define portPRIVILEGE_BIT         ( 0x0UL )

+    #endif /* configENABLE_MPU */

 

 

 /* MPU regions. */

-#define portPRIVILEGED_FLASH_REGION							( 0UL )

-#define portUNPRIVILEGED_FLASH_REGION						( 1UL )

-#define portUNPRIVILEGED_SYSCALLS_REGION					( 2UL )

-#define portPRIVILEGED_RAM_REGION							( 3UL )

-#define portSTACK_REGION									( 4UL )

-#define portFIRST_CONFIGURABLE_REGION						( 5UL )

-#define portLAST_CONFIGURABLE_REGION						( 7UL )

-#define portNUM_CONFIGURABLE_REGIONS						( ( portLAST_CONFIGURABLE_REGION - portFIRST_CONFIGURABLE_REGION ) + 1 )

-#define portTOTAL_NUM_REGIONS								( portNUM_CONFIGURABLE_REGIONS + 1 ) /* Plus one to make space for the stack region. */

+    #define portPRIVILEGED_FLASH_REGION                   ( 0UL )

+    #define portUNPRIVILEGED_FLASH_REGION                 ( 1UL )

+    #define portUNPRIVILEGED_SYSCALLS_REGION              ( 2UL )

+    #define portPRIVILEGED_RAM_REGION                     ( 3UL )

+    #define portSTACK_REGION                              ( 4UL )

+    #define portFIRST_CONFIGURABLE_REGION                 ( 5UL )

+    #define portLAST_CONFIGURABLE_REGION                  ( 7UL )

+    #define portNUM_CONFIGURABLE_REGIONS                  ( ( portLAST_CONFIGURABLE_REGION - portFIRST_CONFIGURABLE_REGION ) + 1 )

+    #define portTOTAL_NUM_REGIONS                         ( portNUM_CONFIGURABLE_REGIONS + 1 )   /* Plus one to make space for the stack region. */

 

 /* Device memory attributes used in MPU_MAIR registers.

  *

@@ -155,155 +155,157 @@
  *				11 --> Device-GRE

  *  Bit[1:0] - 00, Reserved.

  */

-#define portMPU_DEVICE_MEMORY_nGnRnE						( 0x00 ) /* 0000 0000 */

-#define portMPU_DEVICE_MEMORY_nGnRE							( 0x04 ) /* 0000 0100 */

-#define portMPU_DEVICE_MEMORY_nGRE							( 0x08 ) /* 0000 1000 */

-#define portMPU_DEVICE_MEMORY_GRE							( 0x0C ) /* 0000 1100 */

+    #define portMPU_DEVICE_MEMORY_nGnRnE                  ( 0x00 )   /* 0000 0000 */

+    #define portMPU_DEVICE_MEMORY_nGnRE                   ( 0x04 )   /* 0000 0100 */

+    #define portMPU_DEVICE_MEMORY_nGRE                    ( 0x08 )   /* 0000 1000 */

+    #define portMPU_DEVICE_MEMORY_GRE                     ( 0x0C )   /* 0000 1100 */

 

 /* Normal memory attributes used in MPU_MAIR registers. */

-#define portMPU_NORMAL_MEMORY_NON_CACHEABLE					( 0x44 ) /* Non-cacheable. */

-#define portMPU_NORMAL_MEMORY_BUFFERABLE_CACHEABLE			( 0xFF ) /* Non-Transient, Write-back, Read-Allocate and Write-Allocate. */

+    #define portMPU_NORMAL_MEMORY_NON_CACHEABLE           ( 0x44 )   /* Non-cacheable. */

+    #define portMPU_NORMAL_MEMORY_BUFFERABLE_CACHEABLE    ( 0xFF )   /* Non-Transient, Write-back, Read-Allocate and Write-Allocate. */

 

 /* Attributes used in MPU_RBAR registers. */

-#define portMPU_REGION_NON_SHAREABLE						( 0UL << 3UL )

-#define portMPU_REGION_INNER_SHAREABLE						( 1UL << 3UL )

-#define portMPU_REGION_OUTER_SHAREABLE						( 2UL << 3UL )

+    #define portMPU_REGION_NON_SHAREABLE                  ( 0UL << 3UL )

+    #define portMPU_REGION_INNER_SHAREABLE                ( 1UL << 3UL )

+    #define portMPU_REGION_OUTER_SHAREABLE                ( 2UL << 3UL )

 

-#define portMPU_REGION_PRIVILEGED_READ_WRITE				( 0UL << 1UL )

-#define portMPU_REGION_READ_WRITE							( 1UL << 1UL )

-#define portMPU_REGION_PRIVILEGED_READ_ONLY					( 2UL << 1UL )

-#define portMPU_REGION_READ_ONLY							( 3UL << 1UL )

+    #define portMPU_REGION_PRIVILEGED_READ_WRITE          ( 0UL << 1UL )

+    #define portMPU_REGION_READ_WRITE                     ( 1UL << 1UL )

+    #define portMPU_REGION_PRIVILEGED_READ_ONLY           ( 2UL << 1UL )

+    #define portMPU_REGION_READ_ONLY                      ( 3UL << 1UL )

 

-#define portMPU_REGION_EXECUTE_NEVER						( 1UL )

+    #define portMPU_REGION_EXECUTE_NEVER                  ( 1UL )

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Settings to define an MPU region.

  */

-typedef struct MPURegionSettings

-{

-	uint32_t ulRBAR;	/**< RBAR for the region. */

-	uint32_t ulRLAR;	/**< RLAR for the region. */

-} MPURegionSettings_t;

+    typedef struct MPURegionSettings

+    {

+        uint32_t ulRBAR; /**< RBAR for the region. */

+        uint32_t ulRLAR; /**< RLAR for the region. */

+    } MPURegionSettings_t;

 

 /**

  * @brief MPU settings as stored in the TCB.

  */

-typedef struct MPU_SETTINGS

-{

-	uint32_t ulMAIR0;	/**< MAIR0 for the task containing attributes for all the 4 per task regions. */

-	MPURegionSettings_t xRegionsSettings[ portTOTAL_NUM_REGIONS ]; /**< Settings for 4 per task regions. */

-} xMPU_SETTINGS;

+    typedef struct MPU_SETTINGS

+    {

+        uint32_t ulMAIR0;                                              /**< MAIR0 for the task containing attributes for all the 4 per task regions. */

+        MPURegionSettings_t xRegionsSettings[ portTOTAL_NUM_REGIONS ]; /**< Settings for 4 per task regions. */

+    } xMPU_SETTINGS;

 /*-----------------------------------------------------------*/

 

 /**

  * @brief SVC numbers.

  */

-#define portSVC_ALLOCATE_SECURE_CONTEXT						0

-#define portSVC_FREE_SECURE_CONTEXT							1

-#define portSVC_START_SCHEDULER								2

-#define portSVC_RAISE_PRIVILEGE								3

+    #define portSVC_ALLOCATE_SECURE_CONTEXT    0

+    #define portSVC_FREE_SECURE_CONTEXT        1

+    #define portSVC_START_SCHEDULER            2

+    #define portSVC_RAISE_PRIVILEGE            3

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Scheduler utilities.

  */

-#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 portYIELD_FROM_ISR( x )								portEND_SWITCHING_ISR( x )

+    #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 portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Critical section management.

  */

-#define portSET_INTERRUPT_MASK_FROM_ISR()					ulSetInterruptMask()

-#define portCLEAR_INTERRUPT_MASK_FROM_ISR(x)				vClearInterruptMask( x )

-#define portDISABLE_INTERRUPTS()							__asm volatile ( " cpsid i " ::: "memory" )

-#define portENABLE_INTERRUPTS()								__asm volatile ( " cpsie i " ::: "memory" )

-#define portENTER_CRITICAL()								vPortEnterCritical()

-#define portEXIT_CRITICAL()									vPortExitCritical()

+    #define portSET_INTERRUPT_MASK_FROM_ISR()         ulSetInterruptMask()

+    #define portCLEAR_INTERRUPT_MASK_FROM_ISR( x )    vClearInterruptMask( x )

+    #define portDISABLE_INTERRUPTS()                  __asm volatile ( " cpsid i " ::: "memory" )

+    #define portENABLE_INTERRUPTS()                   __asm volatile ( " cpsie i " ::: "memory" )

+    #define portENTER_CRITICAL()                      vPortEnterCritical()

+    #define portEXIT_CRITICAL()                       vPortExitCritical()

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Tickless idle/low power functionality.

  */

-#ifndef portSUPPRESS_TICKS_AND_SLEEP

-	extern void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime );

-	#define portSUPPRESS_TICKS_AND_SLEEP( xExpectedIdleTime ) vPortSuppressTicksAndSleep( xExpectedIdleTime )

-#endif

+    #ifndef portSUPPRESS_TICKS_AND_SLEEP

+        extern void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime );

+        #define portSUPPRESS_TICKS_AND_SLEEP( xExpectedIdleTime )    vPortSuppressTicksAndSleep( xExpectedIdleTime )

+    #endif

 /*-----------------------------------------------------------*/

 

 /**

  * @brief 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 )

 /*-----------------------------------------------------------*/

 

-#if( configENABLE_TRUSTZONE == 1 )

-	/**

-	 * @brief Allocate a secure context for the task.

-	 *

-	 * Tasks are not created with a secure context. Any task that is going to call

-	 * secure functions must call portALLOCATE_SECURE_CONTEXT() to allocate itself a

-	 * secure context before it calls any secure function.

-	 *

-	 * @param[in] ulSecureStackSize The size of the secure stack to be allocated.

-	 */

-	#define portALLOCATE_SECURE_CONTEXT( ulSecureStackSize )	vPortAllocateSecureContext( ulSecureStackSize )

+    #if ( configENABLE_TRUSTZONE == 1 )

 

-	/**

-	 * @brief Called when a task is deleted to delete the task's secure context,

-	 * if it has one.

-	 *

-	 * @param[in] pxTCB The TCB of the task being deleted.

-	 */

-	#define portCLEAN_UP_TCB( pxTCB )							vPortFreeSecureContext( ( uint32_t * ) pxTCB )

-#else

-	#define portALLOCATE_SECURE_CONTEXT( ulSecureStackSize )

-	#define portCLEAN_UP_TCB( pxTCB )

-#endif /* configENABLE_TRUSTZONE */

+/**

+ * @brief Allocate a secure context for the task.

+ *

+ * Tasks are not created with a secure context. Any task that is going to call

+ * secure functions must call portALLOCATE_SECURE_CONTEXT() to allocate itself a

+ * secure context before it calls any secure function.

+ *

+ * @param[in] ulSecureStackSize The size of the secure stack to be allocated.

+ */

+        #define portALLOCATE_SECURE_CONTEXT( ulSecureStackSize )    vPortAllocateSecureContext( ulSecureStackSize )

+

+/**

+ * @brief Called when a task is deleted to delete the task's secure context,

+ * if it has one.

+ *

+ * @param[in] pxTCB The TCB of the task being deleted.

+ */

+        #define portCLEAN_UP_TCB( pxTCB )                           vPortFreeSecureContext( ( uint32_t * ) pxTCB )

+    #else

+        #define portALLOCATE_SECURE_CONTEXT( ulSecureStackSize )

+        #define portCLEAN_UP_TCB( pxTCB )

+    #endif /* configENABLE_TRUSTZONE */

 /*-----------------------------------------------------------*/

 

-#if( configENABLE_MPU == 1 )

-	/**

-	 * @brief Checks whether or not the processor is privileged.

-	 *

-	 * @return 1 if the processor is already privileged, 0 otherwise.

-	 */

-	#define portIS_PRIVILEGED()									xIsPrivileged()

+    #if ( configENABLE_MPU == 1 )

 

-	/**

-	 * @brief Raise an SVC request to raise privilege.

-	 *

-	 * The SVC handler checks that the SVC was raised from a system call and only

-	 * then it raises the privilege. If this is called from any other place,

-	 * the privilege is not raised.

-	 */

-	#define portRAISE_PRIVILEGE()								__asm volatile ( "svc %0 \n" :: "i" ( portSVC_RAISE_PRIVILEGE ) : "memory" );

+/**

+ * @brief Checks whether or not the processor is privileged.

+ *

+ * @return 1 if the processor is already privileged, 0 otherwise.

+ */

+        #define portIS_PRIVILEGED()      xIsPrivileged()

 

-	/**

-	 * @brief Lowers the privilege level by setting the bit 0 of the CONTROL

-	 * register.

-	 */

-	#define portRESET_PRIVILEGE()								vResetPrivilege()

-#else

-	#define portIS_PRIVILEGED()

-	#define portRAISE_PRIVILEGE()

-	#define portRESET_PRIVILEGE()

-#endif /* configENABLE_MPU */

+/**

+ * @brief Raise an SVC request to raise privilege.

+ *

+ * The SVC handler checks that the SVC was raised from a system call and only

+ * then it raises the privilege. If this is called from any other place,

+ * the privilege is not raised.

+ */

+        #define portRAISE_PRIVILEGE()    __asm volatile ( "svc %0 \n" ::"i" ( portSVC_RAISE_PRIVILEGE ) : "memory" );

+

+/**

+ * @brief Lowers the privilege level by setting the bit 0 of the CONTROL

+ * register.

+ */

+        #define portRESET_PRIVILEGE()    vResetPrivilege()

+    #else

+        #define portIS_PRIVILEGED()

+        #define portRAISE_PRIVILEGE()

+        #define portRESET_PRIVILEGE()

+    #endif /* configENABLE_MPU */

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Barriers.

  */

-#define portMEMORY_BARRIER() __asm volatile( "" ::: "memory" )

+    #define portMEMORY_BARRIER()    __asm volatile ( "" ::: "memory" )

 /*-----------------------------------------------------------*/

 

-#ifdef __cplusplus

-}

-#endif

+    #ifdef __cplusplus

+        }

+    #endif

 

 #endif /* PORTMACRO_H */

diff --git a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33/portasm.c b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33/portasm.c
index bde56a0..2759f4d 100644
--- a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33/portasm.c
+++ b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33/portasm.c
@@ -40,370 +40,370 @@
 

 void vRestoreContextOfFirstTask( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */

 {

-	__asm volatile

-	(

-	"	.syntax unified									\n"

-	"													\n"

-	"	ldr  r2, pxCurrentTCBConst2						\n" /* Read the location of pxCurrentTCB i.e. &( pxCurrentTCB ). */

-	"	ldr  r3, [r2]									\n" /* Read pxCurrentTCB. */

-	"	ldr  r0, [r3]									\n" /* Read top of stack from TCB - The first item in pxCurrentTCB is the task top of stack. */

-	"													\n"

-	#if( configENABLE_MPU == 1 )

-	"	dmb												\n" /* Complete outstanding transfers before disabling MPU. */

-	"	ldr r2, xMPUCTRLConst2							\n" /* r2 = 0xe000ed94 [Location of MPU_CTRL]. */

-	"	ldr r4, [r2]									\n" /* Read the value of MPU_CTRL. */

-	"	bic r4, #1										\n" /* r4 = r4 & ~1 i.e. Clear the bit 0 in r4. */

-	"	str r4, [r2]									\n" /* Disable MPU. */

-	"													\n"

-	"	adds r3, #4										\n" /* r3 = r3 + 4. r3 now points to MAIR0 in TCB. */

-	"	ldr  r4, [r3]									\n" /* r4 = *r3 i.e. r4 = MAIR0. */

-	"	ldr  r2, xMAIR0Const2							\n" /* r2 = 0xe000edc0 [Location of MAIR0]. */

-	"	str  r4, [r2]									\n" /* Program MAIR0. */

-	"	ldr  r2, xRNRConst2								\n" /* r2 = 0xe000ed98 [Location of RNR]. */

-	"	movs r4, #4										\n" /* r4 = 4. */

-	"	str  r4, [r2]									\n" /* Program RNR = 4. */

-	"	adds r3, #4										\n" /* r3 = r3 + 4. r3 now points to first RBAR in TCB. */

-	"	ldr  r2, xRBARConst2							\n" /* r2 = 0xe000ed9c [Location of RBAR]. */

-	"	ldmia r3!, {r4-r11}								\n" /* Read 4 set of RBAR/RLAR registers from TCB. */

-	"	stmia r2!, {r4-r11}								\n" /* Write 4 set of RBAR/RLAR registers using alias registers. */

-	"													\n"

-	"	ldr r2, xMPUCTRLConst2							\n" /* r2 = 0xe000ed94 [Location of MPU_CTRL]. */

-	"	ldr r4, [r2]									\n" /* Read the value of MPU_CTRL. */

-	"	orr r4, #1										\n" /* r4 = r4 | 1 i.e. Set the bit 0 in r4. */

-	"	str r4, [r2]									\n" /* Enable MPU. */

-	"	dsb												\n" /* Force memory writes before continuing. */

-	#endif /* configENABLE_MPU */

-	"													\n"

-	#if( configENABLE_MPU == 1 )

-	"	ldm  r0!, {r1-r4}								\n" /* Read from stack - r1 = xSecureContext, r2 = PSPLIM, r3 = CONTROL and r4 = EXC_RETURN. */

-	"	ldr  r5, xSecureContextConst2					\n"

-	"	str  r1, [r5]									\n" /* Set xSecureContext to this task's value for the same. */

-	"	msr  psplim, r2									\n" /* Set this task's PSPLIM value. */

-	"	msr  control, r3								\n" /* Set this task's CONTROL value. */

-	"	adds r0, #32									\n" /* Discard everything up to r0. */

-	"	msr  psp, r0									\n" /* This is now the new top of stack to use in the task. */

-	"	isb												\n"

-	"	bx   r4											\n" /* Finally, branch to EXC_RETURN. */

-	#else /* configENABLE_MPU */

-	"	ldm  r0!, {r1-r3}								\n" /* Read from stack - r1 = xSecureContext, r2 = PSPLIM and r3 = EXC_RETURN. */

-	"	ldr  r4, xSecureContextConst2					\n"

-	"	str  r1, [r4]									\n" /* Set xSecureContext to this task's value for the same. */

-	"	msr  psplim, r2									\n" /* Set this task's PSPLIM value. */

-	"	movs r1, #2										\n" /* r1 = 2. */

-	"	msr  CONTROL, r1								\n" /* Switch to use PSP in the thread mode. */

-	"	adds r0, #32									\n" /* Discard everything up to r0. */

-	"	msr  psp, r0									\n" /* This is now the new top of stack to use in the task. */

-	"	isb												\n"

-	"	bx   r3											\n" /* Finally, branch to EXC_RETURN. */

-	#endif /* configENABLE_MPU */

-	"													\n"

-	"	.align 4										\n"

-	"pxCurrentTCBConst2: .word pxCurrentTCB				\n"

-	"xSecureContextConst2: .word xSecureContext			\n"

-	#if( configENABLE_MPU == 1 )

-	"xMPUCTRLConst2: .word 0xe000ed94					\n"

-	"xMAIR0Const2: .word 0xe000edc0						\n"

-	"xRNRConst2: .word 0xe000ed98						\n"

-	"xRBARConst2: .word 0xe000ed9c						\n"

-	#endif /* configENABLE_MPU */

-	);

+    __asm volatile

+    (

+        "	.syntax unified									\n"

+        "													\n"

+        "	ldr  r2, pxCurrentTCBConst2						\n"/* Read the location of pxCurrentTCB i.e. &( pxCurrentTCB ). */

+        "	ldr  r3, [r2]									\n"/* Read pxCurrentTCB. */

+        "	ldr  r0, [r3]									\n"/* Read top of stack from TCB - The first item in pxCurrentTCB is the task top of stack. */

+        "													\n"

+        #if ( configENABLE_MPU == 1 )

+            "	dmb												\n"/* Complete outstanding transfers before disabling MPU. */

+            "	ldr r2, xMPUCTRLConst2							\n"/* r2 = 0xe000ed94 [Location of MPU_CTRL]. */

+            "	ldr r4, [r2]									\n"/* Read the value of MPU_CTRL. */

+            "	bic r4, #1										\n"/* r4 = r4 & ~1 i.e. Clear the bit 0 in r4. */

+            "	str r4, [r2]									\n"/* Disable MPU. */

+            "													\n"

+            "	adds r3, #4										\n"/* r3 = r3 + 4. r3 now points to MAIR0 in TCB. */

+            "	ldr  r4, [r3]									\n"/* r4 = *r3 i.e. r4 = MAIR0. */

+            "	ldr  r2, xMAIR0Const2							\n"/* r2 = 0xe000edc0 [Location of MAIR0]. */

+            "	str  r4, [r2]									\n"/* Program MAIR0. */

+            "	ldr  r2, xRNRConst2								\n"/* r2 = 0xe000ed98 [Location of RNR]. */

+            "	movs r4, #4										\n"/* r4 = 4. */

+            "	str  r4, [r2]									\n"/* Program RNR = 4. */

+            "	adds r3, #4										\n"/* r3 = r3 + 4. r3 now points to first RBAR in TCB. */

+            "	ldr  r2, xRBARConst2							\n"/* r2 = 0xe000ed9c [Location of RBAR]. */

+            "	ldmia r3!, {r4-r11}								\n"/* Read 4 set of RBAR/RLAR registers from TCB. */

+            "	stmia r2!, {r4-r11}								\n"/* Write 4 set of RBAR/RLAR registers using alias registers. */

+            "													\n"

+            "	ldr r2, xMPUCTRLConst2							\n"/* r2 = 0xe000ed94 [Location of MPU_CTRL]. */

+            "	ldr r4, [r2]									\n"/* Read the value of MPU_CTRL. */

+            "	orr r4, #1										\n"/* r4 = r4 | 1 i.e. Set the bit 0 in r4. */

+            "	str r4, [r2]									\n"/* Enable MPU. */

+            "	dsb												\n"/* Force memory writes before continuing. */

+        #endif /* configENABLE_MPU */

+        "													\n"

+        #if ( configENABLE_MPU == 1 )

+            "	ldm  r0!, {r1-r4}								\n"/* Read from stack - r1 = xSecureContext, r2 = PSPLIM, r3 = CONTROL and r4 = EXC_RETURN. */

+            "	ldr  r5, xSecureContextConst2					\n"

+            "	str  r1, [r5]									\n"/* Set xSecureContext to this task's value for the same. */

+            "	msr  psplim, r2									\n"/* Set this task's PSPLIM value. */

+            "	msr  control, r3								\n"/* Set this task's CONTROL value. */

+            "	adds r0, #32									\n"/* Discard everything up to r0. */

+            "	msr  psp, r0									\n"/* This is now the new top of stack to use in the task. */

+            "	isb												\n"

+            "	bx   r4											\n"/* Finally, branch to EXC_RETURN. */

+        #else /* configENABLE_MPU */

+            "	ldm  r0!, {r1-r3}								\n"/* Read from stack - r1 = xSecureContext, r2 = PSPLIM and r3 = EXC_RETURN. */

+            "	ldr  r4, xSecureContextConst2					\n"

+            "	str  r1, [r4]									\n"/* Set xSecureContext to this task's value for the same. */

+            "	msr  psplim, r2									\n"/* Set this task's PSPLIM value. */

+            "	movs r1, #2										\n"/* r1 = 2. */

+            "	msr  CONTROL, r1								\n"/* Switch to use PSP in the thread mode. */

+            "	adds r0, #32									\n"/* Discard everything up to r0. */

+            "	msr  psp, r0									\n"/* This is now the new top of stack to use in the task. */

+            "	isb												\n"

+            "	bx   r3											\n"/* Finally, branch to EXC_RETURN. */

+        #endif /* configENABLE_MPU */

+        "													\n"

+        "	.align 4										\n"

+        "pxCurrentTCBConst2: .word pxCurrentTCB				\n"

+        "xSecureContextConst2: .word xSecureContext			\n"

+        #if ( configENABLE_MPU == 1 )

+            "xMPUCTRLConst2: .word 0xe000ed94					\n"

+            "xMAIR0Const2: .word 0xe000edc0						\n"

+            "xRNRConst2: .word 0xe000ed98						\n"

+            "xRBARConst2: .word 0xe000ed9c						\n"

+        #endif /* configENABLE_MPU */

+    );

 }

 /*-----------------------------------------------------------*/

 

 BaseType_t xIsPrivileged( void ) /* __attribute__ (( naked )) */

 {

-	__asm volatile

-	(

-	"	mrs r0, control									\n" /* r0 = CONTROL. */

-	"	tst r0, #1										\n" /* Perform r0 & 1 (bitwise AND) and update the conditions flag. */

-	"	ite ne											\n"

-	"	movne r0, #0									\n" /* CONTROL[0]!=0. Return false to indicate that the processor is not privileged. */

-	"	moveq r0, #1									\n" /* CONTROL[0]==0. Return true to indicate that the processor is privileged. */

-	"	bx lr											\n" /* Return. */

-	"													\n"

-	"	.align 4										\n"

-	::: "r0", "memory"

-	);

+    __asm volatile

+    (

+        "	mrs r0, control									\n"/* r0 = CONTROL. */

+        "	tst r0, #1										\n"/* Perform r0 & 1 (bitwise AND) and update the conditions flag. */

+        "	ite ne											\n"

+        "	movne r0, #0									\n"/* CONTROL[0]!=0. Return false to indicate that the processor is not privileged. */

+        "	moveq r0, #1									\n"/* CONTROL[0]==0. Return true to indicate that the processor is privileged. */

+        "	bx lr											\n"/* Return. */

+        "													\n"

+        "	.align 4										\n"

+        ::: "r0", "memory"

+    );

 }

 /*-----------------------------------------------------------*/

 

 void vRaisePrivilege( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */

 {

-	 __asm volatile

-	(

-	"	mrs r0, control									\n" /* Read the CONTROL register. */

-	"	bic r0, #1										\n" /* Clear the bit 0. */

-	"	msr control, r0									\n" /* Write back the new CONTROL value. */

-	"	bx lr											\n" /* Return to the caller. */

-	::: "r0", "memory"

-	);

+    __asm volatile

+    (

+        "	mrs r0, control									\n"/* Read the CONTROL register. */

+        "	bic r0, #1										\n"/* Clear the bit 0. */

+        "	msr control, r0									\n"/* Write back the new CONTROL value. */

+        "	bx lr											\n"/* Return to the caller. */

+        ::: "r0", "memory"

+    );

 }

 /*-----------------------------------------------------------*/

 

 void vResetPrivilege( void ) /* __attribute__ (( naked )) */

 {

-	__asm volatile

-	(

-	"	mrs r0, control									\n" /* r0 = CONTROL. */

-	"	orr r0, #1										\n" /* r0 = r0 | 1. */

-	"	msr control, r0									\n" /* CONTROL = r0. */

-	"	bx lr											\n" /* Return to the caller. */

-	:::"r0", "memory"

-	);

+    __asm volatile

+    (

+        "	mrs r0, control									\n"/* r0 = CONTROL. */

+        "	orr r0, #1										\n"/* r0 = r0 | 1. */

+        "	msr control, r0									\n"/* CONTROL = r0. */

+        "	bx lr											\n"/* Return to the caller. */

+        ::: "r0", "memory"

+    );

 }

 /*-----------------------------------------------------------*/

 

 void vStartFirstTask( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */

 {

-	__asm volatile

-	(

-	"	ldr r0, xVTORConst								\n" /* Use the NVIC offset register to locate the stack. */

-	"	ldr r0, [r0]									\n" /* Read the VTOR register which gives the address of vector table. */

-	"	ldr r0, [r0]									\n" /* The first entry in vector table is stack pointer. */

-	"	msr msp, r0										\n" /* Set the MSP back to the start of the stack. */

-	"	cpsie i											\n" /* Globally enable interrupts. */

-	"	cpsie f											\n"

-	"	dsb												\n"

-	"	isb												\n"

-	"	svc %0											\n" /* System call to start the first task. */

-	"	nop												\n"

-	"													\n"

-	"   .align 4										\n"

-	"xVTORConst: .word 0xe000ed08						\n"

-	:: "i" ( portSVC_START_SCHEDULER ) : "memory"

-	);

+    __asm volatile

+    (

+        "	ldr r0, xVTORConst								\n"/* Use the NVIC offset register to locate the stack. */

+        "	ldr r0, [r0]									\n"/* Read the VTOR register which gives the address of vector table. */

+        "	ldr r0, [r0]									\n"/* The first entry in vector table is stack pointer. */

+        "	msr msp, r0										\n"/* Set the MSP back to the start of the stack. */

+        "	cpsie i											\n"/* Globally enable interrupts. */

+        "	cpsie f											\n"

+        "	dsb												\n"

+        "	isb												\n"

+        "	svc %0											\n"/* System call to start the first task. */

+        "	nop												\n"

+        "													\n"

+        "   .align 4										\n"

+        "xVTORConst: .word 0xe000ed08						\n"

+        ::"i" ( portSVC_START_SCHEDULER ) : "memory"

+    );

 }

 /*-----------------------------------------------------------*/

 

 uint32_t ulSetInterruptMask( void ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */

 {

-	__asm volatile

-	(

-	"	mrs r0, basepri									\n" /* r0 = basepri. Return original basepri value. */

-	"	mov r1, %0										\n" /* r1 = configMAX_SYSCALL_INTERRUPT_PRIORITY. */

-	"	msr basepri, r1									\n" /* Disable interrupts upto configMAX_SYSCALL_INTERRUPT_PRIORITY. */

-	"	dsb												\n"

-	"	isb												\n"

-	"	bx lr											\n" /* Return. */

-	:: "i" ( configMAX_SYSCALL_INTERRUPT_PRIORITY ) : "memory"

-	);

+    __asm volatile

+    (

+        "	mrs r0, basepri									\n"/* r0 = basepri. Return original basepri value. */

+        "	mov r1, %0										\n"/* r1 = configMAX_SYSCALL_INTERRUPT_PRIORITY. */

+        "	msr basepri, r1									\n"/* Disable interrupts upto configMAX_SYSCALL_INTERRUPT_PRIORITY. */

+        "	dsb												\n"

+        "	isb												\n"

+        "	bx lr											\n"/* Return. */

+        ::"i" ( configMAX_SYSCALL_INTERRUPT_PRIORITY ) : "memory"

+    );

 }

 /*-----------------------------------------------------------*/

 

 void vClearInterruptMask( __attribute__( ( unused ) ) uint32_t ulMask ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */

 {

-	__asm volatile

-	(

-	"	msr basepri, r0									\n" /* basepri = ulMask. */

-	"	dsb												\n"

-	"	isb												\n"

-	"	bx lr											\n" /* Return. */

-	::: "memory"

-	);

+    __asm volatile

+    (

+        "	msr basepri, r0									\n"/* basepri = ulMask. */

+        "	dsb												\n"

+        "	isb												\n"

+        "	bx lr											\n"/* Return. */

+        ::: "memory"

+    );

 }

 /*-----------------------------------------------------------*/

 

 void PendSV_Handler( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */

 {

-	__asm volatile

-	(

-	"	.syntax unified									\n"

-	"	.extern SecureContext_SaveContext				\n"

-	"	.extern SecureContext_LoadContext				\n"

-	"													\n"

-	"	mrs r1, psp										\n" /* Read PSP in r1. */

-	"	ldr r2, xSecureContextConst						\n" /* Read the location of xSecureContext i.e. &( xSecureContext ). */

-	"	ldr r0, [r2]									\n" /* Read xSecureContext - Value of xSecureContext must be in r0 as it is used as a parameter later. */

-	"													\n"

-	"	cbz r0, save_ns_context							\n" /* No secure context to save. */

-	"	push {r0-r2, r14}								\n"

-	"	bl SecureContext_SaveContext					\n"

-	"	pop {r0-r3}										\n" /* LR is now in r3. */

-	"	mov lr, r3										\n" /* LR = r3. */

-	"	lsls r2, r3, #25								\n" /* r2 = r3 << 25. Bit[6] of EXC_RETURN is 1 if secure stack was used, 0 if non-secure stack was used to store stack frame. */

-	"	bpl save_ns_context								\n" /* bpl - branch if positive or zero. If r2 >= 0 ==> Bit[6] in EXC_RETURN is 0 i.e. non-secure stack was used. */

-	"	ldr r3, pxCurrentTCBConst						\n" /* Read the location of pxCurrentTCB i.e. &( pxCurrentTCB ). */

-	"	ldr r2, [r3]									\n" /* Read pxCurrentTCB. */

-	#if( configENABLE_MPU == 1 )

-	"	subs r1, r1, #16								\n" /* Make space for xSecureContext, PSPLIM, CONTROL and LR on the stack. */

-	"	str r1, [r2]									\n" /* Save the new top of stack in TCB. */

-	"	mrs r2, psplim									\n" /* r2 = PSPLIM. */

-	"	mrs r3, control									\n" /* r3 = CONTROL. */

-	"	mov r4, lr										\n" /* r4 = LR/EXC_RETURN. */

-	"	stmia r1!, {r0, r2-r4}							\n" /* Store xSecureContext, PSPLIM, CONTROL and LR on the stack. */

-	#else /* configENABLE_MPU */

-	"	subs r1, r1, #12								\n" /* Make space for xSecureContext, PSPLIM and LR on the stack. */

-	"	str r1, [r2]									\n" /* Save the new top of stack in TCB. */

-	"	mrs r2, psplim									\n" /* r2 = PSPLIM. */

-	"	mov r3, lr										\n" /* r3 = LR/EXC_RETURN. */

-	"	stmia r1!, {r0, r2-r3}							\n" /* Store xSecureContext, PSPLIM and LR on the stack. */

-	#endif /* configENABLE_MPU */

-	"	b select_next_task								\n"

-	"													\n"

-	" save_ns_context:									\n"

-	"	ldr r3, pxCurrentTCBConst						\n" /* Read the location of pxCurrentTCB i.e. &( pxCurrentTCB ). */

-	"	ldr r2, [r3]									\n" /* Read pxCurrentTCB. */

-	#if( configENABLE_FPU == 1 )

-	"	tst lr, #0x10									\n" /* Test Bit[4] in LR. Bit[4] of EXC_RETURN is 0 if the FPU is in use. */

-	"	it eq											\n"

-	"	vstmdbeq r1!, {s16-s31}							\n" /* Store the FPU registers which are not saved automatically. */

-	#endif /* configENABLE_FPU */

-	#if( configENABLE_MPU == 1 )

-	"	subs r1, r1, #48								\n" /* Make space for xSecureContext, PSPLIM, CONTROL, LR and the remaining registers on the stack. */

-	"	str r1, [r2]									\n" /* Save the new top of stack in TCB. */

-	"	adds r1, r1, #16								\n" /* r1 = r1 + 16. */

-	"	stm r1, {r4-r11}								\n" /* Store the registers that are not saved automatically. */

-	"	mrs r2, psplim									\n" /* r2 = PSPLIM. */

-	"	mrs r3, control									\n" /* r3 = CONTROL. */

-	"	mov r4, lr										\n" /* r4 = LR/EXC_RETURN. */

-	"	subs r1, r1, #16								\n" /* r1 = r1 - 16. */

-	"	stm r1, {r0, r2-r4}								\n" /* Store xSecureContext, PSPLIM, CONTROL and LR on the stack. */

-	#else /* configENABLE_MPU */

-	"	subs r1, r1, #44								\n" /* Make space for xSecureContext, PSPLIM, LR and the remaining registers on the stack. */

-	"	str r1, [r2]									\n" /* Save the new top of stack in TCB. */

-	"	adds r1, r1, #12								\n" /* r1 = r1 + 12. */

-	"	stm r1, {r4-r11}								\n" /* Store the registers that are not saved automatically. */

-	"	mrs r2, psplim									\n" /* r2 = PSPLIM. */

-	"	mov r3, lr										\n" /* r3 = LR/EXC_RETURN. */

-	"	subs r1, r1, #12								\n" /* r1 = r1 - 12. */

-	"	stmia r1!, {r0, r2-r3}							\n" /* Store xSecureContext, PSPLIM and LR on the stack. */

-	#endif /* configENABLE_MPU */

-	"													\n"

-	" select_next_task:									\n"

-	"	mov r0, %0										\n" /* r0 = configMAX_SYSCALL_INTERRUPT_PRIORITY */

-	"	msr basepri, r0									\n" /* Disable interrupts upto configMAX_SYSCALL_INTERRUPT_PRIORITY. */

-	"	dsb												\n"

-	"	isb												\n"

-	"	bl vTaskSwitchContext							\n"

-	"	mov r0, #0										\n" /* r0 = 0. */

-	"	msr basepri, r0									\n" /* Enable interrupts. */

-	"													\n"

-	"	ldr r2, pxCurrentTCBConst						\n" /* Read the location of pxCurrentTCB i.e. &( pxCurrentTCB ). */

-	"	ldr r3, [r2]									\n" /* Read pxCurrentTCB. */

-	"	ldr r1, [r3]									\n" /* The first item in pxCurrentTCB is the task top of stack. r1 now points to the top of stack. */

-	"													\n"

-	#if( configENABLE_MPU == 1 )

-	"	dmb												\n" /* Complete outstanding transfers before disabling MPU. */

-	"	ldr r2, xMPUCTRLConst							\n" /* r2 = 0xe000ed94 [Location of MPU_CTRL]. */

-	"	ldr r4, [r2]									\n" /* Read the value of MPU_CTRL. */

-	"	bic r4, #1										\n" /* r4 = r4 & ~1 i.e. Clear the bit 0 in r4. */

-	"	str r4, [r2]									\n" /* Disable MPU. */

-	"													\n"

-	"	adds r3, #4										\n" /* r3 = r3 + 4. r3 now points to MAIR0 in TCB. */

-	"	ldr r4, [r3]									\n" /* r4 = *r3 i.e. r4 = MAIR0. */

-	"	ldr r2, xMAIR0Const								\n" /* r2 = 0xe000edc0 [Location of MAIR0]. */

-	"	str r4, [r2]									\n" /* Program MAIR0. */

-	"	ldr r2, xRNRConst								\n" /* r2 = 0xe000ed98 [Location of RNR]. */

-	"	movs r4, #4										\n" /* r4 = 4. */

-	"	str r4, [r2]									\n" /* Program RNR = 4. */

-	"	adds r3, #4										\n" /* r3 = r3 + 4. r3 now points to first RBAR in TCB. */

-	"	ldr  r2, xRBARConst								\n" /* r2 = 0xe000ed9c [Location of RBAR]. */

-	"	ldmia r3!, {r4-r11}								\n" /* Read 4 sets of RBAR/RLAR registers from TCB. */

-	"	stmia r2!, {r4-r11}								\n" /* Write 4 set of RBAR/RLAR registers using alias registers. */

-	"													\n"

-	"	ldr r2, xMPUCTRLConst							\n" /* r2 = 0xe000ed94 [Location of MPU_CTRL]. */

-	"	ldr r4, [r2]									\n" /* Read the value of MPU_CTRL. */

-	"	orr r4, #1										\n" /* r4 = r4 | 1 i.e. Set the bit 0 in r4. */

-	"	str r4, [r2]									\n" /* Enable MPU. */

-	"	dsb												\n" /* Force memory writes before continuing. */

-	#endif /* configENABLE_MPU */

-	"													\n"

-	#if( configENABLE_MPU == 1 )

-	"	ldmia r1!, {r0, r2-r4}							\n" /* Read from stack - r0 = xSecureContext, r2 = PSPLIM, r3 = CONTROL and r4 = LR. */

-	"	msr psplim, r2									\n" /* Restore the PSPLIM register value for the task. */

-	"	msr control, r3									\n" /* Restore the CONTROL register value for the task. */

-	"	mov lr, r4										\n" /* LR = r4. */

-	"	ldr r2, xSecureContextConst						\n" /* Read the location of xSecureContext i.e. &( xSecureContext ). */

-	"	str r0, [r2]									\n" /* Restore the task's xSecureContext. */

-	"	cbz r0, restore_ns_context						\n" /* If there is no secure context for the task, restore the non-secure context. */

-	"	push {r1,r4}									\n"

-	"	bl SecureContext_LoadContext					\n" /* Restore the secure context. */

-	"	pop {r1,r4}										\n"

-	"	mov lr, r4										\n" /* LR = r4. */

-	"	lsls r2, r4, #25								\n" /* r2 = r4 << 25. Bit[6] of EXC_RETURN is 1 if secure stack was used, 0 if non-secure stack was used to store stack frame. */

-	"	bpl restore_ns_context							\n" /* bpl - branch if positive or zero. If r2 >= 0 ==> Bit[6] in EXC_RETURN is 0 i.e. non-secure stack was used. */

-	"	msr psp, r1										\n" /* Remember the new top of stack for the task. */

-	"	bx lr											\n"

-	#else /* configENABLE_MPU */

-	"	ldmia r1!, {r0, r2-r3}							\n" /* Read from stack - r0 = xSecureContext, r2 = PSPLIM and r3 = LR. */

-	"	msr psplim, r2									\n" /* Restore the PSPLIM register value for the task. */

-	"	mov lr, r3										\n" /* LR = r3. */

-	"	ldr r2, xSecureContextConst						\n" /* Read the location of xSecureContext i.e. &( xSecureContext ). */

-	"	str r0, [r2]									\n" /* Restore the task's xSecureContext. */

-	"	cbz r0, restore_ns_context						\n" /* If there is no secure context for the task, restore the non-secure context. */

-	"	push {r1,r3}									\n"

-	"	bl SecureContext_LoadContext					\n" /* Restore the secure context. */

-	"	pop {r1,r3}										\n"

-	"	mov lr, r3										\n" /* LR = r3. */

-	"	lsls r2, r3, #25								\n" /* r2 = r3 << 25. Bit[6] of EXC_RETURN is 1 if secure stack was used, 0 if non-secure stack was used to store stack frame. */

-	"	bpl restore_ns_context							\n" /* bpl - branch if positive or zero. If r2 >= 0 ==> Bit[6] in EXC_RETURN is 0 i.e. non-secure stack was used. */

-	"	msr psp, r1										\n" /* Remember the new top of stack for the task. */

-	"	bx lr											\n"

-	#endif /* configENABLE_MPU */

-	"													\n"

-	" restore_ns_context:								\n"

-	"	ldmia r1!, {r4-r11}								\n" /* Restore the registers that are not automatically restored. */

-	#if( configENABLE_FPU == 1 )

-	"	tst lr, #0x10									\n" /* Test Bit[4] in LR. Bit[4] of EXC_RETURN is 0 if the FPU is in use. */

-	"	it eq											\n"

-	"	vldmiaeq r1!, {s16-s31}							\n" /* Restore the FPU registers which are not restored automatically. */

-	#endif /* configENABLE_FPU */

-	"	msr psp, r1										\n" /* Remember the new top of stack for the task. */

-	"	bx lr											\n"

-	"													\n"

-	"	.align 4										\n"

-	"pxCurrentTCBConst: .word pxCurrentTCB				\n"

-	"xSecureContextConst: .word xSecureContext			\n"

-	#if( configENABLE_MPU == 1 )

-	"xMPUCTRLConst: .word 0xe000ed94					\n"

-	"xMAIR0Const: .word 0xe000edc0						\n"

-	"xRNRConst: .word 0xe000ed98						\n"

-	"xRBARConst: .word 0xe000ed9c						\n"

-	#endif /* configENABLE_MPU */

-	:: "i"( configMAX_SYSCALL_INTERRUPT_PRIORITY )

-	);

+    __asm volatile

+    (

+        "	.syntax unified									\n"

+        "	.extern SecureContext_SaveContext				\n"

+        "	.extern SecureContext_LoadContext				\n"

+        "													\n"

+        "	mrs r1, psp										\n"/* Read PSP in r1. */

+        "	ldr r2, xSecureContextConst						\n"/* Read the location of xSecureContext i.e. &( xSecureContext ). */

+        "	ldr r0, [r2]									\n"/* Read xSecureContext - Value of xSecureContext must be in r0 as it is used as a parameter later. */

+        "													\n"

+        "	cbz r0, save_ns_context							\n"/* No secure context to save. */

+        "	push {r0-r2, r14}								\n"

+        "	bl SecureContext_SaveContext					\n"

+        "	pop {r0-r3}										\n"/* LR is now in r3. */

+        "	mov lr, r3										\n"/* LR = r3. */

+        "	lsls r2, r3, #25								\n"/* r2 = r3 << 25. Bit[6] of EXC_RETURN is 1 if secure stack was used, 0 if non-secure stack was used to store stack frame. */

+        "	bpl save_ns_context								\n"/* bpl - branch if positive or zero. If r2 >= 0 ==> Bit[6] in EXC_RETURN is 0 i.e. non-secure stack was used. */

+        "	ldr r3, pxCurrentTCBConst						\n"/* Read the location of pxCurrentTCB i.e. &( pxCurrentTCB ). */

+        "	ldr r2, [r3]									\n"/* Read pxCurrentTCB. */

+        #if ( configENABLE_MPU == 1 )

+            "	subs r1, r1, #16								\n"/* Make space for xSecureContext, PSPLIM, CONTROL and LR on the stack. */

+            "	str r1, [r2]									\n"/* Save the new top of stack in TCB. */

+            "	mrs r2, psplim									\n"/* r2 = PSPLIM. */

+            "	mrs r3, control									\n"/* r3 = CONTROL. */

+            "	mov r4, lr										\n"/* r4 = LR/EXC_RETURN. */

+            "	stmia r1!, {r0, r2-r4}							\n"/* Store xSecureContext, PSPLIM, CONTROL and LR on the stack. */

+        #else /* configENABLE_MPU */

+            "	subs r1, r1, #12								\n"/* Make space for xSecureContext, PSPLIM and LR on the stack. */

+            "	str r1, [r2]									\n"/* Save the new top of stack in TCB. */

+            "	mrs r2, psplim									\n"/* r2 = PSPLIM. */

+            "	mov r3, lr										\n"/* r3 = LR/EXC_RETURN. */

+            "	stmia r1!, {r0, r2-r3}							\n"/* Store xSecureContext, PSPLIM and LR on the stack. */

+        #endif /* configENABLE_MPU */

+        "	b select_next_task								\n"

+        "													\n"

+        " save_ns_context:									\n"

+        "	ldr r3, pxCurrentTCBConst						\n"/* Read the location of pxCurrentTCB i.e. &( pxCurrentTCB ). */

+        "	ldr r2, [r3]									\n"/* Read pxCurrentTCB. */

+        #if ( configENABLE_FPU == 1 )

+            "	tst lr, #0x10									\n"/* Test Bit[4] in LR. Bit[4] of EXC_RETURN is 0 if the FPU is in use. */

+            "	it eq											\n"

+            "	vstmdbeq r1!, {s16-s31}							\n"/* Store the FPU registers which are not saved automatically. */

+        #endif /* configENABLE_FPU */

+        #if ( configENABLE_MPU == 1 )

+            "	subs r1, r1, #48								\n"/* Make space for xSecureContext, PSPLIM, CONTROL, LR and the remaining registers on the stack. */

+            "	str r1, [r2]									\n"/* Save the new top of stack in TCB. */

+            "	adds r1, r1, #16								\n"/* r1 = r1 + 16. */

+            "	stm r1, {r4-r11}								\n"/* Store the registers that are not saved automatically. */

+            "	mrs r2, psplim									\n"/* r2 = PSPLIM. */

+            "	mrs r3, control									\n"/* r3 = CONTROL. */

+            "	mov r4, lr										\n"/* r4 = LR/EXC_RETURN. */

+            "	subs r1, r1, #16								\n"/* r1 = r1 - 16. */

+            "	stm r1, {r0, r2-r4}								\n"/* Store xSecureContext, PSPLIM, CONTROL and LR on the stack. */

+        #else /* configENABLE_MPU */

+            "	subs r1, r1, #44								\n"/* Make space for xSecureContext, PSPLIM, LR and the remaining registers on the stack. */

+            "	str r1, [r2]									\n"/* Save the new top of stack in TCB. */

+            "	adds r1, r1, #12								\n"/* r1 = r1 + 12. */

+            "	stm r1, {r4-r11}								\n"/* Store the registers that are not saved automatically. */

+            "	mrs r2, psplim									\n"/* r2 = PSPLIM. */

+            "	mov r3, lr										\n"/* r3 = LR/EXC_RETURN. */

+            "	subs r1, r1, #12								\n"/* r1 = r1 - 12. */

+            "	stmia r1!, {r0, r2-r3}							\n"/* Store xSecureContext, PSPLIM and LR on the stack. */

+        #endif /* configENABLE_MPU */

+        "													\n"

+        " select_next_task:									\n"

+        "	mov r0, %0										\n"/* r0 = configMAX_SYSCALL_INTERRUPT_PRIORITY */

+        "	msr basepri, r0									\n"/* Disable interrupts upto configMAX_SYSCALL_INTERRUPT_PRIORITY. */

+        "	dsb												\n"

+        "	isb												\n"

+        "	bl vTaskSwitchContext							\n"

+        "	mov r0, #0										\n"/* r0 = 0. */

+        "	msr basepri, r0									\n"/* Enable interrupts. */

+        "													\n"

+        "	ldr r2, pxCurrentTCBConst						\n"/* Read the location of pxCurrentTCB i.e. &( pxCurrentTCB ). */

+        "	ldr r3, [r2]									\n"/* Read pxCurrentTCB. */

+        "	ldr r1, [r3]									\n"/* The first item in pxCurrentTCB is the task top of stack. r1 now points to the top of stack. */

+        "													\n"

+        #if ( configENABLE_MPU == 1 )

+            "	dmb												\n"/* Complete outstanding transfers before disabling MPU. */

+            "	ldr r2, xMPUCTRLConst							\n"/* r2 = 0xe000ed94 [Location of MPU_CTRL]. */

+            "	ldr r4, [r2]									\n"/* Read the value of MPU_CTRL. */

+            "	bic r4, #1										\n"/* r4 = r4 & ~1 i.e. Clear the bit 0 in r4. */

+            "	str r4, [r2]									\n"/* Disable MPU. */

+            "													\n"

+            "	adds r3, #4										\n"/* r3 = r3 + 4. r3 now points to MAIR0 in TCB. */

+            "	ldr r4, [r3]									\n"/* r4 = *r3 i.e. r4 = MAIR0. */

+            "	ldr r2, xMAIR0Const								\n"/* r2 = 0xe000edc0 [Location of MAIR0]. */

+            "	str r4, [r2]									\n"/* Program MAIR0. */

+            "	ldr r2, xRNRConst								\n"/* r2 = 0xe000ed98 [Location of RNR]. */

+            "	movs r4, #4										\n"/* r4 = 4. */

+            "	str r4, [r2]									\n"/* Program RNR = 4. */

+            "	adds r3, #4										\n"/* r3 = r3 + 4. r3 now points to first RBAR in TCB. */

+            "	ldr  r2, xRBARConst								\n"/* r2 = 0xe000ed9c [Location of RBAR]. */

+            "	ldmia r3!, {r4-r11}								\n"/* Read 4 sets of RBAR/RLAR registers from TCB. */

+            "	stmia r2!, {r4-r11}								\n"/* Write 4 set of RBAR/RLAR registers using alias registers. */

+            "													\n"

+            "	ldr r2, xMPUCTRLConst							\n"/* r2 = 0xe000ed94 [Location of MPU_CTRL]. */

+            "	ldr r4, [r2]									\n"/* Read the value of MPU_CTRL. */

+            "	orr r4, #1										\n"/* r4 = r4 | 1 i.e. Set the bit 0 in r4. */

+            "	str r4, [r2]									\n"/* Enable MPU. */

+            "	dsb												\n"/* Force memory writes before continuing. */

+        #endif /* configENABLE_MPU */

+        "													\n"

+        #if ( configENABLE_MPU == 1 )

+            "	ldmia r1!, {r0, r2-r4}							\n"/* Read from stack - r0 = xSecureContext, r2 = PSPLIM, r3 = CONTROL and r4 = LR. */

+            "	msr psplim, r2									\n"/* Restore the PSPLIM register value for the task. */

+            "	msr control, r3									\n"/* Restore the CONTROL register value for the task. */

+            "	mov lr, r4										\n"/* LR = r4. */

+            "	ldr r2, xSecureContextConst						\n"/* Read the location of xSecureContext i.e. &( xSecureContext ). */

+            "	str r0, [r2]									\n"/* Restore the task's xSecureContext. */

+            "	cbz r0, restore_ns_context						\n"/* If there is no secure context for the task, restore the non-secure context. */

+            "	push {r1,r4}									\n"

+            "	bl SecureContext_LoadContext					\n"/* Restore the secure context. */

+            "	pop {r1,r4}										\n"

+            "	mov lr, r4										\n"/* LR = r4. */

+            "	lsls r2, r4, #25								\n"/* r2 = r4 << 25. Bit[6] of EXC_RETURN is 1 if secure stack was used, 0 if non-secure stack was used to store stack frame. */

+            "	bpl restore_ns_context							\n"/* bpl - branch if positive or zero. If r2 >= 0 ==> Bit[6] in EXC_RETURN is 0 i.e. non-secure stack was used. */

+            "	msr psp, r1										\n"/* Remember the new top of stack for the task. */

+            "	bx lr											\n"

+        #else /* configENABLE_MPU */

+            "	ldmia r1!, {r0, r2-r3}							\n"/* Read from stack - r0 = xSecureContext, r2 = PSPLIM and r3 = LR. */

+            "	msr psplim, r2									\n"/* Restore the PSPLIM register value for the task. */

+            "	mov lr, r3										\n"/* LR = r3. */

+            "	ldr r2, xSecureContextConst						\n"/* Read the location of xSecureContext i.e. &( xSecureContext ). */

+            "	str r0, [r2]									\n"/* Restore the task's xSecureContext. */

+            "	cbz r0, restore_ns_context						\n"/* If there is no secure context for the task, restore the non-secure context. */

+            "	push {r1,r3}									\n"

+            "	bl SecureContext_LoadContext					\n"/* Restore the secure context. */

+            "	pop {r1,r3}										\n"

+            "	mov lr, r3										\n"/* LR = r3. */

+            "	lsls r2, r3, #25								\n"/* r2 = r3 << 25. Bit[6] of EXC_RETURN is 1 if secure stack was used, 0 if non-secure stack was used to store stack frame. */

+            "	bpl restore_ns_context							\n"/* bpl - branch if positive or zero. If r2 >= 0 ==> Bit[6] in EXC_RETURN is 0 i.e. non-secure stack was used. */

+            "	msr psp, r1										\n"/* Remember the new top of stack for the task. */

+            "	bx lr											\n"

+        #endif /* configENABLE_MPU */

+        "													\n"

+        " restore_ns_context:								\n"

+        "	ldmia r1!, {r4-r11}								\n"/* Restore the registers that are not automatically restored. */

+        #if ( configENABLE_FPU == 1 )

+            "	tst lr, #0x10									\n"/* Test Bit[4] in LR. Bit[4] of EXC_RETURN is 0 if the FPU is in use. */

+            "	it eq											\n"

+            "	vldmiaeq r1!, {s16-s31}							\n"/* Restore the FPU registers which are not restored automatically. */

+        #endif /* configENABLE_FPU */

+        "	msr psp, r1										\n"/* Remember the new top of stack for the task. */

+        "	bx lr											\n"

+        "													\n"

+        "	.align 4										\n"

+        "pxCurrentTCBConst: .word pxCurrentTCB				\n"

+        "xSecureContextConst: .word xSecureContext			\n"

+        #if ( configENABLE_MPU == 1 )

+            "xMPUCTRLConst: .word 0xe000ed94					\n"

+            "xMAIR0Const: .word 0xe000edc0						\n"

+            "xRNRConst: .word 0xe000ed98						\n"

+            "xRBARConst: .word 0xe000ed9c						\n"

+        #endif /* configENABLE_MPU */

+        ::"i" ( configMAX_SYSCALL_INTERRUPT_PRIORITY )

+    );

 }

 /*-----------------------------------------------------------*/

 

 void SVC_Handler( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */

 {

-	__asm volatile

-	(

-	"	tst lr, #4										\n"

-	"	ite eq											\n"

-	"	mrseq r0, msp									\n"

-	"	mrsne r0, psp									\n"

-	"	ldr r1, svchandler_address_const				\n"

-	"	bx r1											\n"

-	"													\n"

-	"	.align 4										\n"

-	"svchandler_address_const: .word vPortSVCHandler_C	\n"

-	);

+    __asm volatile

+    (

+        "	tst lr, #4										\n"

+        "	ite eq											\n"

+        "	mrseq r0, msp									\n"

+        "	mrsne r0, psp									\n"

+        "	ldr r1, svchandler_address_const				\n"

+        "	bx r1											\n"

+        "													\n"

+        "	.align 4										\n"

+        "svchandler_address_const: .word vPortSVCHandler_C	\n"

+    );

 }

 /*-----------------------------------------------------------*/

 

 void vPortAllocateSecureContext( uint32_t ulSecureStackSize ) /* __attribute__ (( naked )) */

 {

-	__asm volatile

-	(

-	"	svc %0											\n" /* Secure context is allocated in the supervisor call. */

-	"	bx lr											\n" /* Return. */

-	:: "i" ( portSVC_ALLOCATE_SECURE_CONTEXT ) : "memory"

-	);

+    __asm volatile

+    (

+        "	svc %0											\n"/* Secure context is allocated in the supervisor call. */

+        "	bx lr											\n"/* Return. */

+        ::"i" ( portSVC_ALLOCATE_SECURE_CONTEXT ) : "memory"

+    );

 }

 /*-----------------------------------------------------------*/

 

-void vPortFreeSecureContext( uint32_t *pulTCB ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */

+void vPortFreeSecureContext( uint32_t * pulTCB ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */

 {

-	__asm volatile

-	(

-	"	ldr r1, [r0]									\n" /* The first item in the TCB is the top of the stack. */

-	"	ldr r0, [r1]									\n" /* The first item on the stack is the task's xSecureContext. */

-	"	cmp r0, #0										\n" /* Raise svc if task's xSecureContext is not NULL. */

-	"	it ne											\n"

-	"	svcne %0										\n" /* Secure context is freed in the supervisor call. */

-	"	bx lr											\n" /* Return. */

-	:: "i" ( portSVC_FREE_SECURE_CONTEXT ) : "memory"

-	);

+    __asm volatile

+    (

+        "	ldr r1, [r0]									\n"/* The first item in the TCB is the top of the stack. */

+        "	ldr r0, [r1]									\n"/* The first item on the stack is the task's xSecureContext. */

+        "	cmp r0, #0										\n"/* Raise svc if task's xSecureContext is not NULL. */

+        "	it ne											\n"

+        "	svcne %0										\n"/* Secure context is freed in the supervisor call. */

+        "	bx lr											\n"/* Return. */

+        ::"i" ( portSVC_FREE_SECURE_CONTEXT ) : "memory"

+    );

 }

 /*-----------------------------------------------------------*/

diff --git a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33/portmacro.h b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33/portmacro.h
index 5c72828..7ffbea1 100644
--- a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33/portmacro.h
+++ b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33/portmacro.h
@@ -25,11 +25,11 @@
  */

 

 #ifndef PORTMACRO_H

-#define PORTMACRO_H

+    #define PORTMACRO_H

 

-#ifdef __cplusplus

-extern "C" {

-#endif

+    #ifdef __cplusplus

+        extern "C" {

+    #endif

 

 /*------------------------------------------------------------------------------

  * Port specific definitions.

@@ -41,109 +41,109 @@
  *------------------------------------------------------------------------------

  */

 

-#ifndef configENABLE_FPU

-	#error configENABLE_FPU must be defined in FreeRTOSConfig.h.  Set configENABLE_FPU to 1 to enable the FPU or 0 to disable the FPU.

-#endif /* configENABLE_FPU */

+    #ifndef configENABLE_FPU

+        #error configENABLE_FPU must be defined in FreeRTOSConfig.h.  Set configENABLE_FPU to 1 to enable the FPU or 0 to disable the FPU.

+    #endif /* configENABLE_FPU */

 

-#ifndef configENABLE_MPU

-	#error configENABLE_MPU must be defined in FreeRTOSConfig.h.  Set configENABLE_MPU to 1 to enable the MPU or 0 to disable the MPU.

-#endif /* configENABLE_MPU */

+    #ifndef configENABLE_MPU

+        #error configENABLE_MPU must be defined in FreeRTOSConfig.h.  Set configENABLE_MPU to 1 to enable the MPU or 0 to disable the MPU.

+    #endif /* configENABLE_MPU */

 

-#ifndef configENABLE_TRUSTZONE

-	#error configENABLE_TRUSTZONE must be defined in FreeRTOSConfig.h.  Set configENABLE_TRUSTZONE to 1 to enable TrustZone or 0 to disable TrustZone.

-#endif /* configENABLE_TRUSTZONE */

+    #ifndef configENABLE_TRUSTZONE

+        #error configENABLE_TRUSTZONE must be defined in FreeRTOSConfig.h.  Set configENABLE_TRUSTZONE to 1 to enable TrustZone or 0 to disable TrustZone.

+    #endif /* configENABLE_TRUSTZONE */

 

 /*-----------------------------------------------------------*/

 

 /**

  * @brief 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

+    #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;

+    typedef portSTACK_TYPE   StackType_t;

+    typedef long             BaseType_t;

+    typedef unsigned long    UBaseType_t;

 

-#if( configUSE_16_BIT_TICKS == 1 )

-	typedef uint16_t TickType_t;

-	#define portMAX_DELAY ( TickType_t )					0xffff

-#else

-	typedef uint32_t TickType_t;

-	#define portMAX_DELAY ( TickType_t )					0xffffffffUL

+    #if ( configUSE_16_BIT_TICKS == 1 )

+        typedef uint16_t     TickType_t;

+        #define portMAX_DELAY              ( TickType_t ) 0xffff

+    #else

+        typedef uint32_t     TickType_t;

+        #define portMAX_DELAY              ( TickType_t ) 0xffffffffUL

 

-	/* 32-bit tick type on a 32-bit architecture, so reads of the tick count do

-	 * not need to be guarded with a critical section. */

-	#define portTICK_TYPE_IS_ATOMIC							1

-#endif

+/* 32-bit tick type on a 32-bit architecture, so reads of the tick count do

+ * not need to be guarded with a critical section. */

+        #define portTICK_TYPE_IS_ATOMIC    1

+    #endif

 /*-----------------------------------------------------------*/

 

 /**

  * Architecture specifics.

  */

-#define portARCH_NAME										"Cortex-M33"

-#define portSTACK_GROWTH									( -1 )

-#define portTICK_PERIOD_MS									( ( TickType_t ) 1000 / configTICK_RATE_HZ )

-#define portBYTE_ALIGNMENT									8

-#define portNOP()

-#define portINLINE											__inline

-#ifndef portFORCE_INLINE

-	#define portFORCE_INLINE								inline __attribute__(( always_inline ))

-#endif

-#define portHAS_STACK_OVERFLOW_CHECKING						1

-#define portDONT_DISCARD									__attribute__(( used ))

+    #define portARCH_NAME                      "Cortex-M33"

+    #define portSTACK_GROWTH                   ( -1 )

+    #define portTICK_PERIOD_MS                 ( ( TickType_t ) 1000 / configTICK_RATE_HZ )

+    #define portBYTE_ALIGNMENT                 8

+    #define portNOP()

+    #define portINLINE                         __inline

+    #ifndef portFORCE_INLINE

+        #define portFORCE_INLINE               inline __attribute__( ( always_inline ) )

+    #endif

+    #define portHAS_STACK_OVERFLOW_CHECKING    1

+    #define portDONT_DISCARD                   __attribute__( ( used ) )

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Extern declarations.

  */

-extern BaseType_t xPortIsInsideInterrupt( void );

+    extern BaseType_t xPortIsInsideInterrupt( void );

 

-extern void vPortYield( void ) /* PRIVILEGED_FUNCTION */;

+    extern void vPortYield( void ) /* PRIVILEGED_FUNCTION */;

 

-extern void vPortEnterCritical( void ) /* PRIVILEGED_FUNCTION */;

-extern void vPortExitCritical( void ) /* PRIVILEGED_FUNCTION */;

+    extern void vPortEnterCritical( void ) /* PRIVILEGED_FUNCTION */;

+    extern void vPortExitCritical( void ) /* PRIVILEGED_FUNCTION */;

 

-extern uint32_t ulSetInterruptMask( void ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;

-extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;

+    extern uint32_t ulSetInterruptMask( void ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;

+    extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;

 

-#if( configENABLE_TRUSTZONE == 1 )

-	extern void vPortAllocateSecureContext( uint32_t ulSecureStackSize ); /* __attribute__ (( naked )) */

-	extern void vPortFreeSecureContext( uint32_t *pulTCB ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */;

-#endif /* configENABLE_TRUSTZONE */

+    #if ( configENABLE_TRUSTZONE == 1 )

+        extern void vPortAllocateSecureContext( uint32_t ulSecureStackSize ); /* __attribute__ (( naked )) */

+        extern void vPortFreeSecureContext( uint32_t * pulTCB ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */;

+    #endif /* configENABLE_TRUSTZONE */

 

-#if( configENABLE_MPU == 1 )

-	extern BaseType_t xIsPrivileged( void ) /* __attribute__ (( naked )) */;

-	extern void vResetPrivilege( void ) /* __attribute__ (( naked )) */;

-#endif /* configENABLE_MPU */

+    #if ( configENABLE_MPU == 1 )

+        extern BaseType_t xIsPrivileged( void ) /* __attribute__ (( naked )) */;

+        extern void vResetPrivilege( void ) /* __attribute__ (( naked )) */;

+    #endif /* configENABLE_MPU */

 /*-----------------------------------------------------------*/

 

 /**

  * @brief MPU specific constants.

  */

-#if( configENABLE_MPU == 1 )

-	#define portUSING_MPU_WRAPPERS							1

-	#define portPRIVILEGE_BIT								( 0x80000000UL )

-#else

-	#define portPRIVILEGE_BIT								( 0x0UL )

-#endif /* configENABLE_MPU */

+    #if ( configENABLE_MPU == 1 )

+        #define portUSING_MPU_WRAPPERS    1

+        #define portPRIVILEGE_BIT         ( 0x80000000UL )

+    #else

+        #define portPRIVILEGE_BIT         ( 0x0UL )

+    #endif /* configENABLE_MPU */

 

 

 /* MPU regions. */

-#define portPRIVILEGED_FLASH_REGION							( 0UL )

-#define portUNPRIVILEGED_FLASH_REGION						( 1UL )

-#define portUNPRIVILEGED_SYSCALLS_REGION					( 2UL )

-#define portPRIVILEGED_RAM_REGION							( 3UL )

-#define portSTACK_REGION									( 4UL )

-#define portFIRST_CONFIGURABLE_REGION						( 5UL )

-#define portLAST_CONFIGURABLE_REGION						( 7UL )

-#define portNUM_CONFIGURABLE_REGIONS						( ( portLAST_CONFIGURABLE_REGION - portFIRST_CONFIGURABLE_REGION ) + 1 )

-#define portTOTAL_NUM_REGIONS								( portNUM_CONFIGURABLE_REGIONS + 1 ) /* Plus one to make space for the stack region. */

+    #define portPRIVILEGED_FLASH_REGION                   ( 0UL )

+    #define portUNPRIVILEGED_FLASH_REGION                 ( 1UL )

+    #define portUNPRIVILEGED_SYSCALLS_REGION              ( 2UL )

+    #define portPRIVILEGED_RAM_REGION                     ( 3UL )

+    #define portSTACK_REGION                              ( 4UL )

+    #define portFIRST_CONFIGURABLE_REGION                 ( 5UL )

+    #define portLAST_CONFIGURABLE_REGION                  ( 7UL )

+    #define portNUM_CONFIGURABLE_REGIONS                  ( ( portLAST_CONFIGURABLE_REGION - portFIRST_CONFIGURABLE_REGION ) + 1 )

+    #define portTOTAL_NUM_REGIONS                         ( portNUM_CONFIGURABLE_REGIONS + 1 )   /* Plus one to make space for the stack region. */

 

 /* Device memory attributes used in MPU_MAIR registers.

  *

@@ -155,155 +155,157 @@
  *				11 --> Device-GRE

  *  Bit[1:0] - 00, Reserved.

  */

-#define portMPU_DEVICE_MEMORY_nGnRnE						( 0x00 ) /* 0000 0000 */

-#define portMPU_DEVICE_MEMORY_nGnRE							( 0x04 ) /* 0000 0100 */

-#define portMPU_DEVICE_MEMORY_nGRE							( 0x08 ) /* 0000 1000 */

-#define portMPU_DEVICE_MEMORY_GRE							( 0x0C ) /* 0000 1100 */

+    #define portMPU_DEVICE_MEMORY_nGnRnE                  ( 0x00 )   /* 0000 0000 */

+    #define portMPU_DEVICE_MEMORY_nGnRE                   ( 0x04 )   /* 0000 0100 */

+    #define portMPU_DEVICE_MEMORY_nGRE                    ( 0x08 )   /* 0000 1000 */

+    #define portMPU_DEVICE_MEMORY_GRE                     ( 0x0C )   /* 0000 1100 */

 

 /* Normal memory attributes used in MPU_MAIR registers. */

-#define portMPU_NORMAL_MEMORY_NON_CACHEABLE					( 0x44 ) /* Non-cacheable. */

-#define portMPU_NORMAL_MEMORY_BUFFERABLE_CACHEABLE			( 0xFF ) /* Non-Transient, Write-back, Read-Allocate and Write-Allocate. */

+    #define portMPU_NORMAL_MEMORY_NON_CACHEABLE           ( 0x44 )   /* Non-cacheable. */

+    #define portMPU_NORMAL_MEMORY_BUFFERABLE_CACHEABLE    ( 0xFF )   /* Non-Transient, Write-back, Read-Allocate and Write-Allocate. */

 

 /* Attributes used in MPU_RBAR registers. */

-#define portMPU_REGION_NON_SHAREABLE						( 0UL << 3UL )

-#define portMPU_REGION_INNER_SHAREABLE						( 1UL << 3UL )

-#define portMPU_REGION_OUTER_SHAREABLE						( 2UL << 3UL )

+    #define portMPU_REGION_NON_SHAREABLE                  ( 0UL << 3UL )

+    #define portMPU_REGION_INNER_SHAREABLE                ( 1UL << 3UL )

+    #define portMPU_REGION_OUTER_SHAREABLE                ( 2UL << 3UL )

 

-#define portMPU_REGION_PRIVILEGED_READ_WRITE				( 0UL << 1UL )

-#define portMPU_REGION_READ_WRITE							( 1UL << 1UL )

-#define portMPU_REGION_PRIVILEGED_READ_ONLY					( 2UL << 1UL )

-#define portMPU_REGION_READ_ONLY							( 3UL << 1UL )

+    #define portMPU_REGION_PRIVILEGED_READ_WRITE          ( 0UL << 1UL )

+    #define portMPU_REGION_READ_WRITE                     ( 1UL << 1UL )

+    #define portMPU_REGION_PRIVILEGED_READ_ONLY           ( 2UL << 1UL )

+    #define portMPU_REGION_READ_ONLY                      ( 3UL << 1UL )

 

-#define portMPU_REGION_EXECUTE_NEVER						( 1UL )

+    #define portMPU_REGION_EXECUTE_NEVER                  ( 1UL )

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Settings to define an MPU region.

  */

-typedef struct MPURegionSettings

-{

-	uint32_t ulRBAR;	/**< RBAR for the region. */

-	uint32_t ulRLAR;	/**< RLAR for the region. */

-} MPURegionSettings_t;

+    typedef struct MPURegionSettings

+    {

+        uint32_t ulRBAR; /**< RBAR for the region. */

+        uint32_t ulRLAR; /**< RLAR for the region. */

+    } MPURegionSettings_t;

 

 /**

  * @brief MPU settings as stored in the TCB.

  */

-typedef struct MPU_SETTINGS

-{

-	uint32_t ulMAIR0;	/**< MAIR0 for the task containing attributes for all the 4 per task regions. */

-	MPURegionSettings_t xRegionsSettings[ portTOTAL_NUM_REGIONS ]; /**< Settings for 4 per task regions. */

-} xMPU_SETTINGS;

+    typedef struct MPU_SETTINGS

+    {

+        uint32_t ulMAIR0;                                              /**< MAIR0 for the task containing attributes for all the 4 per task regions. */

+        MPURegionSettings_t xRegionsSettings[ portTOTAL_NUM_REGIONS ]; /**< Settings for 4 per task regions. */

+    } xMPU_SETTINGS;

 /*-----------------------------------------------------------*/

 

 /**

  * @brief SVC numbers.

  */

-#define portSVC_ALLOCATE_SECURE_CONTEXT						0

-#define portSVC_FREE_SECURE_CONTEXT							1

-#define portSVC_START_SCHEDULER								2

-#define portSVC_RAISE_PRIVILEGE								3

+    #define portSVC_ALLOCATE_SECURE_CONTEXT    0

+    #define portSVC_FREE_SECURE_CONTEXT        1

+    #define portSVC_START_SCHEDULER            2

+    #define portSVC_RAISE_PRIVILEGE            3

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Scheduler utilities.

  */

-#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 portYIELD_FROM_ISR( x )								portEND_SWITCHING_ISR( x )

+    #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 portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Critical section management.

  */

-#define portSET_INTERRUPT_MASK_FROM_ISR()					ulSetInterruptMask()

-#define portCLEAR_INTERRUPT_MASK_FROM_ISR( x )				vClearInterruptMask( x )

-#define portDISABLE_INTERRUPTS()							ulSetInterruptMask()

-#define portENABLE_INTERRUPTS()								vClearInterruptMask( 0 )

-#define portENTER_CRITICAL()								vPortEnterCritical()

-#define portEXIT_CRITICAL()									vPortExitCritical()

+    #define portSET_INTERRUPT_MASK_FROM_ISR()         ulSetInterruptMask()

+    #define portCLEAR_INTERRUPT_MASK_FROM_ISR( x )    vClearInterruptMask( x )

+    #define portDISABLE_INTERRUPTS()                  ulSetInterruptMask()

+    #define portENABLE_INTERRUPTS()                   vClearInterruptMask( 0 )

+    #define portENTER_CRITICAL()                      vPortEnterCritical()

+    #define portEXIT_CRITICAL()                       vPortExitCritical()

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Tickless idle/low power functionality.

  */

-#ifndef portSUPPRESS_TICKS_AND_SLEEP

-	extern void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime );

-	#define portSUPPRESS_TICKS_AND_SLEEP( xExpectedIdleTime ) vPortSuppressTicksAndSleep( xExpectedIdleTime )

-#endif

+    #ifndef portSUPPRESS_TICKS_AND_SLEEP

+        extern void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime );

+        #define portSUPPRESS_TICKS_AND_SLEEP( xExpectedIdleTime )    vPortSuppressTicksAndSleep( xExpectedIdleTime )

+    #endif

 /*-----------------------------------------------------------*/

 

 /**

  * @brief 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 )

 /*-----------------------------------------------------------*/

 

-#if( configENABLE_TRUSTZONE == 1 )

-	/**

-	 * @brief Allocate a secure context for the task.

-	 *

-	 * Tasks are not created with a secure context. Any task that is going to call

-	 * secure functions must call portALLOCATE_SECURE_CONTEXT() to allocate itself a

-	 * secure context before it calls any secure function.

-	 *

-	 * @param[in] ulSecureStackSize The size of the secure stack to be allocated.

-	 */

-	#define portALLOCATE_SECURE_CONTEXT( ulSecureStackSize )	vPortAllocateSecureContext( ulSecureStackSize )

+    #if ( configENABLE_TRUSTZONE == 1 )

 

-	/**

-	 * @brief Called when a task is deleted to delete the task's secure context,

-	 * if it has one.

-	 *

-	 * @param[in] pxTCB The TCB of the task being deleted.

-	 */

-	#define portCLEAN_UP_TCB( pxTCB )							vPortFreeSecureContext( ( uint32_t * ) pxTCB )

-#else

-	#define portALLOCATE_SECURE_CONTEXT( ulSecureStackSize )

-	#define portCLEAN_UP_TCB( pxTCB )

-#endif /* configENABLE_TRUSTZONE */

+/**

+ * @brief Allocate a secure context for the task.

+ *

+ * Tasks are not created with a secure context. Any task that is going to call

+ * secure functions must call portALLOCATE_SECURE_CONTEXT() to allocate itself a

+ * secure context before it calls any secure function.

+ *

+ * @param[in] ulSecureStackSize The size of the secure stack to be allocated.

+ */

+        #define portALLOCATE_SECURE_CONTEXT( ulSecureStackSize )    vPortAllocateSecureContext( ulSecureStackSize )

+

+/**

+ * @brief Called when a task is deleted to delete the task's secure context,

+ * if it has one.

+ *

+ * @param[in] pxTCB The TCB of the task being deleted.

+ */

+        #define portCLEAN_UP_TCB( pxTCB )                           vPortFreeSecureContext( ( uint32_t * ) pxTCB )

+    #else

+        #define portALLOCATE_SECURE_CONTEXT( ulSecureStackSize )

+        #define portCLEAN_UP_TCB( pxTCB )

+    #endif /* configENABLE_TRUSTZONE */

 /*-----------------------------------------------------------*/

 

-#if( configENABLE_MPU == 1 )

-	/**

-	 * @brief Checks whether or not the processor is privileged.

-	 *

-	 * @return 1 if the processor is already privileged, 0 otherwise.

-	 */

-	#define portIS_PRIVILEGED()									xIsPrivileged()

+    #if ( configENABLE_MPU == 1 )

 

-	/**

-	 * @brief Raise an SVC request to raise privilege.

-	 *

-	 * The SVC handler checks that the SVC was raised from a system call and only

-	 * then it raises the privilege. If this is called from any other place,

-	 * the privilege is not raised.

-	 */

-	#define portRAISE_PRIVILEGE()								__asm volatile ( "svc %0 \n" :: "i" ( portSVC_RAISE_PRIVILEGE ) : "memory" );

+/**

+ * @brief Checks whether or not the processor is privileged.

+ *

+ * @return 1 if the processor is already privileged, 0 otherwise.

+ */

+        #define portIS_PRIVILEGED()      xIsPrivileged()

 

-	/**

-	 * @brief Lowers the privilege level by setting the bit 0 of the CONTROL

-	 * register.

-	 */

-	#define portRESET_PRIVILEGE()								vResetPrivilege()

-#else

-	#define portIS_PRIVILEGED()

-	#define portRAISE_PRIVILEGE()

-	#define portRESET_PRIVILEGE()

-#endif /* configENABLE_MPU */

+/**

+ * @brief Raise an SVC request to raise privilege.

+ *

+ * The SVC handler checks that the SVC was raised from a system call and only

+ * then it raises the privilege. If this is called from any other place,

+ * the privilege is not raised.

+ */

+        #define portRAISE_PRIVILEGE()    __asm volatile ( "svc %0 \n" ::"i" ( portSVC_RAISE_PRIVILEGE ) : "memory" );

+

+/**

+ * @brief Lowers the privilege level by setting the bit 0 of the CONTROL

+ * register.

+ */

+        #define portRESET_PRIVILEGE()    vResetPrivilege()

+    #else

+        #define portIS_PRIVILEGED()

+        #define portRAISE_PRIVILEGE()

+        #define portRESET_PRIVILEGE()

+    #endif /* configENABLE_MPU */

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Barriers.

  */

-#define portMEMORY_BARRIER() __asm volatile( "" ::: "memory" )

+    #define portMEMORY_BARRIER()    __asm volatile ( "" ::: "memory" )

 /*-----------------------------------------------------------*/

 

-#ifdef __cplusplus

-}

-#endif

+    #ifdef __cplusplus

+        }

+    #endif

 

 #endif /* PORTMACRO_H */

diff --git a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33_NTZ/portasm.c b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33_NTZ/portasm.c
index e39acaf..1a397bc 100644
--- a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33_NTZ/portasm.c
+++ b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33_NTZ/portasm.c
@@ -40,276 +40,276 @@
 

 void vRestoreContextOfFirstTask( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */

 {

-	__asm volatile

-	(

-	"	.syntax unified									\n"

-	"													\n"

-	"	ldr  r2, pxCurrentTCBConst2						\n" /* Read the location of pxCurrentTCB i.e. &( pxCurrentTCB ). */

-	"	ldr  r1, [r2]									\n" /* Read pxCurrentTCB. */

-	"	ldr  r0, [r1]									\n" /* Read top of stack from TCB - The first item in pxCurrentTCB is the task top of stack. */

-	"													\n"

-	#if( configENABLE_MPU == 1 )

-	"	dmb												\n" /* Complete outstanding transfers before disabling MPU. */

-	"	ldr r2, xMPUCTRLConst2							\n" /* r2 = 0xe000ed94 [Location of MPU_CTRL]. */

-	"	ldr r4, [r2]									\n" /* Read the value of MPU_CTRL. */

-	"	bic r4, #1										\n" /* r4 = r4 & ~1 i.e. Clear the bit 0 in r4. */

-	"	str r4, [r2]									\n" /* Disable MPU. */

-	"													\n"

-	"	adds r1, #4										\n" /* r1 = r1 + 4. r1 now points to MAIR0 in TCB. */

-	"	ldr  r3, [r1]									\n" /* r3 = *r1 i.e. r3 = MAIR0. */

-	"	ldr  r2, xMAIR0Const2							\n" /* r2 = 0xe000edc0 [Location of MAIR0]. */

-	"	str  r3, [r2]									\n" /* Program MAIR0. */

-	"	ldr  r2, xRNRConst2								\n" /* r2 = 0xe000ed98 [Location of RNR]. */

-	"	movs r3, #4										\n" /* r3 = 4. */

-	"	str  r3, [r2]									\n" /* Program RNR = 4. */

-	"	adds r1, #4										\n" /* r1 = r1 + 4. r1 now points to first RBAR in TCB. */

-	"	ldr  r2, xRBARConst2							\n" /* r2 = 0xe000ed9c [Location of RBAR]. */

-	"	ldmia r1!, {r4-r11}								\n" /* Read 4 set of RBAR/RLAR registers from TCB. */

-	"	stmia r2!, {r4-r11}								\n" /* Write 4 set of RBAR/RLAR registers using alias registers. */

-	"													\n"

-	"	ldr r2, xMPUCTRLConst2							\n" /* r2 = 0xe000ed94 [Location of MPU_CTRL]. */

-	"	ldr r4, [r2]									\n" /* Read the value of MPU_CTRL. */

-	"	orr r4, #1										\n" /* r4 = r4 | 1 i.e. Set the bit 0 in r4. */

-	"	str r4, [r2]									\n" /* Enable MPU. */

-	"	dsb												\n" /* Force memory writes before continuing. */

-	#endif /* configENABLE_MPU */

-	"													\n"

-	#if( configENABLE_MPU == 1 )

-	"	ldm  r0!, {r1-r3}								\n" /* Read from stack - r1 = PSPLIM, r2 = CONTROL and r3 = EXC_RETURN. */

-	"	msr  psplim, r1									\n" /* Set this task's PSPLIM value. */

-	"	msr  control, r2								\n" /* Set this task's CONTROL value. */

-	"	adds r0, #32									\n" /* Discard everything up to r0. */

-	"	msr  psp, r0									\n" /* This is now the new top of stack to use in the task. */

-	"	isb												\n"

-	"	bx   r3											\n" /* Finally, branch to EXC_RETURN. */

-	#else /* configENABLE_MPU */

-	"	ldm  r0!, {r1-r2}								\n" /* Read from stack - r1 = PSPLIM and r2 = EXC_RETURN. */

-	"	msr  psplim, r1									\n" /* Set this task's PSPLIM value. */

-	"	movs r1, #2										\n" /* r1 = 2. */

-	"	msr  CONTROL, r1								\n" /* Switch to use PSP in the thread mode. */

-	"	adds r0, #32									\n" /* Discard everything up to r0. */

-	"	msr  psp, r0									\n" /* This is now the new top of stack to use in the task. */

-	"	isb												\n"

-	"	bx   r2											\n" /* Finally, branch to EXC_RETURN. */

-	#endif /* configENABLE_MPU */

-	"													\n"

-	"	.align 4										\n"

-	"pxCurrentTCBConst2: .word pxCurrentTCB				\n"

-	#if( configENABLE_MPU == 1 )

-	"xMPUCTRLConst2: .word 0xe000ed94					\n"

-	"xMAIR0Const2: .word 0xe000edc0						\n"

-	"xRNRConst2: .word 0xe000ed98						\n"

-	"xRBARConst2: .word 0xe000ed9c						\n"

-	#endif /* configENABLE_MPU */

-	);

+    __asm volatile

+    (

+        "	.syntax unified									\n"

+        "													\n"

+        "	ldr  r2, pxCurrentTCBConst2						\n"/* Read the location of pxCurrentTCB i.e. &( pxCurrentTCB ). */

+        "	ldr  r1, [r2]									\n"/* Read pxCurrentTCB. */

+        "	ldr  r0, [r1]									\n"/* Read top of stack from TCB - The first item in pxCurrentTCB is the task top of stack. */

+        "													\n"

+        #if ( configENABLE_MPU == 1 )

+            "	dmb												\n"/* Complete outstanding transfers before disabling MPU. */

+            "	ldr r2, xMPUCTRLConst2							\n"/* r2 = 0xe000ed94 [Location of MPU_CTRL]. */

+            "	ldr r4, [r2]									\n"/* Read the value of MPU_CTRL. */

+            "	bic r4, #1										\n"/* r4 = r4 & ~1 i.e. Clear the bit 0 in r4. */

+            "	str r4, [r2]									\n"/* Disable MPU. */

+            "													\n"

+            "	adds r1, #4										\n"/* r1 = r1 + 4. r1 now points to MAIR0 in TCB. */

+            "	ldr  r3, [r1]									\n"/* r3 = *r1 i.e. r3 = MAIR0. */

+            "	ldr  r2, xMAIR0Const2							\n"/* r2 = 0xe000edc0 [Location of MAIR0]. */

+            "	str  r3, [r2]									\n"/* Program MAIR0. */

+            "	ldr  r2, xRNRConst2								\n"/* r2 = 0xe000ed98 [Location of RNR]. */

+            "	movs r3, #4										\n"/* r3 = 4. */

+            "	str  r3, [r2]									\n"/* Program RNR = 4. */

+            "	adds r1, #4										\n"/* r1 = r1 + 4. r1 now points to first RBAR in TCB. */

+            "	ldr  r2, xRBARConst2							\n"/* r2 = 0xe000ed9c [Location of RBAR]. */

+            "	ldmia r1!, {r4-r11}								\n"/* Read 4 set of RBAR/RLAR registers from TCB. */

+            "	stmia r2!, {r4-r11}								\n"/* Write 4 set of RBAR/RLAR registers using alias registers. */

+            "													\n"

+            "	ldr r2, xMPUCTRLConst2							\n"/* r2 = 0xe000ed94 [Location of MPU_CTRL]. */

+            "	ldr r4, [r2]									\n"/* Read the value of MPU_CTRL. */

+            "	orr r4, #1										\n"/* r4 = r4 | 1 i.e. Set the bit 0 in r4. */

+            "	str r4, [r2]									\n"/* Enable MPU. */

+            "	dsb												\n"/* Force memory writes before continuing. */

+        #endif /* configENABLE_MPU */

+        "													\n"

+        #if ( configENABLE_MPU == 1 )

+            "	ldm  r0!, {r1-r3}								\n"/* Read from stack - r1 = PSPLIM, r2 = CONTROL and r3 = EXC_RETURN. */

+            "	msr  psplim, r1									\n"/* Set this task's PSPLIM value. */

+            "	msr  control, r2								\n"/* Set this task's CONTROL value. */

+            "	adds r0, #32									\n"/* Discard everything up to r0. */

+            "	msr  psp, r0									\n"/* This is now the new top of stack to use in the task. */

+            "	isb												\n"

+            "	bx   r3											\n"/* Finally, branch to EXC_RETURN. */

+        #else /* configENABLE_MPU */

+            "	ldm  r0!, {r1-r2}								\n"/* Read from stack - r1 = PSPLIM and r2 = EXC_RETURN. */

+            "	msr  psplim, r1									\n"/* Set this task's PSPLIM value. */

+            "	movs r1, #2										\n"/* r1 = 2. */

+            "	msr  CONTROL, r1								\n"/* Switch to use PSP in the thread mode. */

+            "	adds r0, #32									\n"/* Discard everything up to r0. */

+            "	msr  psp, r0									\n"/* This is now the new top of stack to use in the task. */

+            "	isb												\n"

+            "	bx   r2											\n"/* Finally, branch to EXC_RETURN. */

+        #endif /* configENABLE_MPU */

+        "													\n"

+        "	.align 4										\n"

+        "pxCurrentTCBConst2: .word pxCurrentTCB				\n"

+        #if ( configENABLE_MPU == 1 )

+            "xMPUCTRLConst2: .word 0xe000ed94					\n"

+            "xMAIR0Const2: .word 0xe000edc0						\n"

+            "xRNRConst2: .word 0xe000ed98						\n"

+            "xRBARConst2: .word 0xe000ed9c						\n"

+        #endif /* configENABLE_MPU */

+    );

 }

 /*-----------------------------------------------------------*/

 

 BaseType_t xIsPrivileged( void ) /* __attribute__ (( naked )) */

 {

-	__asm volatile

-	(

-	"	mrs r0, control									\n" /* r0 = CONTROL. */

-	"	tst r0, #1										\n" /* Perform r0 & 1 (bitwise AND) and update the conditions flag. */

-	"	ite ne											\n"

-	"	movne r0, #0									\n" /* CONTROL[0]!=0. Return false to indicate that the processor is not privileged. */

-	"	moveq r0, #1									\n" /* CONTROL[0]==0. Return true to indicate that the processor is privileged. */

-	"	bx lr											\n" /* Return. */

-	"													\n"

-	"	.align 4										\n"

-	::: "r0", "memory"

-	);

+    __asm volatile

+    (

+        "	mrs r0, control									\n"/* r0 = CONTROL. */

+        "	tst r0, #1										\n"/* Perform r0 & 1 (bitwise AND) and update the conditions flag. */

+        "	ite ne											\n"

+        "	movne r0, #0									\n"/* CONTROL[0]!=0. Return false to indicate that the processor is not privileged. */

+        "	moveq r0, #1									\n"/* CONTROL[0]==0. Return true to indicate that the processor is privileged. */

+        "	bx lr											\n"/* Return. */

+        "													\n"

+        "	.align 4										\n"

+        ::: "r0", "memory"

+    );

 }

 /*-----------------------------------------------------------*/

 

 void vRaisePrivilege( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */

 {

-	 __asm volatile

-	(

-	"	mrs  r0, control								\n" /* Read the CONTROL register. */

-	"	bic r0, #1										\n" /* Clear the bit 0. */

-	"	msr  control, r0								\n" /* Write back the new CONTROL value. */

-	"	bx lr											\n" /* Return to the caller. */

-	::: "r0", "memory"

-	);

+    __asm volatile

+    (

+        "	mrs  r0, control								\n"/* Read the CONTROL register. */

+        "	bic r0, #1										\n"/* Clear the bit 0. */

+        "	msr  control, r0								\n"/* Write back the new CONTROL value. */

+        "	bx lr											\n"/* Return to the caller. */

+        ::: "r0", "memory"

+    );

 }

 /*-----------------------------------------------------------*/

 

 void vResetPrivilege( void ) /* __attribute__ (( naked )) */

 {

-	__asm volatile

-	(

-	"	mrs r0, control									\n" /* r0 = CONTROL. */

-	"	orr r0, #1										\n" /* r0 = r0 | 1. */

-	"	msr control, r0									\n" /* CONTROL = r0. */

-	"	bx lr											\n" /* Return to the caller. */

-	:::"r0", "memory"

-	);

+    __asm volatile

+    (

+        "	mrs r0, control									\n"/* r0 = CONTROL. */

+        "	orr r0, #1										\n"/* r0 = r0 | 1. */

+        "	msr control, r0									\n"/* CONTROL = r0. */

+        "	bx lr											\n"/* Return to the caller. */

+        ::: "r0", "memory"

+    );

 }

 /*-----------------------------------------------------------*/

 

 void vStartFirstTask( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */

 {

-	__asm volatile

-	(

-	"	ldr r0, xVTORConst								\n" /* Use the NVIC offset register to locate the stack. */

-	"	ldr r0, [r0]									\n" /* Read the VTOR register which gives the address of vector table. */

-	"	ldr r0, [r0]									\n" /* The first entry in vector table is stack pointer. */

-	"	msr msp, r0										\n" /* Set the MSP back to the start of the stack. */

-	"	cpsie i											\n" /* Globally enable interrupts. */

-	"	cpsie f											\n"

-	"	dsb												\n"

-	"	isb												\n"

-	"	svc %0											\n" /* System call to start the first task. */

-	"	nop												\n"

-	"													\n"

-	"   .align 4										\n"

-	"xVTORConst: .word 0xe000ed08						\n"

-	:: "i" ( portSVC_START_SCHEDULER ) : "memory"

-	);

+    __asm volatile

+    (

+        "	ldr r0, xVTORConst								\n"/* Use the NVIC offset register to locate the stack. */

+        "	ldr r0, [r0]									\n"/* Read the VTOR register which gives the address of vector table. */

+        "	ldr r0, [r0]									\n"/* The first entry in vector table is stack pointer. */

+        "	msr msp, r0										\n"/* Set the MSP back to the start of the stack. */

+        "	cpsie i											\n"/* Globally enable interrupts. */

+        "	cpsie f											\n"

+        "	dsb												\n"

+        "	isb												\n"

+        "	svc %0											\n"/* System call to start the first task. */

+        "	nop												\n"

+        "													\n"

+        "   .align 4										\n"

+        "xVTORConst: .word 0xe000ed08						\n"

+        ::"i" ( portSVC_START_SCHEDULER ) : "memory"

+    );

 }

 /*-----------------------------------------------------------*/

 

 uint32_t ulSetInterruptMask( void ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */

 {

-	__asm volatile

-	(

-	"	mrs r0, basepri									\n" /* r0 = basepri. Return original basepri value. */

-	"	mov r1, %0										\n" /* r1 = configMAX_SYSCALL_INTERRUPT_PRIORITY. */

-	"	msr basepri, r1									\n" /* Disable interrupts upto configMAX_SYSCALL_INTERRUPT_PRIORITY. */

-	"	dsb												\n"

-	"	isb												\n"

-	"	bx lr											\n" /* Return. */

-	:: "i" ( configMAX_SYSCALL_INTERRUPT_PRIORITY ) : "memory"

-	);

+    __asm volatile

+    (

+        "	mrs r0, basepri									\n"/* r0 = basepri. Return original basepri value. */

+        "	mov r1, %0										\n"/* r1 = configMAX_SYSCALL_INTERRUPT_PRIORITY. */

+        "	msr basepri, r1									\n"/* Disable interrupts upto configMAX_SYSCALL_INTERRUPT_PRIORITY. */

+        "	dsb												\n"

+        "	isb												\n"

+        "	bx lr											\n"/* Return. */

+        ::"i" ( configMAX_SYSCALL_INTERRUPT_PRIORITY ) : "memory"

+    );

 }

 /*-----------------------------------------------------------*/

 

 void vClearInterruptMask( __attribute__( ( unused ) ) uint32_t ulMask ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */

 {

-	__asm volatile

-	(

-	"	msr basepri, r0									\n" /* basepri = ulMask. */

-	"	dsb												\n"

-	"	isb												\n"

-	"	bx lr											\n" /* Return. */

-	::: "memory"

-	);

+    __asm volatile

+    (

+        "	msr basepri, r0									\n"/* basepri = ulMask. */

+        "	dsb												\n"

+        "	isb												\n"

+        "	bx lr											\n"/* Return. */

+        ::: "memory"

+    );

 }

 /*-----------------------------------------------------------*/

 

 void PendSV_Handler( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */

 {

-	__asm volatile

-	(

-	"	.syntax unified									\n"

-	"													\n"

-	"	mrs r0, psp										\n" /* Read PSP in r0. */

-	#if( configENABLE_FPU == 1 )

-	"	tst lr, #0x10									\n" /* Test Bit[4] in LR. Bit[4] of EXC_RETURN is 0 if the FPU is in use. */

-	"	it eq											\n"

-	"	vstmdbeq r0!, {s16-s31}							\n" /* Store the FPU registers which are not saved automatically. */

-	#endif /* configENABLE_FPU */

-	#if( configENABLE_MPU == 1 )

-	"	mrs r1, psplim									\n" /* r1 = PSPLIM. */

-	"	mrs r2, control									\n" /* r2 = CONTROL. */

-	"	mov r3, lr										\n" /* r3 = LR/EXC_RETURN. */

-	"	stmdb r0!, {r1-r11}								\n" /* Store on the stack - PSPLIM, CONTROL, LR and registers that are not automatically saved. */

-	#else /* configENABLE_MPU */

-	"	mrs r2, psplim									\n" /* r2 = PSPLIM. */

-	"	mov r3, lr										\n" /* r3 = LR/EXC_RETURN. */

-	"	stmdb r0!, {r2-r11}								\n" /* Store on the stack - PSPLIM, LR and registers that are not automatically saved. */

-	#endif /* configENABLE_MPU */

-	"													\n"

-	"	ldr r2, pxCurrentTCBConst						\n" /* Read the location of pxCurrentTCB i.e. &( pxCurrentTCB ). */

-	"	ldr r1, [r2]									\n" /* Read pxCurrentTCB. */

-	"	str r0, [r1]									\n" /* Save the new top of stack in TCB. */

-	"													\n"

-	"	mov r0, %0										\n" /* r0 = configMAX_SYSCALL_INTERRUPT_PRIORITY */

-	"	msr basepri, r0									\n" /* Disable interrupts upto configMAX_SYSCALL_INTERRUPT_PRIORITY. */

-	"	dsb												\n"

-	"	isb												\n"

-	"	bl vTaskSwitchContext							\n"

-	"	mov r0, #0										\n" /* r0 = 0. */

-	"	msr basepri, r0									\n" /* Enable interrupts. */

-	"													\n"

-	"	ldr r2, pxCurrentTCBConst						\n" /* Read the location of pxCurrentTCB i.e. &( pxCurrentTCB ). */

-	"	ldr r1, [r2]									\n" /* Read pxCurrentTCB. */

-	"	ldr r0, [r1]									\n" /* The first item in pxCurrentTCB is the task top of stack. r0 now points to the top of stack. */

-	"													\n"

-	#if( configENABLE_MPU == 1 )

-	"	dmb												\n" /* Complete outstanding transfers before disabling MPU. */

-	"	ldr r2, xMPUCTRLConst							\n" /* r2 = 0xe000ed94 [Location of MPU_CTRL]. */

-	"	ldr r4, [r2]									\n" /* Read the value of MPU_CTRL. */

-	"	bic r4, #1										\n" /* r4 = r4 & ~1 i.e. Clear the bit 0 in r4. */

-	"	str r4, [r2]									\n" /* Disable MPU. */

-	"													\n"

-	"	adds r1, #4										\n" /* r1 = r1 + 4. r1 now points to MAIR0 in TCB. */

-	"	ldr r3, [r1]									\n" /* r3 = *r1 i.e. r3 = MAIR0. */

-	"	ldr r2, xMAIR0Const								\n" /* r2 = 0xe000edc0 [Location of MAIR0]. */

-	"	str r3, [r2]									\n" /* Program MAIR0. */

-	"	ldr r2, xRNRConst								\n" /* r2 = 0xe000ed98 [Location of RNR]. */

-	"	movs r3, #4										\n" /* r3 = 4. */

-	"	str r3, [r2]									\n" /* Program RNR = 4. */

-	"	adds r1, #4										\n" /* r1 = r1 + 4. r1 now points to first RBAR in TCB. */

-	"	ldr r2, xRBARConst								\n" /* r2 = 0xe000ed9c [Location of RBAR]. */

-	"	ldmia r1!, {r4-r11}								\n" /* Read 4 sets of RBAR/RLAR registers from TCB. */

-	"	stmia r2!, {r4-r11}								\n" /* Write 4 set of RBAR/RLAR registers using alias registers. */

-	"													\n"

-	"	ldr r2, xMPUCTRLConst							\n" /* r2 = 0xe000ed94 [Location of MPU_CTRL]. */

-	"	ldr r4, [r2]									\n" /* Read the value of MPU_CTRL. */

-	"	orr r4, #1										\n" /* r4 = r4 | 1 i.e. Set the bit 0 in r4. */

-	"	str r4, [r2]									\n" /* Enable MPU. */

-	"	dsb												\n" /* Force memory writes before continuing. */

-	#endif /* configENABLE_MPU */

-	"													\n"

-	#if( configENABLE_MPU == 1 )

-	"	ldmia r0!, {r1-r11}								\n" /* Read from stack - r1 = PSPLIM, r2 = CONTROL, r3 = LR and r4-r11 restored. */

-	#else /* configENABLE_MPU */

-	"	ldmia r0!, {r2-r11}								\n" /* Read from stack - r2 = PSPLIM, r3 = LR and r4-r11 restored. */

-	#endif /* configENABLE_MPU */

-	"													\n"

-	#if( configENABLE_FPU == 1 )

-	"	tst r3, #0x10									\n" /* Test Bit[4] in LR. Bit[4] of EXC_RETURN is 0 if the FPU is in use. */

-	"	it eq											\n"

-	"	vldmiaeq r0!, {s16-s31}							\n" /* Restore the FPU registers which are not restored automatically. */

-	#endif /* configENABLE_FPU */

-	"													\n"

-	#if( configENABLE_MPU == 1 )

-	"	msr psplim, r1									\n" /* Restore the PSPLIM register value for the task. */

-	"	msr control, r2									\n" /* Restore the CONTROL register value for the task. */

-	#else /* configENABLE_MPU */

-	"	msr psplim, r2									\n" /* Restore the PSPLIM register value for the task. */

-	#endif /* configENABLE_MPU */

-	"	msr psp, r0										\n" /* Remember the new top of stack for the task. */

-	"	bx r3											\n"

-	"													\n"

-	"	.align 4										\n"

-	"pxCurrentTCBConst: .word pxCurrentTCB				\n"

-	#if( configENABLE_MPU == 1 )

-	"xMPUCTRLConst: .word 0xe000ed94					\n"

-	"xMAIR0Const: .word 0xe000edc0						\n"

-	"xRNRConst: .word 0xe000ed98						\n"

-	"xRBARConst: .word 0xe000ed9c						\n"

-	#endif /* configENABLE_MPU */

-	:: "i"( configMAX_SYSCALL_INTERRUPT_PRIORITY )

-	);

+    __asm volatile

+    (

+        "	.syntax unified									\n"

+        "													\n"

+        "	mrs r0, psp										\n"/* Read PSP in r0. */

+        #if ( configENABLE_FPU == 1 )

+            "	tst lr, #0x10									\n"/* Test Bit[4] in LR. Bit[4] of EXC_RETURN is 0 if the FPU is in use. */

+            "	it eq											\n"

+            "	vstmdbeq r0!, {s16-s31}							\n"/* Store the FPU registers which are not saved automatically. */

+        #endif /* configENABLE_FPU */

+        #if ( configENABLE_MPU == 1 )

+            "	mrs r1, psplim									\n"/* r1 = PSPLIM. */

+            "	mrs r2, control									\n"/* r2 = CONTROL. */

+            "	mov r3, lr										\n"/* r3 = LR/EXC_RETURN. */

+            "	stmdb r0!, {r1-r11}								\n"/* Store on the stack - PSPLIM, CONTROL, LR and registers that are not automatically saved. */

+        #else /* configENABLE_MPU */

+            "	mrs r2, psplim									\n"/* r2 = PSPLIM. */

+            "	mov r3, lr										\n"/* r3 = LR/EXC_RETURN. */

+            "	stmdb r0!, {r2-r11}								\n"/* Store on the stack - PSPLIM, LR and registers that are not automatically saved. */

+        #endif /* configENABLE_MPU */

+        "													\n"

+        "	ldr r2, pxCurrentTCBConst						\n"/* Read the location of pxCurrentTCB i.e. &( pxCurrentTCB ). */

+        "	ldr r1, [r2]									\n"/* Read pxCurrentTCB. */

+        "	str r0, [r1]									\n"/* Save the new top of stack in TCB. */

+        "													\n"

+        "	mov r0, %0										\n"/* r0 = configMAX_SYSCALL_INTERRUPT_PRIORITY */

+        "	msr basepri, r0									\n"/* Disable interrupts upto configMAX_SYSCALL_INTERRUPT_PRIORITY. */

+        "	dsb												\n"

+        "	isb												\n"

+        "	bl vTaskSwitchContext							\n"

+        "	mov r0, #0										\n"/* r0 = 0. */

+        "	msr basepri, r0									\n"/* Enable interrupts. */

+        "													\n"

+        "	ldr r2, pxCurrentTCBConst						\n"/* Read the location of pxCurrentTCB i.e. &( pxCurrentTCB ). */

+        "	ldr r1, [r2]									\n"/* Read pxCurrentTCB. */

+        "	ldr r0, [r1]									\n"/* The first item in pxCurrentTCB is the task top of stack. r0 now points to the top of stack. */

+        "													\n"

+        #if ( configENABLE_MPU == 1 )

+            "	dmb												\n"/* Complete outstanding transfers before disabling MPU. */

+            "	ldr r2, xMPUCTRLConst							\n"/* r2 = 0xe000ed94 [Location of MPU_CTRL]. */

+            "	ldr r4, [r2]									\n"/* Read the value of MPU_CTRL. */

+            "	bic r4, #1										\n"/* r4 = r4 & ~1 i.e. Clear the bit 0 in r4. */

+            "	str r4, [r2]									\n"/* Disable MPU. */

+            "													\n"

+            "	adds r1, #4										\n"/* r1 = r1 + 4. r1 now points to MAIR0 in TCB. */

+            "	ldr r3, [r1]									\n"/* r3 = *r1 i.e. r3 = MAIR0. */

+            "	ldr r2, xMAIR0Const								\n"/* r2 = 0xe000edc0 [Location of MAIR0]. */

+            "	str r3, [r2]									\n"/* Program MAIR0. */

+            "	ldr r2, xRNRConst								\n"/* r2 = 0xe000ed98 [Location of RNR]. */

+            "	movs r3, #4										\n"/* r3 = 4. */

+            "	str r3, [r2]									\n"/* Program RNR = 4. */

+            "	adds r1, #4										\n"/* r1 = r1 + 4. r1 now points to first RBAR in TCB. */

+            "	ldr r2, xRBARConst								\n"/* r2 = 0xe000ed9c [Location of RBAR]. */

+            "	ldmia r1!, {r4-r11}								\n"/* Read 4 sets of RBAR/RLAR registers from TCB. */

+            "	stmia r2!, {r4-r11}								\n"/* Write 4 set of RBAR/RLAR registers using alias registers. */

+            "													\n"

+            "	ldr r2, xMPUCTRLConst							\n"/* r2 = 0xe000ed94 [Location of MPU_CTRL]. */

+            "	ldr r4, [r2]									\n"/* Read the value of MPU_CTRL. */

+            "	orr r4, #1										\n"/* r4 = r4 | 1 i.e. Set the bit 0 in r4. */

+            "	str r4, [r2]									\n"/* Enable MPU. */

+            "	dsb												\n"/* Force memory writes before continuing. */

+        #endif /* configENABLE_MPU */

+        "													\n"

+        #if ( configENABLE_MPU == 1 )

+            "	ldmia r0!, {r1-r11}								\n"/* Read from stack - r1 = PSPLIM, r2 = CONTROL, r3 = LR and r4-r11 restored. */

+        #else /* configENABLE_MPU */

+            "	ldmia r0!, {r2-r11}								\n"/* Read from stack - r2 = PSPLIM, r3 = LR and r4-r11 restored. */

+        #endif /* configENABLE_MPU */

+        "													\n"

+        #if ( configENABLE_FPU == 1 )

+            "	tst r3, #0x10									\n"/* Test Bit[4] in LR. Bit[4] of EXC_RETURN is 0 if the FPU is in use. */

+            "	it eq											\n"

+            "	vldmiaeq r0!, {s16-s31}							\n"/* Restore the FPU registers which are not restored automatically. */

+        #endif /* configENABLE_FPU */

+        "													\n"

+        #if ( configENABLE_MPU == 1 )

+            "	msr psplim, r1									\n"/* Restore the PSPLIM register value for the task. */

+            "	msr control, r2									\n"/* Restore the CONTROL register value for the task. */

+        #else /* configENABLE_MPU */

+            "	msr psplim, r2									\n"/* Restore the PSPLIM register value for the task. */

+        #endif /* configENABLE_MPU */

+        "	msr psp, r0										\n"/* Remember the new top of stack for the task. */

+        "	bx r3											\n"

+        "													\n"

+        "	.align 4										\n"

+        "pxCurrentTCBConst: .word pxCurrentTCB				\n"

+        #if ( configENABLE_MPU == 1 )

+            "xMPUCTRLConst: .word 0xe000ed94					\n"

+            "xMAIR0Const: .word 0xe000edc0						\n"

+            "xRNRConst: .word 0xe000ed98						\n"

+            "xRBARConst: .word 0xe000ed9c						\n"

+        #endif /* configENABLE_MPU */

+        ::"i" ( configMAX_SYSCALL_INTERRUPT_PRIORITY )

+    );

 }

 /*-----------------------------------------------------------*/

 

 void SVC_Handler( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */

 {

-	__asm volatile

-	(

-	"	tst lr, #4										\n"

-	"	ite eq											\n"

-	"	mrseq r0, msp									\n"

-	"	mrsne r0, psp									\n"

-	"	ldr r1, svchandler_address_const				\n"

-	"	bx r1											\n"

-	"													\n"

-	"	.align 4										\n"

-	"svchandler_address_const: .word vPortSVCHandler_C	\n"

-	);

+    __asm volatile

+    (

+        "	tst lr, #4										\n"

+        "	ite eq											\n"

+        "	mrseq r0, msp									\n"

+        "	mrsne r0, psp									\n"

+        "	ldr r1, svchandler_address_const				\n"

+        "	bx r1											\n"

+        "													\n"

+        "	.align 4										\n"

+        "svchandler_address_const: .word vPortSVCHandler_C	\n"

+    );

 }

 /*-----------------------------------------------------------*/

diff --git a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33_NTZ/portmacro.h b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33_NTZ/portmacro.h
index 0d6954b..7ffbea1 100644
--- a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33_NTZ/portmacro.h
+++ b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33_NTZ/portmacro.h
@@ -25,11 +25,11 @@
  */

 

 #ifndef PORTMACRO_H

-#define PORTMACRO_H

+    #define PORTMACRO_H

 

-#ifdef __cplusplus

-extern "C" {

-#endif

+    #ifdef __cplusplus

+        extern "C" {

+    #endif

 

 /*------------------------------------------------------------------------------

  * Port specific definitions.

@@ -41,109 +41,109 @@
  *------------------------------------------------------------------------------

  */

 

-#ifndef configENABLE_FPU

-	#error configENABLE_FPU must be defined in FreeRTOSConfig.h.  Set configENABLE_FPU to 1 to enable the FPU or 0 to disable the FPU.

-#endif /* configENABLE_FPU */

+    #ifndef configENABLE_FPU

+        #error configENABLE_FPU must be defined in FreeRTOSConfig.h.  Set configENABLE_FPU to 1 to enable the FPU or 0 to disable the FPU.

+    #endif /* configENABLE_FPU */

 

-#ifndef configENABLE_MPU

-	#error configENABLE_MPU must be defined in FreeRTOSConfig.h.  Set configENABLE_MPU to 1 to enable the MPU or 0 to disable the MPU.

-#endif /* configENABLE_MPU */

+    #ifndef configENABLE_MPU

+        #error configENABLE_MPU must be defined in FreeRTOSConfig.h.  Set configENABLE_MPU to 1 to enable the MPU or 0 to disable the MPU.

+    #endif /* configENABLE_MPU */

 

-#ifndef configENABLE_TRUSTZONE

-	#error configENABLE_TRUSTZONE must be defined in FreeRTOSConfig.h.  Set configENABLE_TRUSTZONE to 1 to enable TrustZone or 0 to disable TrustZone.

-#endif /* configENABLE_TRUSTZONE */

+    #ifndef configENABLE_TRUSTZONE

+        #error configENABLE_TRUSTZONE must be defined in FreeRTOSConfig.h.  Set configENABLE_TRUSTZONE to 1 to enable TrustZone or 0 to disable TrustZone.

+    #endif /* configENABLE_TRUSTZONE */

 

 /*-----------------------------------------------------------*/

 

 /**

  * @brief 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

+    #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;

+    typedef portSTACK_TYPE   StackType_t;

+    typedef long             BaseType_t;

+    typedef unsigned long    UBaseType_t;

 

-#if( configUSE_16_BIT_TICKS == 1 )

-	typedef uint16_t TickType_t;

-	#define portMAX_DELAY ( TickType_t )					0xffff

-#else

-	typedef uint32_t TickType_t;

-	#define portMAX_DELAY ( TickType_t )					0xffffffffUL

+    #if ( configUSE_16_BIT_TICKS == 1 )

+        typedef uint16_t     TickType_t;

+        #define portMAX_DELAY              ( TickType_t ) 0xffff

+    #else

+        typedef uint32_t     TickType_t;

+        #define portMAX_DELAY              ( TickType_t ) 0xffffffffUL

 

-	/* 32-bit tick type on a 32-bit architecture, so reads of the tick count do

-	 * not need to be guarded with a critical section. */

-	#define portTICK_TYPE_IS_ATOMIC							1

-#endif

+/* 32-bit tick type on a 32-bit architecture, so reads of the tick count do

+ * not need to be guarded with a critical section. */

+        #define portTICK_TYPE_IS_ATOMIC    1

+    #endif

 /*-----------------------------------------------------------*/

 

 /**

  * Architecture specifics.

  */

-#define portARCH_NAME										"Cortex-M33"

-#define portSTACK_GROWTH									( -1 )

-#define portTICK_PERIOD_MS									( ( TickType_t ) 1000 / configTICK_RATE_HZ )

-#define portBYTE_ALIGNMENT									8

-#define portNOP()

-#define portINLINE											__inline

-#ifndef portFORCE_INLINE

-	#define portFORCE_INLINE								inline __attribute__(( always_inline ))

-#endif

-#define portHAS_STACK_OVERFLOW_CHECKING						1

-#define portDONT_DISCARD									__attribute__(( used ))

+    #define portARCH_NAME                      "Cortex-M33"

+    #define portSTACK_GROWTH                   ( -1 )

+    #define portTICK_PERIOD_MS                 ( ( TickType_t ) 1000 / configTICK_RATE_HZ )

+    #define portBYTE_ALIGNMENT                 8

+    #define portNOP()

+    #define portINLINE                         __inline

+    #ifndef portFORCE_INLINE

+        #define portFORCE_INLINE               inline __attribute__( ( always_inline ) )

+    #endif

+    #define portHAS_STACK_OVERFLOW_CHECKING    1

+    #define portDONT_DISCARD                   __attribute__( ( used ) )

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Extern declarations.

  */

-extern BaseType_t xPortIsInsideInterrupt( void );

+    extern BaseType_t xPortIsInsideInterrupt( void );

 

-extern void vPortYield( void ) /* PRIVILEGED_FUNCTION */;

+    extern void vPortYield( void ) /* PRIVILEGED_FUNCTION */;

 

-extern void vPortEnterCritical( void ) /* PRIVILEGED_FUNCTION */;

-extern void vPortExitCritical( void ) /* PRIVILEGED_FUNCTION */;

+    extern void vPortEnterCritical( void ) /* PRIVILEGED_FUNCTION */;

+    extern void vPortExitCritical( void ) /* PRIVILEGED_FUNCTION */;

 

-extern uint32_t ulSetInterruptMask( void ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;

-extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;

+    extern uint32_t ulSetInterruptMask( void ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;

+    extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;

 

-#if( configENABLE_TRUSTZONE == 1 )

-	extern void vPortAllocateSecureContext( uint32_t ulSecureStackSize ); /* __attribute__ (( naked )) */

-	extern void vPortFreeSecureContext( uint32_t *pulTCB ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */;

-#endif /* configENABLE_TRUSTZONE */

+    #if ( configENABLE_TRUSTZONE == 1 )

+        extern void vPortAllocateSecureContext( uint32_t ulSecureStackSize ); /* __attribute__ (( naked )) */

+        extern void vPortFreeSecureContext( uint32_t * pulTCB ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */;

+    #endif /* configENABLE_TRUSTZONE */

 

-#if( configENABLE_MPU == 1 )

-	extern BaseType_t xIsPrivileged( void ) /* __attribute__ (( naked )) */;

-	extern void vResetPrivilege( void ) /* __attribute__ (( naked )) */;

-#endif /* configENABLE_MPU */

+    #if ( configENABLE_MPU == 1 )

+        extern BaseType_t xIsPrivileged( void ) /* __attribute__ (( naked )) */;

+        extern void vResetPrivilege( void ) /* __attribute__ (( naked )) */;

+    #endif /* configENABLE_MPU */

 /*-----------------------------------------------------------*/

 

 /**

  * @brief MPU specific constants.

  */

-#if( configENABLE_MPU == 1 )

-	#define portUSING_MPU_WRAPPERS							1

-	#define portPRIVILEGE_BIT								( 0x80000000UL )

-#else

-	#define portPRIVILEGE_BIT								( 0x0UL )

-#endif /* configENABLE_MPU */

+    #if ( configENABLE_MPU == 1 )

+        #define portUSING_MPU_WRAPPERS    1

+        #define portPRIVILEGE_BIT         ( 0x80000000UL )

+    #else

+        #define portPRIVILEGE_BIT         ( 0x0UL )

+    #endif /* configENABLE_MPU */

 

 

 /* MPU regions. */

-#define portPRIVILEGED_FLASH_REGION							( 0UL )

-#define portUNPRIVILEGED_FLASH_REGION						( 1UL )

-#define portUNPRIVILEGED_SYSCALLS_REGION					( 2UL )

-#define portPRIVILEGED_RAM_REGION							( 3UL )

-#define portSTACK_REGION									( 4UL )

-#define portFIRST_CONFIGURABLE_REGION						( 5UL )

-#define portLAST_CONFIGURABLE_REGION						( 7UL )

-#define portNUM_CONFIGURABLE_REGIONS						( ( portLAST_CONFIGURABLE_REGION - portFIRST_CONFIGURABLE_REGION ) + 1 )

-#define portTOTAL_NUM_REGIONS								( portNUM_CONFIGURABLE_REGIONS + 1 ) /* Plus one to make space for the stack region. */

+    #define portPRIVILEGED_FLASH_REGION                   ( 0UL )

+    #define portUNPRIVILEGED_FLASH_REGION                 ( 1UL )

+    #define portUNPRIVILEGED_SYSCALLS_REGION              ( 2UL )

+    #define portPRIVILEGED_RAM_REGION                     ( 3UL )

+    #define portSTACK_REGION                              ( 4UL )

+    #define portFIRST_CONFIGURABLE_REGION                 ( 5UL )

+    #define portLAST_CONFIGURABLE_REGION                  ( 7UL )

+    #define portNUM_CONFIGURABLE_REGIONS                  ( ( portLAST_CONFIGURABLE_REGION - portFIRST_CONFIGURABLE_REGION ) + 1 )

+    #define portTOTAL_NUM_REGIONS                         ( portNUM_CONFIGURABLE_REGIONS + 1 )   /* Plus one to make space for the stack region. */

 

 /* Device memory attributes used in MPU_MAIR registers.

  *

@@ -155,155 +155,157 @@
  *				11 --> Device-GRE

  *  Bit[1:0] - 00, Reserved.

  */

-#define portMPU_DEVICE_MEMORY_nGnRnE						( 0x00 ) /* 0000 0000 */

-#define portMPU_DEVICE_MEMORY_nGnRE							( 0x04 ) /* 0000 0100 */

-#define portMPU_DEVICE_MEMORY_nGRE							( 0x08 ) /* 0000 1000 */

-#define portMPU_DEVICE_MEMORY_GRE							( 0x0C ) /* 0000 1100 */

+    #define portMPU_DEVICE_MEMORY_nGnRnE                  ( 0x00 )   /* 0000 0000 */

+    #define portMPU_DEVICE_MEMORY_nGnRE                   ( 0x04 )   /* 0000 0100 */

+    #define portMPU_DEVICE_MEMORY_nGRE                    ( 0x08 )   /* 0000 1000 */

+    #define portMPU_DEVICE_MEMORY_GRE                     ( 0x0C )   /* 0000 1100 */

 

 /* Normal memory attributes used in MPU_MAIR registers. */

-#define portMPU_NORMAL_MEMORY_NON_CACHEABLE					( 0x44 ) /* Non-cacheable. */

-#define portMPU_NORMAL_MEMORY_BUFFERABLE_CACHEABLE			( 0xFF ) /* Non-Transient, Write-back, Read-Allocate and Write-Allocate. */

+    #define portMPU_NORMAL_MEMORY_NON_CACHEABLE           ( 0x44 )   /* Non-cacheable. */

+    #define portMPU_NORMAL_MEMORY_BUFFERABLE_CACHEABLE    ( 0xFF )   /* Non-Transient, Write-back, Read-Allocate and Write-Allocate. */

 

 /* Attributes used in MPU_RBAR registers. */

-#define portMPU_REGION_NON_SHAREABLE						( 0UL << 3UL )

-#define portMPU_REGION_INNER_SHAREABLE						( 1UL << 3UL )

-#define portMPU_REGION_OUTER_SHAREABLE						( 2UL << 3UL )

+    #define portMPU_REGION_NON_SHAREABLE                  ( 0UL << 3UL )

+    #define portMPU_REGION_INNER_SHAREABLE                ( 1UL << 3UL )

+    #define portMPU_REGION_OUTER_SHAREABLE                ( 2UL << 3UL )

 

-#define portMPU_REGION_PRIVILEGED_READ_WRITE				( 0UL << 1UL )

-#define portMPU_REGION_READ_WRITE							( 1UL << 1UL )

-#define portMPU_REGION_PRIVILEGED_READ_ONLY					( 2UL << 1UL )

-#define portMPU_REGION_READ_ONLY							( 3UL << 1UL )

+    #define portMPU_REGION_PRIVILEGED_READ_WRITE          ( 0UL << 1UL )

+    #define portMPU_REGION_READ_WRITE                     ( 1UL << 1UL )

+    #define portMPU_REGION_PRIVILEGED_READ_ONLY           ( 2UL << 1UL )

+    #define portMPU_REGION_READ_ONLY                      ( 3UL << 1UL )

 

-#define portMPU_REGION_EXECUTE_NEVER						( 1UL )

+    #define portMPU_REGION_EXECUTE_NEVER                  ( 1UL )

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Settings to define an MPU region.

  */

-typedef struct MPURegionSettings

-{

-	uint32_t ulRBAR;	/**< RBAR for the region. */

-	uint32_t ulRLAR;	/**< RLAR for the region. */

-} MPURegionSettings_t;

+    typedef struct MPURegionSettings

+    {

+        uint32_t ulRBAR; /**< RBAR for the region. */

+        uint32_t ulRLAR; /**< RLAR for the region. */

+    } MPURegionSettings_t;

 

 /**

  * @brief MPU settings as stored in the TCB.

  */

-typedef struct MPU_SETTINGS

-{

-	uint32_t ulMAIR0;	/**< MAIR0 for the task containing attributes for all the 4 per task regions. */

-	MPURegionSettings_t xRegionsSettings[ portTOTAL_NUM_REGIONS ]; /**< Settings for 4 per task regions. */

-} xMPU_SETTINGS;

+    typedef struct MPU_SETTINGS

+    {

+        uint32_t ulMAIR0;                                              /**< MAIR0 for the task containing attributes for all the 4 per task regions. */

+        MPURegionSettings_t xRegionsSettings[ portTOTAL_NUM_REGIONS ]; /**< Settings for 4 per task regions. */

+    } xMPU_SETTINGS;

 /*-----------------------------------------------------------*/

 

 /**

  * @brief SVC numbers.

  */

-#define portSVC_ALLOCATE_SECURE_CONTEXT						0

-#define portSVC_FREE_SECURE_CONTEXT							1

-#define portSVC_START_SCHEDULER								2

-#define portSVC_RAISE_PRIVILEGE								3

+    #define portSVC_ALLOCATE_SECURE_CONTEXT    0

+    #define portSVC_FREE_SECURE_CONTEXT        1

+    #define portSVC_START_SCHEDULER            2

+    #define portSVC_RAISE_PRIVILEGE            3

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Scheduler utilities.

  */

-#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 portYIELD_FROM_ISR( x )								portEND_SWITCHING_ISR( x )

+    #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 portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Critical section management.

  */

-#define portSET_INTERRUPT_MASK_FROM_ISR()					ulSetInterruptMask()

-#define portCLEAR_INTERRUPT_MASK_FROM_ISR(x)				vClearInterruptMask( x )

-#define portDISABLE_INTERRUPTS()							ulSetInterruptMask()

-#define portENABLE_INTERRUPTS()								vClearInterruptMask( 0 )

-#define portENTER_CRITICAL()								vPortEnterCritical()

-#define portEXIT_CRITICAL()									vPortExitCritical()

+    #define portSET_INTERRUPT_MASK_FROM_ISR()         ulSetInterruptMask()

+    #define portCLEAR_INTERRUPT_MASK_FROM_ISR( x )    vClearInterruptMask( x )

+    #define portDISABLE_INTERRUPTS()                  ulSetInterruptMask()

+    #define portENABLE_INTERRUPTS()                   vClearInterruptMask( 0 )

+    #define portENTER_CRITICAL()                      vPortEnterCritical()

+    #define portEXIT_CRITICAL()                       vPortExitCritical()

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Tickless idle/low power functionality.

  */

-#ifndef portSUPPRESS_TICKS_AND_SLEEP

-	extern void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime );

-	#define portSUPPRESS_TICKS_AND_SLEEP( xExpectedIdleTime ) vPortSuppressTicksAndSleep( xExpectedIdleTime )

-#endif

+    #ifndef portSUPPRESS_TICKS_AND_SLEEP

+        extern void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime );

+        #define portSUPPRESS_TICKS_AND_SLEEP( xExpectedIdleTime )    vPortSuppressTicksAndSleep( xExpectedIdleTime )

+    #endif

 /*-----------------------------------------------------------*/

 

 /**

  * @brief 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 )

 /*-----------------------------------------------------------*/

 

-#if( configENABLE_TRUSTZONE == 1 )

-	/**

-	 * @brief Allocate a secure context for the task.

-	 *

-	 * Tasks are not created with a secure context. Any task that is going to call

-	 * secure functions must call portALLOCATE_SECURE_CONTEXT() to allocate itself a

-	 * secure context before it calls any secure function.

-	 *

-	 * @param[in] ulSecureStackSize The size of the secure stack to be allocated.

-	 */

-	#define portALLOCATE_SECURE_CONTEXT( ulSecureStackSize )	vPortAllocateSecureContext( ulSecureStackSize )

+    #if ( configENABLE_TRUSTZONE == 1 )

 

-	/**

-	 * @brief Called when a task is deleted to delete the task's secure context,

-	 * if it has one.

-	 *

-	 * @param[in] pxTCB The TCB of the task being deleted.

-	 */

-	#define portCLEAN_UP_TCB( pxTCB )							vPortFreeSecureContext( ( uint32_t * ) pxTCB )

-#else

-	#define portALLOCATE_SECURE_CONTEXT( ulSecureStackSize )

-	#define portCLEAN_UP_TCB( pxTCB )

-#endif /* configENABLE_TRUSTZONE */

+/**

+ * @brief Allocate a secure context for the task.

+ *

+ * Tasks are not created with a secure context. Any task that is going to call

+ * secure functions must call portALLOCATE_SECURE_CONTEXT() to allocate itself a

+ * secure context before it calls any secure function.

+ *

+ * @param[in] ulSecureStackSize The size of the secure stack to be allocated.

+ */

+        #define portALLOCATE_SECURE_CONTEXT( ulSecureStackSize )    vPortAllocateSecureContext( ulSecureStackSize )

+

+/**

+ * @brief Called when a task is deleted to delete the task's secure context,

+ * if it has one.

+ *

+ * @param[in] pxTCB The TCB of the task being deleted.

+ */

+        #define portCLEAN_UP_TCB( pxTCB )                           vPortFreeSecureContext( ( uint32_t * ) pxTCB )

+    #else

+        #define portALLOCATE_SECURE_CONTEXT( ulSecureStackSize )

+        #define portCLEAN_UP_TCB( pxTCB )

+    #endif /* configENABLE_TRUSTZONE */

 /*-----------------------------------------------------------*/

 

-#if( configENABLE_MPU == 1 )

-	/**

-	 * @brief Checks whether or not the processor is privileged.

-	 *

-	 * @return 1 if the processor is already privileged, 0 otherwise.

-	 */

-	#define portIS_PRIVILEGED()									xIsPrivileged()

+    #if ( configENABLE_MPU == 1 )

 

-	/**

-	 * @brief Raise an SVC request to raise privilege.

-	 *

-	 * The SVC handler checks that the SVC was raised from a system call and only

-	 * then it raises the privilege. If this is called from any other place,

-	 * the privilege is not raised.

-	 */

-	#define portRAISE_PRIVILEGE()								__asm volatile ( "svc %0 \n" :: "i" ( portSVC_RAISE_PRIVILEGE ) : "memory" );

+/**

+ * @brief Checks whether or not the processor is privileged.

+ *

+ * @return 1 if the processor is already privileged, 0 otherwise.

+ */

+        #define portIS_PRIVILEGED()      xIsPrivileged()

 

-	/**

-	 * @brief Lowers the privilege level by setting the bit 0 of the CONTROL

-	 * register.

-	 */

-	#define portRESET_PRIVILEGE()								vResetPrivilege()

-#else

-	#define portIS_PRIVILEGED()

-	#define portRAISE_PRIVILEGE()

-	#define portRESET_PRIVILEGE()

-#endif /* configENABLE_MPU */

+/**

+ * @brief Raise an SVC request to raise privilege.

+ *

+ * The SVC handler checks that the SVC was raised from a system call and only

+ * then it raises the privilege. If this is called from any other place,

+ * the privilege is not raised.

+ */

+        #define portRAISE_PRIVILEGE()    __asm volatile ( "svc %0 \n" ::"i" ( portSVC_RAISE_PRIVILEGE ) : "memory" );

+

+/**

+ * @brief Lowers the privilege level by setting the bit 0 of the CONTROL

+ * register.

+ */

+        #define portRESET_PRIVILEGE()    vResetPrivilege()

+    #else

+        #define portIS_PRIVILEGED()

+        #define portRAISE_PRIVILEGE()

+        #define portRESET_PRIVILEGE()

+    #endif /* configENABLE_MPU */

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Barriers.

  */

-#define portMEMORY_BARRIER() __asm volatile( "" ::: "memory" )

+    #define portMEMORY_BARRIER()    __asm volatile ( "" ::: "memory" )

 /*-----------------------------------------------------------*/

 

-#ifdef __cplusplus

-}

-#endif

+    #ifdef __cplusplus

+        }

+    #endif

 

 #endif /* PORTMACRO_H */

diff --git a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23/portmacro.h b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23/portmacro.h
index 821b56b..52cb223 100644
--- a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23/portmacro.h
+++ b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23/portmacro.h
@@ -25,11 +25,11 @@
  */

 

 #ifndef PORTMACRO_H

-#define PORTMACRO_H

+    #define PORTMACRO_H

 

-#ifdef __cplusplus

-extern "C" {

-#endif

+    #ifdef __cplusplus

+        extern "C" {

+    #endif

 

 /*------------------------------------------------------------------------------

  * Port specific definitions.

@@ -41,109 +41,109 @@
  *------------------------------------------------------------------------------

  */

 

-#ifndef configENABLE_FPU

-	#error configENABLE_FPU must be defined in FreeRTOSConfig.h.  Set configENABLE_FPU to 1 to enable the FPU or 0 to disable the FPU.

-#endif /* configENABLE_FPU */

+    #ifndef configENABLE_FPU

+        #error configENABLE_FPU must be defined in FreeRTOSConfig.h.  Set configENABLE_FPU to 1 to enable the FPU or 0 to disable the FPU.

+    #endif /* configENABLE_FPU */

 

-#ifndef configENABLE_MPU

-	#error configENABLE_MPU must be defined in FreeRTOSConfig.h.  Set configENABLE_MPU to 1 to enable the MPU or 0 to disable the MPU.

-#endif /* configENABLE_MPU */

+    #ifndef configENABLE_MPU

+        #error configENABLE_MPU must be defined in FreeRTOSConfig.h.  Set configENABLE_MPU to 1 to enable the MPU or 0 to disable the MPU.

+    #endif /* configENABLE_MPU */

 

-#ifndef configENABLE_TRUSTZONE

-	#error configENABLE_TRUSTZONE must be defined in FreeRTOSConfig.h.  Set configENABLE_TRUSTZONE to 1 to enable TrustZone or 0 to disable TrustZone.

-#endif /* configENABLE_TRUSTZONE */

+    #ifndef configENABLE_TRUSTZONE

+        #error configENABLE_TRUSTZONE must be defined in FreeRTOSConfig.h.  Set configENABLE_TRUSTZONE to 1 to enable TrustZone or 0 to disable TrustZone.

+    #endif /* configENABLE_TRUSTZONE */

 

 /*-----------------------------------------------------------*/

 

 /**

  * @brief 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

+    #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;

+    typedef portSTACK_TYPE   StackType_t;

+    typedef long             BaseType_t;

+    typedef unsigned long    UBaseType_t;

 

-#if( configUSE_16_BIT_TICKS == 1 )

-	typedef uint16_t TickType_t;

-	#define portMAX_DELAY ( TickType_t )					0xffff

-#else

-	typedef uint32_t TickType_t;

-	#define portMAX_DELAY ( TickType_t )					0xffffffffUL

+    #if ( configUSE_16_BIT_TICKS == 1 )

+        typedef uint16_t     TickType_t;

+        #define portMAX_DELAY              ( TickType_t ) 0xffff

+    #else

+        typedef uint32_t     TickType_t;

+        #define portMAX_DELAY              ( TickType_t ) 0xffffffffUL

 

-	/* 32-bit tick type on a 32-bit architecture, so reads of the tick count do

-	 * not need to be guarded with a critical section. */

-	#define portTICK_TYPE_IS_ATOMIC							1

-#endif

+/* 32-bit tick type on a 32-bit architecture, so reads of the tick count do

+ * not need to be guarded with a critical section. */

+        #define portTICK_TYPE_IS_ATOMIC    1

+    #endif

 /*-----------------------------------------------------------*/

 

 /**

  * Architecture specifics.

  */

-#define portARCH_NAME										"Cortex-M23"

-#define portSTACK_GROWTH									( -1 )

-#define portTICK_PERIOD_MS									( ( TickType_t ) 1000 / configTICK_RATE_HZ )

-#define portBYTE_ALIGNMENT									8

-#define portNOP()

-#define portINLINE											__inline

-#ifndef portFORCE_INLINE

-	#define portFORCE_INLINE								inline __attribute__(( always_inline ))

-#endif

-#define portHAS_STACK_OVERFLOW_CHECKING						1

-#define portDONT_DISCARD									__root

+    #define portARCH_NAME                      "Cortex-M23"

+    #define portSTACK_GROWTH                   ( -1 )

+    #define portTICK_PERIOD_MS                 ( ( TickType_t ) 1000 / configTICK_RATE_HZ )

+    #define portBYTE_ALIGNMENT                 8

+    #define portNOP()

+    #define portINLINE                         __inline

+    #ifndef portFORCE_INLINE

+        #define portFORCE_INLINE               inline __attribute__( ( always_inline ) )

+    #endif

+    #define portHAS_STACK_OVERFLOW_CHECKING    1

+    #define portDONT_DISCARD                   __root

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Extern declarations.

  */

-extern BaseType_t xPortIsInsideInterrupt( void );

+    extern BaseType_t xPortIsInsideInterrupt( void );

 

-extern void vPortYield( void ) /* PRIVILEGED_FUNCTION */;

+    extern void vPortYield( void ) /* PRIVILEGED_FUNCTION */;

 

-extern void vPortEnterCritical( void ) /* PRIVILEGED_FUNCTION */;

-extern void vPortExitCritical( void ) /* PRIVILEGED_FUNCTION */;

+    extern void vPortEnterCritical( void ) /* PRIVILEGED_FUNCTION */;

+    extern void vPortExitCritical( void ) /* PRIVILEGED_FUNCTION */;

 

-extern uint32_t ulSetInterruptMask( void ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;

-extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;

+    extern uint32_t ulSetInterruptMask( void ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;

+    extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;

 

-#if( configENABLE_TRUSTZONE == 1 )

-	extern void vPortAllocateSecureContext( uint32_t ulSecureStackSize ); /* __attribute__ (( naked )) */

-	extern void vPortFreeSecureContext( uint32_t *pulTCB ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */;

-#endif /* configENABLE_TRUSTZONE */

+    #if ( configENABLE_TRUSTZONE == 1 )

+        extern void vPortAllocateSecureContext( uint32_t ulSecureStackSize ); /* __attribute__ (( naked )) */

+        extern void vPortFreeSecureContext( uint32_t * pulTCB ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */;

+    #endif /* configENABLE_TRUSTZONE */

 

-#if( configENABLE_MPU == 1 )

-	extern BaseType_t xIsPrivileged( void ) /* __attribute__ (( naked )) */;

-	extern void vResetPrivilege( void ) /* __attribute__ (( naked )) */;

-#endif /* configENABLE_MPU */

+    #if ( configENABLE_MPU == 1 )

+        extern BaseType_t xIsPrivileged( void ) /* __attribute__ (( naked )) */;

+        extern void vResetPrivilege( void ) /* __attribute__ (( naked )) */;

+    #endif /* configENABLE_MPU */

 /*-----------------------------------------------------------*/

 

 /**

  * @brief MPU specific constants.

  */

-#if( configENABLE_MPU == 1 )

-	#define portUSING_MPU_WRAPPERS							1

-	#define portPRIVILEGE_BIT								( 0x80000000UL )

-#else

-	#define portPRIVILEGE_BIT								( 0x0UL )

-#endif /* configENABLE_MPU */

+    #if ( configENABLE_MPU == 1 )

+        #define portUSING_MPU_WRAPPERS    1

+        #define portPRIVILEGE_BIT         ( 0x80000000UL )

+    #else

+        #define portPRIVILEGE_BIT         ( 0x0UL )

+    #endif /* configENABLE_MPU */

 

 

 /* MPU regions. */

-#define portPRIVILEGED_FLASH_REGION							( 0UL )

-#define portUNPRIVILEGED_FLASH_REGION						( 1UL )

-#define portUNPRIVILEGED_SYSCALLS_REGION					( 2UL )

-#define portPRIVILEGED_RAM_REGION							( 3UL )

-#define portSTACK_REGION									( 4UL )

-#define portFIRST_CONFIGURABLE_REGION						( 5UL )

-#define portLAST_CONFIGURABLE_REGION						( 7UL )

-#define portNUM_CONFIGURABLE_REGIONS						( ( portLAST_CONFIGURABLE_REGION - portFIRST_CONFIGURABLE_REGION ) + 1 )

-#define portTOTAL_NUM_REGIONS								( portNUM_CONFIGURABLE_REGIONS + 1 ) /* Plus one to make space for the stack region. */

+    #define portPRIVILEGED_FLASH_REGION                   ( 0UL )

+    #define portUNPRIVILEGED_FLASH_REGION                 ( 1UL )

+    #define portUNPRIVILEGED_SYSCALLS_REGION              ( 2UL )

+    #define portPRIVILEGED_RAM_REGION                     ( 3UL )

+    #define portSTACK_REGION                              ( 4UL )

+    #define portFIRST_CONFIGURABLE_REGION                 ( 5UL )

+    #define portLAST_CONFIGURABLE_REGION                  ( 7UL )

+    #define portNUM_CONFIGURABLE_REGIONS                  ( ( portLAST_CONFIGURABLE_REGION - portFIRST_CONFIGURABLE_REGION ) + 1 )

+    #define portTOTAL_NUM_REGIONS                         ( portNUM_CONFIGURABLE_REGIONS + 1 )   /* Plus one to make space for the stack region. */

 

 /* Device memory attributes used in MPU_MAIR registers.

  *

@@ -155,162 +155,164 @@
  *				11 --> Device-GRE

  *  Bit[1:0] - 00, Reserved.

  */

-#define portMPU_DEVICE_MEMORY_nGnRnE						( 0x00 ) /* 0000 0000 */

-#define portMPU_DEVICE_MEMORY_nGnRE							( 0x04 ) /* 0000 0100 */

-#define portMPU_DEVICE_MEMORY_nGRE							( 0x08 ) /* 0000 1000 */

-#define portMPU_DEVICE_MEMORY_GRE							( 0x0C ) /* 0000 1100 */

+    #define portMPU_DEVICE_MEMORY_nGnRnE                  ( 0x00 )   /* 0000 0000 */

+    #define portMPU_DEVICE_MEMORY_nGnRE                   ( 0x04 )   /* 0000 0100 */

+    #define portMPU_DEVICE_MEMORY_nGRE                    ( 0x08 )   /* 0000 1000 */

+    #define portMPU_DEVICE_MEMORY_GRE                     ( 0x0C )   /* 0000 1100 */

 

 /* Normal memory attributes used in MPU_MAIR registers. */

-#define portMPU_NORMAL_MEMORY_NON_CACHEABLE					( 0x44 ) /* Non-cacheable. */

-#define portMPU_NORMAL_MEMORY_BUFFERABLE_CACHEABLE			( 0xFF ) /* Non-Transient, Write-back, Read-Allocate and Write-Allocate. */

+    #define portMPU_NORMAL_MEMORY_NON_CACHEABLE           ( 0x44 )   /* Non-cacheable. */

+    #define portMPU_NORMAL_MEMORY_BUFFERABLE_CACHEABLE    ( 0xFF )   /* Non-Transient, Write-back, Read-Allocate and Write-Allocate. */

 

 /* Attributes used in MPU_RBAR registers. */

-#define portMPU_REGION_NON_SHAREABLE						( 0UL << 3UL )

-#define portMPU_REGION_INNER_SHAREABLE						( 1UL << 3UL )

-#define portMPU_REGION_OUTER_SHAREABLE						( 2UL << 3UL )

+    #define portMPU_REGION_NON_SHAREABLE                  ( 0UL << 3UL )

+    #define portMPU_REGION_INNER_SHAREABLE                ( 1UL << 3UL )

+    #define portMPU_REGION_OUTER_SHAREABLE                ( 2UL << 3UL )

 

-#define portMPU_REGION_PRIVILEGED_READ_WRITE				( 0UL << 1UL )

-#define portMPU_REGION_READ_WRITE							( 1UL << 1UL )

-#define portMPU_REGION_PRIVILEGED_READ_ONLY					( 2UL << 1UL )

-#define portMPU_REGION_READ_ONLY							( 3UL << 1UL )

+    #define portMPU_REGION_PRIVILEGED_READ_WRITE          ( 0UL << 1UL )

+    #define portMPU_REGION_READ_WRITE                     ( 1UL << 1UL )

+    #define portMPU_REGION_PRIVILEGED_READ_ONLY           ( 2UL << 1UL )

+    #define portMPU_REGION_READ_ONLY                      ( 3UL << 1UL )

 

-#define portMPU_REGION_EXECUTE_NEVER						( 1UL )

+    #define portMPU_REGION_EXECUTE_NEVER                  ( 1UL )

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Settings to define an MPU region.

  */

-typedef struct MPURegionSettings

-{

-	uint32_t ulRBAR;	/**< RBAR for the region. */

-	uint32_t ulRLAR;	/**< RLAR for the region. */

-} MPURegionSettings_t;

+    typedef struct MPURegionSettings

+    {

+        uint32_t ulRBAR; /**< RBAR for the region. */

+        uint32_t ulRLAR; /**< RLAR for the region. */

+    } MPURegionSettings_t;

 

 /**

  * @brief MPU settings as stored in the TCB.

  */

-typedef struct MPU_SETTINGS

-{

-	uint32_t ulMAIR0;	/**< MAIR0 for the task containing attributes for all the 4 per task regions. */

-	MPURegionSettings_t xRegionsSettings[ portTOTAL_NUM_REGIONS ]; /**< Settings for 4 per task regions. */

-} xMPU_SETTINGS;

+    typedef struct MPU_SETTINGS

+    {

+        uint32_t ulMAIR0;                                              /**< MAIR0 for the task containing attributes for all the 4 per task regions. */

+        MPURegionSettings_t xRegionsSettings[ portTOTAL_NUM_REGIONS ]; /**< Settings for 4 per task regions. */

+    } xMPU_SETTINGS;

 /*-----------------------------------------------------------*/

 

 /**

  * @brief SVC numbers.

  */

-#define portSVC_ALLOCATE_SECURE_CONTEXT						0

-#define portSVC_FREE_SECURE_CONTEXT							1

-#define portSVC_START_SCHEDULER								2

-#define portSVC_RAISE_PRIVILEGE								3

+    #define portSVC_ALLOCATE_SECURE_CONTEXT    0

+    #define portSVC_FREE_SECURE_CONTEXT        1

+    #define portSVC_START_SCHEDULER            2

+    #define portSVC_RAISE_PRIVILEGE            3

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Scheduler utilities.

  */

-#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 portYIELD_FROM_ISR( x )								portEND_SWITCHING_ISR( x )

+    #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 portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Tickless idle/low power functionality.

  */

-#ifndef portSUPPRESS_TICKS_AND_SLEEP

-	extern void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime );

-	#define portSUPPRESS_TICKS_AND_SLEEP( xExpectedIdleTime ) vPortSuppressTicksAndSleep( xExpectedIdleTime )

-#endif

+    #ifndef portSUPPRESS_TICKS_AND_SLEEP

+        extern void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime );

+        #define portSUPPRESS_TICKS_AND_SLEEP( xExpectedIdleTime )    vPortSuppressTicksAndSleep( xExpectedIdleTime )

+    #endif

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Critical section management.

  */

-#define portSET_INTERRUPT_MASK_FROM_ISR()					ulSetInterruptMask()

-#define portCLEAR_INTERRUPT_MASK_FROM_ISR(x)				vClearInterruptMask( x )

-#define portDISABLE_INTERRUPTS()							__asm volatile ( " cpsid i " ::: "memory" )

-#define portENABLE_INTERRUPTS()								__asm volatile ( " cpsie i " ::: "memory" )

-#define portENTER_CRITICAL()								vPortEnterCritical()

-#define portEXIT_CRITICAL()									vPortExitCritical()

+    #define portSET_INTERRUPT_MASK_FROM_ISR()         ulSetInterruptMask()

+    #define portCLEAR_INTERRUPT_MASK_FROM_ISR( x )    vClearInterruptMask( x )

+    #define portDISABLE_INTERRUPTS()                  __asm volatile ( " cpsid i " ::: "memory" )

+    #define portENABLE_INTERRUPTS()                   __asm volatile ( " cpsie i " ::: "memory" )

+    #define portENTER_CRITICAL()                      vPortEnterCritical()

+    #define portEXIT_CRITICAL()                       vPortExitCritical()

 /*-----------------------------------------------------------*/

 

 /**

  * @brief 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 )

 /*-----------------------------------------------------------*/

 

-#if( configENABLE_TRUSTZONE == 1 )

-	/**

-	 * @brief Allocate a secure context for the task.

-	 *

-	 * Tasks are not created with a secure context. Any task that is going to call

-	 * secure functions must call portALLOCATE_SECURE_CONTEXT() to allocate itself a

-	 * secure context before it calls any secure function.

-	 *

-	 * @param[in] ulSecureStackSize The size of the secure stack to be allocated.

-	 */

-	#define portALLOCATE_SECURE_CONTEXT( ulSecureStackSize )	vPortAllocateSecureContext( ulSecureStackSize )

+    #if ( configENABLE_TRUSTZONE == 1 )

 

-	/**

-	 * @brief Called when a task is deleted to delete the task's secure context,

-	 * if it has one.

-	 *

-	 * @param[in] pxTCB The TCB of the task being deleted.

-	 */

-	#define portCLEAN_UP_TCB( pxTCB )							vPortFreeSecureContext( ( uint32_t * ) pxTCB )

-#else

-	#define portALLOCATE_SECURE_CONTEXT( ulSecureStackSize )

-	#define portCLEAN_UP_TCB( pxTCB )

-#endif /* configENABLE_TRUSTZONE */

+/**

+ * @brief Allocate a secure context for the task.

+ *

+ * Tasks are not created with a secure context. Any task that is going to call

+ * secure functions must call portALLOCATE_SECURE_CONTEXT() to allocate itself a

+ * secure context before it calls any secure function.

+ *

+ * @param[in] ulSecureStackSize The size of the secure stack to be allocated.

+ */

+        #define portALLOCATE_SECURE_CONTEXT( ulSecureStackSize )    vPortAllocateSecureContext( ulSecureStackSize )

+

+/**

+ * @brief Called when a task is deleted to delete the task's secure context,

+ * if it has one.

+ *

+ * @param[in] pxTCB The TCB of the task being deleted.

+ */

+        #define portCLEAN_UP_TCB( pxTCB )                           vPortFreeSecureContext( ( uint32_t * ) pxTCB )

+    #else

+        #define portALLOCATE_SECURE_CONTEXT( ulSecureStackSize )

+        #define portCLEAN_UP_TCB( pxTCB )

+    #endif /* configENABLE_TRUSTZONE */

 /*-----------------------------------------------------------*/

 

-#if( configENABLE_MPU == 1 )

-	/**

-	 * @brief Checks whether or not the processor is privileged.

-	 *

-	 * @return 1 if the processor is already privileged, 0 otherwise.

-	 */

-	#define portIS_PRIVILEGED()									xIsPrivileged()

+    #if ( configENABLE_MPU == 1 )

 

-	/**

-	 * @brief Raise an SVC request to raise privilege.

-	 *

-	 * The SVC handler checks that the SVC was raised from a system call and only

-	 * then it raises the privilege. If this is called from any other place,

-	 * the privilege is not raised.

-	 */

-	#define portRAISE_PRIVILEGE()								__asm volatile ( "svc %0 \n" :: "i" ( portSVC_RAISE_PRIVILEGE ) : "memory" );

+/**

+ * @brief Checks whether or not the processor is privileged.

+ *

+ * @return 1 if the processor is already privileged, 0 otherwise.

+ */

+        #define portIS_PRIVILEGED()      xIsPrivileged()

 

-	/**

-	 * @brief Lowers the privilege level by setting the bit 0 of the CONTROL

-	 * register.

-	 */

-	#define portRESET_PRIVILEGE()								vResetPrivilege()

-#else

-	#define portIS_PRIVILEGED()

-	#define portRAISE_PRIVILEGE()

-	#define portRESET_PRIVILEGE()

-#endif /* configENABLE_MPU */

+/**

+ * @brief Raise an SVC request to raise privilege.

+ *

+ * The SVC handler checks that the SVC was raised from a system call and only

+ * then it raises the privilege. If this is called from any other place,

+ * the privilege is not raised.

+ */

+        #define portRAISE_PRIVILEGE()    __asm volatile ( "svc %0 \n" ::"i" ( portSVC_RAISE_PRIVILEGE ) : "memory" );

+

+/**

+ * @brief Lowers the privilege level by setting the bit 0 of the CONTROL

+ * register.

+ */

+        #define portRESET_PRIVILEGE()    vResetPrivilege()

+    #else

+        #define portIS_PRIVILEGED()

+        #define portRAISE_PRIVILEGE()

+        #define portRESET_PRIVILEGE()

+    #endif /* configENABLE_MPU */

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Barriers.

  */

-#define portMEMORY_BARRIER() __asm volatile( "" ::: "memory" )

+    #define portMEMORY_BARRIER()    __asm volatile ( "" ::: "memory" )

 /*-----------------------------------------------------------*/

 

 /* Suppress warnings that are generated by the IAR tools, but cannot be fixed in

  * the source code because to do so would cause other compilers to generate

  * warnings. */

-#pragma diag_suppress=Be006

-#pragma diag_suppress=Pa082

+    #pragma diag_suppress=Be006

+    #pragma diag_suppress=Pa082

 /*-----------------------------------------------------------*/

 

-#ifdef __cplusplus

-}

-#endif

+    #ifdef __cplusplus

+        }

+    #endif

 

 #endif /* PORTMACRO_H */

diff --git a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23_NTZ/portmacro.h b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23_NTZ/portmacro.h
index 0c0434f..a217379 100644
--- a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23_NTZ/portmacro.h
+++ b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23_NTZ/portmacro.h
@@ -25,11 +25,11 @@
  */

 

 #ifndef PORTMACRO_H

-#define PORTMACRO_H

+    #define PORTMACRO_H

 

-#ifdef __cplusplus

-extern "C" {

-#endif

+    #ifdef __cplusplus

+        extern "C" {

+    #endif

 

 /*------------------------------------------------------------------------------

  * Port specific definitions.

@@ -41,109 +41,109 @@
  *------------------------------------------------------------------------------

  */

 

-#ifndef configENABLE_FPU

-	#error configENABLE_FPU must be defined in FreeRTOSConfig.h.  Set configENABLE_FPU to 1 to enable the FPU or 0 to disable the FPU.

-#endif /* configENABLE_FPU */

+    #ifndef configENABLE_FPU

+        #error configENABLE_FPU must be defined in FreeRTOSConfig.h.  Set configENABLE_FPU to 1 to enable the FPU or 0 to disable the FPU.

+    #endif /* configENABLE_FPU */

 

-#ifndef configENABLE_MPU

-	#error configENABLE_MPU must be defined in FreeRTOSConfig.h.  Set configENABLE_MPU to 1 to enable the MPU or 0 to disable the MPU.

-#endif /* configENABLE_MPU */

+    #ifndef configENABLE_MPU

+        #error configENABLE_MPU must be defined in FreeRTOSConfig.h.  Set configENABLE_MPU to 1 to enable the MPU or 0 to disable the MPU.

+    #endif /* configENABLE_MPU */

 

-#ifndef configENABLE_TRUSTZONE

-	#error configENABLE_TRUSTZONE must be defined in FreeRTOSConfig.h.  Set configENABLE_TRUSTZONE to 1 to enable TrustZone or 0 to disable TrustZone.

-#endif /* configENABLE_TRUSTZONE */

+    #ifndef configENABLE_TRUSTZONE

+        #error configENABLE_TRUSTZONE must be defined in FreeRTOSConfig.h.  Set configENABLE_TRUSTZONE to 1 to enable TrustZone or 0 to disable TrustZone.

+    #endif /* configENABLE_TRUSTZONE */

 

 /*-----------------------------------------------------------*/

 

 /**

  * @brief 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

+    #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;

+    typedef portSTACK_TYPE   StackType_t;

+    typedef long             BaseType_t;

+    typedef unsigned long    UBaseType_t;

 

-#if( configUSE_16_BIT_TICKS == 1 )

-	typedef uint16_t TickType_t;

-	#define portMAX_DELAY ( TickType_t )					0xffff

-#else

-	typedef uint32_t TickType_t;

-	#define portMAX_DELAY ( TickType_t )					0xffffffffUL

+    #if ( configUSE_16_BIT_TICKS == 1 )

+        typedef uint16_t     TickType_t;

+        #define portMAX_DELAY              ( TickType_t ) 0xffff

+    #else

+        typedef uint32_t     TickType_t;

+        #define portMAX_DELAY              ( TickType_t ) 0xffffffffUL

 

-	/* 32-bit tick type on a 32-bit architecture, so reads of the tick count do

-	 * not need to be guarded with a critical section. */

-	#define portTICK_TYPE_IS_ATOMIC							1

-#endif

+/* 32-bit tick type on a 32-bit architecture, so reads of the tick count do

+ * not need to be guarded with a critical section. */

+        #define portTICK_TYPE_IS_ATOMIC    1

+    #endif

 /*-----------------------------------------------------------*/

 

 /**

  * Architecture specifics.

  */

-#define portARCH_NAME										"Cortex-M23"

-#define portSTACK_GROWTH									( -1 )

-#define portTICK_PERIOD_MS									( ( TickType_t ) 1000 / configTICK_RATE_HZ )

-#define portBYTE_ALIGNMENT									8

-#define portNOP()

-#define portINLINE											__inline

-#ifndef portFORCE_INLINE

-	#define portFORCE_INLINE								inline __attribute__(( always_inline ))

-#endif

-#define portHAS_STACK_OVERFLOW_CHECKING						1

-#define portDONT_DISCARD									__root

+    #define portARCH_NAME                      "Cortex-M23"

+    #define portSTACK_GROWTH                   ( -1 )

+    #define portTICK_PERIOD_MS                 ( ( TickType_t ) 1000 / configTICK_RATE_HZ )

+    #define portBYTE_ALIGNMENT                 8

+    #define portNOP()

+    #define portINLINE                         __inline

+    #ifndef portFORCE_INLINE

+        #define portFORCE_INLINE               inline __attribute__( ( always_inline ) )

+    #endif

+    #define portHAS_STACK_OVERFLOW_CHECKING    1

+    #define portDONT_DISCARD                   __root

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Extern declarations.

  */

-extern BaseType_t xPortIsInsideInterrupt( void );

+    extern BaseType_t xPortIsInsideInterrupt( void );

 

-extern void vPortYield( void ) /* PRIVILEGED_FUNCTION */;

+    extern void vPortYield( void ) /* PRIVILEGED_FUNCTION */;

 

-extern void vPortEnterCritical( void ) /* PRIVILEGED_FUNCTION */;

-extern void vPortExitCritical( void ) /* PRIVILEGED_FUNCTION */;

+    extern void vPortEnterCritical( void ) /* PRIVILEGED_FUNCTION */;

+    extern void vPortExitCritical( void ) /* PRIVILEGED_FUNCTION */;

 

-extern uint32_t ulSetInterruptMask( void ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;

-extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;

+    extern uint32_t ulSetInterruptMask( void ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;

+    extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;

 

-#if( configENABLE_TRUSTZONE == 1 )

-	extern void vPortAllocateSecureContext( uint32_t ulSecureStackSize ); /* __attribute__ (( naked )) */

-	extern void vPortFreeSecureContext( uint32_t *pulTCB ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */;

-#endif /* configENABLE_TRUSTZONE */

+    #if ( configENABLE_TRUSTZONE == 1 )

+        extern void vPortAllocateSecureContext( uint32_t ulSecureStackSize ); /* __attribute__ (( naked )) */

+        extern void vPortFreeSecureContext( uint32_t * pulTCB ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */;

+    #endif /* configENABLE_TRUSTZONE */

 

-#if( configENABLE_MPU == 1 )

-	extern BaseType_t xIsPrivileged( void ) /* __attribute__ (( naked )) */;

-	extern void vResetPrivilege( void ) /* __attribute__ (( naked )) */;

-#endif /* configENABLE_MPU */

+    #if ( configENABLE_MPU == 1 )

+        extern BaseType_t xIsPrivileged( void ) /* __attribute__ (( naked )) */;

+        extern void vResetPrivilege( void ) /* __attribute__ (( naked )) */;

+    #endif /* configENABLE_MPU */

 /*-----------------------------------------------------------*/

 

 /**

  * @brief MPU specific constants.

  */

-#if( configENABLE_MPU == 1 )

-	#define portUSING_MPU_WRAPPERS							1

-	#define portPRIVILEGE_BIT								( 0x80000000UL )

-#else

-	#define portPRIVILEGE_BIT								( 0x0UL )

-#endif /* configENABLE_MPU */

+    #if ( configENABLE_MPU == 1 )

+        #define portUSING_MPU_WRAPPERS    1

+        #define portPRIVILEGE_BIT         ( 0x80000000UL )

+    #else

+        #define portPRIVILEGE_BIT         ( 0x0UL )

+    #endif /* configENABLE_MPU */

 

 

 /* MPU regions. */

-#define portPRIVILEGED_FLASH_REGION							( 0UL )

-#define portUNPRIVILEGED_FLASH_REGION						( 1UL )

-#define portUNPRIVILEGED_SYSCALLS_REGION					( 2UL )

-#define portPRIVILEGED_RAM_REGION							( 3UL )

-#define portSTACK_REGION									( 4UL )

-#define portFIRST_CONFIGURABLE_REGION						( 5UL )

-#define portLAST_CONFIGURABLE_REGION						( 7UL )

-#define portNUM_CONFIGURABLE_REGIONS						( ( portLAST_CONFIGURABLE_REGION - portFIRST_CONFIGURABLE_REGION ) + 1 )

-#define portTOTAL_NUM_REGIONS								( portNUM_CONFIGURABLE_REGIONS + 1 ) /* Plus one to make space for the stack region. */

+    #define portPRIVILEGED_FLASH_REGION                   ( 0UL )

+    #define portUNPRIVILEGED_FLASH_REGION                 ( 1UL )

+    #define portUNPRIVILEGED_SYSCALLS_REGION              ( 2UL )

+    #define portPRIVILEGED_RAM_REGION                     ( 3UL )

+    #define portSTACK_REGION                              ( 4UL )

+    #define portFIRST_CONFIGURABLE_REGION                 ( 5UL )

+    #define portLAST_CONFIGURABLE_REGION                  ( 7UL )

+    #define portNUM_CONFIGURABLE_REGIONS                  ( ( portLAST_CONFIGURABLE_REGION - portFIRST_CONFIGURABLE_REGION ) + 1 )

+    #define portTOTAL_NUM_REGIONS                         ( portNUM_CONFIGURABLE_REGIONS + 1 )   /* Plus one to make space for the stack region. */

 

 /* Device memory attributes used in MPU_MAIR registers.

  *

@@ -155,162 +155,164 @@
  *				11 --> Device-GRE

  *  Bit[1:0] - 00, Reserved.

  */

-#define portMPU_DEVICE_MEMORY_nGnRnE						( 0x00 ) /* 0000 0000 */

-#define portMPU_DEVICE_MEMORY_nGnRE							( 0x04 ) /* 0000 0100 */

-#define portMPU_DEVICE_MEMORY_nGRE							( 0x08 ) /* 0000 1000 */

-#define portMPU_DEVICE_MEMORY_GRE							( 0x0C ) /* 0000 1100 */

+    #define portMPU_DEVICE_MEMORY_nGnRnE                  ( 0x00 )   /* 0000 0000 */

+    #define portMPU_DEVICE_MEMORY_nGnRE                   ( 0x04 )   /* 0000 0100 */

+    #define portMPU_DEVICE_MEMORY_nGRE                    ( 0x08 )   /* 0000 1000 */

+    #define portMPU_DEVICE_MEMORY_GRE                     ( 0x0C )   /* 0000 1100 */

 

 /* Normal memory attributes used in MPU_MAIR registers. */

-#define portMPU_NORMAL_MEMORY_NON_CACHEABLE					( 0x44 ) /* Non-cacheable. */

-#define portMPU_NORMAL_MEMORY_BUFFERABLE_CACHEABLE			( 0xFF ) /* Non-Transient, Write-back, Read-Allocate and Write-Allocate. */

+    #define portMPU_NORMAL_MEMORY_NON_CACHEABLE           ( 0x44 )   /* Non-cacheable. */

+    #define portMPU_NORMAL_MEMORY_BUFFERABLE_CACHEABLE    ( 0xFF )   /* Non-Transient, Write-back, Read-Allocate and Write-Allocate. */

 

 /* Attributes used in MPU_RBAR registers. */

-#define portMPU_REGION_NON_SHAREABLE						( 0UL << 3UL )

-#define portMPU_REGION_INNER_SHAREABLE						( 1UL << 3UL )

-#define portMPU_REGION_OUTER_SHAREABLE						( 2UL << 3UL )

+    #define portMPU_REGION_NON_SHAREABLE                  ( 0UL << 3UL )

+    #define portMPU_REGION_INNER_SHAREABLE                ( 1UL << 3UL )

+    #define portMPU_REGION_OUTER_SHAREABLE                ( 2UL << 3UL )

 

-#define portMPU_REGION_PRIVILEGED_READ_WRITE				( 0UL << 1UL )

-#define portMPU_REGION_READ_WRITE							( 1UL << 1UL )

-#define portMPU_REGION_PRIVILEGED_READ_ONLY					( 2UL << 1UL )

-#define portMPU_REGION_READ_ONLY							( 3UL << 1UL )

+    #define portMPU_REGION_PRIVILEGED_READ_WRITE          ( 0UL << 1UL )

+    #define portMPU_REGION_READ_WRITE                     ( 1UL << 1UL )

+    #define portMPU_REGION_PRIVILEGED_READ_ONLY           ( 2UL << 1UL )

+    #define portMPU_REGION_READ_ONLY                      ( 3UL << 1UL )

 

-#define portMPU_REGION_EXECUTE_NEVER						( 1UL )

+    #define portMPU_REGION_EXECUTE_NEVER                  ( 1UL )

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Settings to define an MPU region.

  */

-typedef struct MPURegionSettings

-{

-	uint32_t ulRBAR;	/**< RBAR for the region. */

-	uint32_t ulRLAR;	/**< RLAR for the region. */

-} MPURegionSettings_t;

+    typedef struct MPURegionSettings

+    {

+        uint32_t ulRBAR; /**< RBAR for the region. */

+        uint32_t ulRLAR; /**< RLAR for the region. */

+    } MPURegionSettings_t;

 

 /**

  * @brief MPU settings as stored in the TCB.

  */

-typedef struct MPU_SETTINGS

-{

-	uint32_t ulMAIR0;	/**< MAIR0 for the task containing attributes for all the 4 per task regions. */

-	MPURegionSettings_t xRegionsSettings[ portTOTAL_NUM_REGIONS ]; /**< Settings for 4 per task regions. */

-} xMPU_SETTINGS;

+    typedef struct MPU_SETTINGS

+    {

+        uint32_t ulMAIR0;                                              /**< MAIR0 for the task containing attributes for all the 4 per task regions. */

+        MPURegionSettings_t xRegionsSettings[ portTOTAL_NUM_REGIONS ]; /**< Settings for 4 per task regions. */

+    } xMPU_SETTINGS;

 /*-----------------------------------------------------------*/

 

 /**

  * @brief SVC numbers.

  */

-#define portSVC_ALLOCATE_SECURE_CONTEXT						0

-#define portSVC_FREE_SECURE_CONTEXT							1

-#define portSVC_START_SCHEDULER								2

-#define portSVC_RAISE_PRIVILEGE								3

+    #define portSVC_ALLOCATE_SECURE_CONTEXT    0

+    #define portSVC_FREE_SECURE_CONTEXT        1

+    #define portSVC_START_SCHEDULER            2

+    #define portSVC_RAISE_PRIVILEGE            3

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Scheduler utilities.

  */

-#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 portYIELD_FROM_ISR( x )								portEND_SWITCHING_ISR( x )

+    #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 portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Critical section management.

  */

-#define portSET_INTERRUPT_MASK_FROM_ISR()					ulSetInterruptMask()

-#define portCLEAR_INTERRUPT_MASK_FROM_ISR(x)				vClearInterruptMask( x )

-#define portDISABLE_INTERRUPTS()							__asm volatile ( " cpsid i " ::: "memory" )

-#define portENABLE_INTERRUPTS()								__asm volatile ( " cpsie i " ::: "memory" )

-#define portENTER_CRITICAL()								vPortEnterCritical()

-#define portEXIT_CRITICAL()									vPortExitCritical()

+    #define portSET_INTERRUPT_MASK_FROM_ISR()         ulSetInterruptMask()

+    #define portCLEAR_INTERRUPT_MASK_FROM_ISR( x )    vClearInterruptMask( x )

+    #define portDISABLE_INTERRUPTS()                  __asm volatile ( " cpsid i " ::: "memory" )

+    #define portENABLE_INTERRUPTS()                   __asm volatile ( " cpsie i " ::: "memory" )

+    #define portENTER_CRITICAL()                      vPortEnterCritical()

+    #define portEXIT_CRITICAL()                       vPortExitCritical()

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Tickless idle/low power functionality.

  */

-#ifndef portSUPPRESS_TICKS_AND_SLEEP

-	extern void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime );

-	#define portSUPPRESS_TICKS_AND_SLEEP( xExpectedIdleTime ) vPortSuppressTicksAndSleep( xExpectedIdleTime )

-#endif

+    #ifndef portSUPPRESS_TICKS_AND_SLEEP

+        extern void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime );

+        #define portSUPPRESS_TICKS_AND_SLEEP( xExpectedIdleTime )    vPortSuppressTicksAndSleep( xExpectedIdleTime )

+    #endif

 /*-----------------------------------------------------------*/

 

 /**

  * @brief 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 )

 /*-----------------------------------------------------------*/

 

-#if( configENABLE_TRUSTZONE == 1 )

-	/**

-	 * @brief Allocate a secure context for the task.

-	 *

-	 * Tasks are not created with a secure context. Any task that is going to call

-	 * secure functions must call portALLOCATE_SECURE_CONTEXT() to allocate itself a

-	 * secure context before it calls any secure function.

-	 *

-	 * @param[in] ulSecureStackSize The size of the secure stack to be allocated.

-	 */

-	#define portALLOCATE_SECURE_CONTEXT( ulSecureStackSize )	vPortAllocateSecureContext( ulSecureStackSize )

+    #if ( configENABLE_TRUSTZONE == 1 )

 

-	/**

-	 * @brief Called when a task is deleted to delete the task's secure context,

-	 * if it has one.

-	 *

-	 * @param[in] pxTCB The TCB of the task being deleted.

-	 */

-	#define portCLEAN_UP_TCB( pxTCB )							vPortFreeSecureContext( ( uint32_t * ) pxTCB )

-#else

-	#define portALLOCATE_SECURE_CONTEXT( ulSecureStackSize )

-	#define portCLEAN_UP_TCB( pxTCB )

-#endif /* configENABLE_TRUSTZONE */

+/**

+ * @brief Allocate a secure context for the task.

+ *

+ * Tasks are not created with a secure context. Any task that is going to call

+ * secure functions must call portALLOCATE_SECURE_CONTEXT() to allocate itself a

+ * secure context before it calls any secure function.

+ *

+ * @param[in] ulSecureStackSize The size of the secure stack to be allocated.

+ */

+        #define portALLOCATE_SECURE_CONTEXT( ulSecureStackSize )    vPortAllocateSecureContext( ulSecureStackSize )

+

+/**

+ * @brief Called when a task is deleted to delete the task's secure context,

+ * if it has one.

+ *

+ * @param[in] pxTCB The TCB of the task being deleted.

+ */

+        #define portCLEAN_UP_TCB( pxTCB )                           vPortFreeSecureContext( ( uint32_t * ) pxTCB )

+    #else

+        #define portALLOCATE_SECURE_CONTEXT( ulSecureStackSize )

+        #define portCLEAN_UP_TCB( pxTCB )

+    #endif /* configENABLE_TRUSTZONE */

 /*-----------------------------------------------------------*/

 

-#if( configENABLE_MPU == 1 )

-	/**

-	 * @brief Checks whether or not the processor is privileged.

-	 *

-	 * @return 1 if the processor is already privileged, 0 otherwise.

-	 */

-	#define portIS_PRIVILEGED()									xIsPrivileged()

+    #if ( configENABLE_MPU == 1 )

 

-	/**

-	 * @brief Raise an SVC request to raise privilege.

-	 *

-	 * The SVC handler checks that the SVC was raised from a system call and only

-	 * then it raises the privilege. If this is called from any other place,

-	 * the privilege is not raised.

-	 */

-	#define portRAISE_PRIVILEGE()								__asm volatile ( "svc %0 \n" :: "i" ( portSVC_RAISE_PRIVILEGE ) : "memory" );

+/**

+ * @brief Checks whether or not the processor is privileged.

+ *

+ * @return 1 if the processor is already privileged, 0 otherwise.

+ */

+        #define portIS_PRIVILEGED()      xIsPrivileged()

 

-	/**

-	 * @brief Lowers the privilege level by setting the bit 0 of the CONTROL

-	 * register.

-	 */

-	#define portRESET_PRIVILEGE()								vResetPrivilege()

-#else

-	#define portIS_PRIVILEGED()

-	#define portRAISE_PRIVILEGE()

-	#define portRESET_PRIVILEGE()

-#endif /* configENABLE_MPU */

+/**

+ * @brief Raise an SVC request to raise privilege.

+ *

+ * The SVC handler checks that the SVC was raised from a system call and only

+ * then it raises the privilege. If this is called from any other place,

+ * the privilege is not raised.

+ */

+        #define portRAISE_PRIVILEGE()    __asm volatile ( "svc %0 \n" ::"i" ( portSVC_RAISE_PRIVILEGE ) : "memory" );

+

+/**

+ * @brief Lowers the privilege level by setting the bit 0 of the CONTROL

+ * register.

+ */

+        #define portRESET_PRIVILEGE()    vResetPrivilege()

+    #else

+        #define portIS_PRIVILEGED()

+        #define portRAISE_PRIVILEGE()

+        #define portRESET_PRIVILEGE()

+    #endif /* configENABLE_MPU */

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Barriers.

  */

-#define portMEMORY_BARRIER() __asm volatile( "" ::: "memory" )

+    #define portMEMORY_BARRIER()    __asm volatile ( "" ::: "memory" )

 /*-----------------------------------------------------------*/

 

 /* Suppress warnings that are generated by the IAR tools, but cannot be fixed in

  * the source code because to do so would cause other compilers to generate

  * warnings. */

-#pragma diag_suppress=Be006

-#pragma diag_suppress=Pa082

+    #pragma diag_suppress=Be006

+    #pragma diag_suppress=Pa082

 /*-----------------------------------------------------------*/

 

-#ifdef __cplusplus

-}

-#endif

+    #ifdef __cplusplus

+        }

+    #endif

 

 #endif /* PORTMACRO_H */

diff --git a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33/portmacro.h b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33/portmacro.h
index 83d327f..1c81555 100644
--- a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33/portmacro.h
+++ b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33/portmacro.h
@@ -25,11 +25,11 @@
  */

 

 #ifndef PORTMACRO_H

-#define PORTMACRO_H

+    #define PORTMACRO_H

 

-#ifdef __cplusplus

-extern "C" {

-#endif

+    #ifdef __cplusplus

+        extern "C" {

+    #endif

 

 /*------------------------------------------------------------------------------

  * Port specific definitions.

@@ -41,109 +41,109 @@
  *------------------------------------------------------------------------------

  */

 

-#ifndef configENABLE_FPU

-	#error configENABLE_FPU must be defined in FreeRTOSConfig.h.  Set configENABLE_FPU to 1 to enable the FPU or 0 to disable the FPU.

-#endif /* configENABLE_FPU */

+    #ifndef configENABLE_FPU

+        #error configENABLE_FPU must be defined in FreeRTOSConfig.h.  Set configENABLE_FPU to 1 to enable the FPU or 0 to disable the FPU.

+    #endif /* configENABLE_FPU */

 

-#ifndef configENABLE_MPU

-	#error configENABLE_MPU must be defined in FreeRTOSConfig.h.  Set configENABLE_MPU to 1 to enable the MPU or 0 to disable the MPU.

-#endif /* configENABLE_MPU */

+    #ifndef configENABLE_MPU

+        #error configENABLE_MPU must be defined in FreeRTOSConfig.h.  Set configENABLE_MPU to 1 to enable the MPU or 0 to disable the MPU.

+    #endif /* configENABLE_MPU */

 

-#ifndef configENABLE_TRUSTZONE

-	#error configENABLE_TRUSTZONE must be defined in FreeRTOSConfig.h.  Set configENABLE_TRUSTZONE to 1 to enable TrustZone or 0 to disable TrustZone.

-#endif /* configENABLE_TRUSTZONE */

+    #ifndef configENABLE_TRUSTZONE

+        #error configENABLE_TRUSTZONE must be defined in FreeRTOSConfig.h.  Set configENABLE_TRUSTZONE to 1 to enable TrustZone or 0 to disable TrustZone.

+    #endif /* configENABLE_TRUSTZONE */

 

 /*-----------------------------------------------------------*/

 

 /**

  * @brief 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

+    #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;

+    typedef portSTACK_TYPE   StackType_t;

+    typedef long             BaseType_t;

+    typedef unsigned long    UBaseType_t;

 

-#if( configUSE_16_BIT_TICKS == 1 )

-	typedef uint16_t TickType_t;

-	#define portMAX_DELAY ( TickType_t )					0xffff

-#else

-	typedef uint32_t TickType_t;

-	#define portMAX_DELAY ( TickType_t )					0xffffffffUL

+    #if ( configUSE_16_BIT_TICKS == 1 )

+        typedef uint16_t     TickType_t;

+        #define portMAX_DELAY              ( TickType_t ) 0xffff

+    #else

+        typedef uint32_t     TickType_t;

+        #define portMAX_DELAY              ( TickType_t ) 0xffffffffUL

 

-	/* 32-bit tick type on a 32-bit architecture, so reads of the tick count do

-	 * not need to be guarded with a critical section. */

-	#define portTICK_TYPE_IS_ATOMIC							1

-#endif

+/* 32-bit tick type on a 32-bit architecture, so reads of the tick count do

+ * not need to be guarded with a critical section. */

+        #define portTICK_TYPE_IS_ATOMIC    1

+    #endif

 /*-----------------------------------------------------------*/

 

 /**

  * Architecture specifics.

  */

-#define portARCH_NAME										"Cortex-M33"

-#define portSTACK_GROWTH									( -1 )

-#define portTICK_PERIOD_MS									( ( TickType_t ) 1000 / configTICK_RATE_HZ )

-#define portBYTE_ALIGNMENT									8

-#define portNOP()

-#define portINLINE											__inline

-#ifndef portFORCE_INLINE

-	#define portFORCE_INLINE								inline __attribute__(( always_inline ))

-#endif

-#define portHAS_STACK_OVERFLOW_CHECKING						1

-#define portDONT_DISCARD									__root

+    #define portARCH_NAME                      "Cortex-M33"

+    #define portSTACK_GROWTH                   ( -1 )

+    #define portTICK_PERIOD_MS                 ( ( TickType_t ) 1000 / configTICK_RATE_HZ )

+    #define portBYTE_ALIGNMENT                 8

+    #define portNOP()

+    #define portINLINE                         __inline

+    #ifndef portFORCE_INLINE

+        #define portFORCE_INLINE               inline __attribute__( ( always_inline ) )

+    #endif

+    #define portHAS_STACK_OVERFLOW_CHECKING    1

+    #define portDONT_DISCARD                   __root

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Extern declarations.

  */

-extern BaseType_t xPortIsInsideInterrupt( void );

+    extern BaseType_t xPortIsInsideInterrupt( void );

 

-extern void vPortYield( void ) /* PRIVILEGED_FUNCTION */;

+    extern void vPortYield( void ) /* PRIVILEGED_FUNCTION */;

 

-extern void vPortEnterCritical( void ) /* PRIVILEGED_FUNCTION */;

-extern void vPortExitCritical( void ) /* PRIVILEGED_FUNCTION */;

+    extern void vPortEnterCritical( void ) /* PRIVILEGED_FUNCTION */;

+    extern void vPortExitCritical( void ) /* PRIVILEGED_FUNCTION */;

 

-extern uint32_t ulSetInterruptMask( void ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;

-extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;

+    extern uint32_t ulSetInterruptMask( void ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;

+    extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;

 

-#if( configENABLE_TRUSTZONE == 1 )

-	extern void vPortAllocateSecureContext( uint32_t ulSecureStackSize ); /* __attribute__ (( naked )) */

-	extern void vPortFreeSecureContext( uint32_t *pulTCB ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */;

-#endif /* configENABLE_TRUSTZONE */

+    #if ( configENABLE_TRUSTZONE == 1 )

+        extern void vPortAllocateSecureContext( uint32_t ulSecureStackSize ); /* __attribute__ (( naked )) */

+        extern void vPortFreeSecureContext( uint32_t * pulTCB ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */;

+    #endif /* configENABLE_TRUSTZONE */

 

-#if( configENABLE_MPU == 1 )

-	extern BaseType_t xIsPrivileged( void ) /* __attribute__ (( naked )) */;

-	extern void vResetPrivilege( void ) /* __attribute__ (( naked )) */;

-#endif /* configENABLE_MPU */

+    #if ( configENABLE_MPU == 1 )

+        extern BaseType_t xIsPrivileged( void ) /* __attribute__ (( naked )) */;

+        extern void vResetPrivilege( void ) /* __attribute__ (( naked )) */;

+    #endif /* configENABLE_MPU */

 /*-----------------------------------------------------------*/

 

 /**

  * @brief MPU specific constants.

  */

-#if( configENABLE_MPU == 1 )

-	#define portUSING_MPU_WRAPPERS							1

-	#define portPRIVILEGE_BIT								( 0x80000000UL )

-#else

-	#define portPRIVILEGE_BIT								( 0x0UL )

-#endif /* configENABLE_MPU */

+    #if ( configENABLE_MPU == 1 )

+        #define portUSING_MPU_WRAPPERS    1

+        #define portPRIVILEGE_BIT         ( 0x80000000UL )

+    #else

+        #define portPRIVILEGE_BIT         ( 0x0UL )

+    #endif /* configENABLE_MPU */

 

 

 /* MPU regions. */

-#define portPRIVILEGED_FLASH_REGION							( 0UL )

-#define portUNPRIVILEGED_FLASH_REGION						( 1UL )

-#define portUNPRIVILEGED_SYSCALLS_REGION					( 2UL )

-#define portPRIVILEGED_RAM_REGION							( 3UL )

-#define portSTACK_REGION									( 4UL )

-#define portFIRST_CONFIGURABLE_REGION						( 5UL )

-#define portLAST_CONFIGURABLE_REGION						( 7UL )

-#define portNUM_CONFIGURABLE_REGIONS						( ( portLAST_CONFIGURABLE_REGION - portFIRST_CONFIGURABLE_REGION ) + 1 )

-#define portTOTAL_NUM_REGIONS								( portNUM_CONFIGURABLE_REGIONS + 1 ) /* Plus one to make space for the stack region. */

+    #define portPRIVILEGED_FLASH_REGION                   ( 0UL )

+    #define portUNPRIVILEGED_FLASH_REGION                 ( 1UL )

+    #define portUNPRIVILEGED_SYSCALLS_REGION              ( 2UL )

+    #define portPRIVILEGED_RAM_REGION                     ( 3UL )

+    #define portSTACK_REGION                              ( 4UL )

+    #define portFIRST_CONFIGURABLE_REGION                 ( 5UL )

+    #define portLAST_CONFIGURABLE_REGION                  ( 7UL )

+    #define portNUM_CONFIGURABLE_REGIONS                  ( ( portLAST_CONFIGURABLE_REGION - portFIRST_CONFIGURABLE_REGION ) + 1 )

+    #define portTOTAL_NUM_REGIONS                         ( portNUM_CONFIGURABLE_REGIONS + 1 )   /* Plus one to make space for the stack region. */

 

 /* Device memory attributes used in MPU_MAIR registers.

  *

@@ -155,162 +155,164 @@
  *				11 --> Device-GRE

  *  Bit[1:0] - 00, Reserved.

  */

-#define portMPU_DEVICE_MEMORY_nGnRnE						( 0x00 ) /* 0000 0000 */

-#define portMPU_DEVICE_MEMORY_nGnRE							( 0x04 ) /* 0000 0100 */

-#define portMPU_DEVICE_MEMORY_nGRE							( 0x08 ) /* 0000 1000 */

-#define portMPU_DEVICE_MEMORY_GRE							( 0x0C ) /* 0000 1100 */

+    #define portMPU_DEVICE_MEMORY_nGnRnE                  ( 0x00 )   /* 0000 0000 */

+    #define portMPU_DEVICE_MEMORY_nGnRE                   ( 0x04 )   /* 0000 0100 */

+    #define portMPU_DEVICE_MEMORY_nGRE                    ( 0x08 )   /* 0000 1000 */

+    #define portMPU_DEVICE_MEMORY_GRE                     ( 0x0C )   /* 0000 1100 */

 

 /* Normal memory attributes used in MPU_MAIR registers. */

-#define portMPU_NORMAL_MEMORY_NON_CACHEABLE					( 0x44 ) /* Non-cacheable. */

-#define portMPU_NORMAL_MEMORY_BUFFERABLE_CACHEABLE			( 0xFF ) /* Non-Transient, Write-back, Read-Allocate and Write-Allocate. */

+    #define portMPU_NORMAL_MEMORY_NON_CACHEABLE           ( 0x44 )   /* Non-cacheable. */

+    #define portMPU_NORMAL_MEMORY_BUFFERABLE_CACHEABLE    ( 0xFF )   /* Non-Transient, Write-back, Read-Allocate and Write-Allocate. */

 

 /* Attributes used in MPU_RBAR registers. */

-#define portMPU_REGION_NON_SHAREABLE						( 0UL << 3UL )

-#define portMPU_REGION_INNER_SHAREABLE						( 1UL << 3UL )

-#define portMPU_REGION_OUTER_SHAREABLE						( 2UL << 3UL )

+    #define portMPU_REGION_NON_SHAREABLE                  ( 0UL << 3UL )

+    #define portMPU_REGION_INNER_SHAREABLE                ( 1UL << 3UL )

+    #define portMPU_REGION_OUTER_SHAREABLE                ( 2UL << 3UL )

 

-#define portMPU_REGION_PRIVILEGED_READ_WRITE				( 0UL << 1UL )

-#define portMPU_REGION_READ_WRITE							( 1UL << 1UL )

-#define portMPU_REGION_PRIVILEGED_READ_ONLY					( 2UL << 1UL )

-#define portMPU_REGION_READ_ONLY							( 3UL << 1UL )

+    #define portMPU_REGION_PRIVILEGED_READ_WRITE          ( 0UL << 1UL )

+    #define portMPU_REGION_READ_WRITE                     ( 1UL << 1UL )

+    #define portMPU_REGION_PRIVILEGED_READ_ONLY           ( 2UL << 1UL )

+    #define portMPU_REGION_READ_ONLY                      ( 3UL << 1UL )

 

-#define portMPU_REGION_EXECUTE_NEVER						( 1UL )

+    #define portMPU_REGION_EXECUTE_NEVER                  ( 1UL )

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Settings to define an MPU region.

  */

-typedef struct MPURegionSettings

-{

-	uint32_t ulRBAR;	/**< RBAR for the region. */

-	uint32_t ulRLAR;	/**< RLAR for the region. */

-} MPURegionSettings_t;

+    typedef struct MPURegionSettings

+    {

+        uint32_t ulRBAR; /**< RBAR for the region. */

+        uint32_t ulRLAR; /**< RLAR for the region. */

+    } MPURegionSettings_t;

 

 /**

  * @brief MPU settings as stored in the TCB.

  */

-typedef struct MPU_SETTINGS

-{

-	uint32_t ulMAIR0;	/**< MAIR0 for the task containing attributes for all the 4 per task regions. */

-	MPURegionSettings_t xRegionsSettings[ portTOTAL_NUM_REGIONS ]; /**< Settings for 4 per task regions. */

-} xMPU_SETTINGS;

+    typedef struct MPU_SETTINGS

+    {

+        uint32_t ulMAIR0;                                              /**< MAIR0 for the task containing attributes for all the 4 per task regions. */

+        MPURegionSettings_t xRegionsSettings[ portTOTAL_NUM_REGIONS ]; /**< Settings for 4 per task regions. */

+    } xMPU_SETTINGS;

 /*-----------------------------------------------------------*/

 

 /**

  * @brief SVC numbers.

  */

-#define portSVC_ALLOCATE_SECURE_CONTEXT						0

-#define portSVC_FREE_SECURE_CONTEXT							1

-#define portSVC_START_SCHEDULER								2

-#define portSVC_RAISE_PRIVILEGE								3

+    #define portSVC_ALLOCATE_SECURE_CONTEXT    0

+    #define portSVC_FREE_SECURE_CONTEXT        1

+    #define portSVC_START_SCHEDULER            2

+    #define portSVC_RAISE_PRIVILEGE            3

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Scheduler utilities.

  */

-#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 portYIELD_FROM_ISR( x )								portEND_SWITCHING_ISR( x )

+    #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 portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Critical section management.

  */

-#define portSET_INTERRUPT_MASK_FROM_ISR()					ulSetInterruptMask()

-#define portCLEAR_INTERRUPT_MASK_FROM_ISR(x)				vClearInterruptMask( x )

-#define portDISABLE_INTERRUPTS()							ulSetInterruptMask()

-#define portENABLE_INTERRUPTS()								vClearInterruptMask( 0 )

-#define portENTER_CRITICAL()								vPortEnterCritical()

-#define portEXIT_CRITICAL()									vPortExitCritical()

+    #define portSET_INTERRUPT_MASK_FROM_ISR()         ulSetInterruptMask()

+    #define portCLEAR_INTERRUPT_MASK_FROM_ISR( x )    vClearInterruptMask( x )

+    #define portDISABLE_INTERRUPTS()                  ulSetInterruptMask()

+    #define portENABLE_INTERRUPTS()                   vClearInterruptMask( 0 )

+    #define portENTER_CRITICAL()                      vPortEnterCritical()

+    #define portEXIT_CRITICAL()                       vPortExitCritical()

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Tickless idle/low power functionality.

  */

-#ifndef portSUPPRESS_TICKS_AND_SLEEP

-	extern void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime );

-	#define portSUPPRESS_TICKS_AND_SLEEP( xExpectedIdleTime ) vPortSuppressTicksAndSleep( xExpectedIdleTime )

-#endif

+    #ifndef portSUPPRESS_TICKS_AND_SLEEP

+        extern void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime );

+        #define portSUPPRESS_TICKS_AND_SLEEP( xExpectedIdleTime )    vPortSuppressTicksAndSleep( xExpectedIdleTime )

+    #endif

 /*-----------------------------------------------------------*/

 

 /**

  * @brief 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 )

 /*-----------------------------------------------------------*/

 

-#if( configENABLE_TRUSTZONE == 1 )

-	/**

-	 * @brief Allocate a secure context for the task.

-	 *

-	 * Tasks are not created with a secure context. Any task that is going to call

-	 * secure functions must call portALLOCATE_SECURE_CONTEXT() to allocate itself a

-	 * secure context before it calls any secure function.

-	 *

-	 * @param[in] ulSecureStackSize The size of the secure stack to be allocated.

-	 */

-	#define portALLOCATE_SECURE_CONTEXT( ulSecureStackSize )	vPortAllocateSecureContext( ulSecureStackSize )

+    #if ( configENABLE_TRUSTZONE == 1 )

 

-	/**

-	 * @brief Called when a task is deleted to delete the task's secure context,

-	 * if it has one.

-	 *

-	 * @param[in] pxTCB The TCB of the task being deleted.

-	 */

-	#define portCLEAN_UP_TCB( pxTCB )							vPortFreeSecureContext( ( uint32_t * ) pxTCB )

-#else

-	#define portALLOCATE_SECURE_CONTEXT( ulSecureStackSize )

-	#define portCLEAN_UP_TCB( pxTCB )

-#endif /* configENABLE_TRUSTZONE */

+/**

+ * @brief Allocate a secure context for the task.

+ *

+ * Tasks are not created with a secure context. Any task that is going to call

+ * secure functions must call portALLOCATE_SECURE_CONTEXT() to allocate itself a

+ * secure context before it calls any secure function.

+ *

+ * @param[in] ulSecureStackSize The size of the secure stack to be allocated.

+ */

+        #define portALLOCATE_SECURE_CONTEXT( ulSecureStackSize )    vPortAllocateSecureContext( ulSecureStackSize )

+

+/**

+ * @brief Called when a task is deleted to delete the task's secure context,

+ * if it has one.

+ *

+ * @param[in] pxTCB The TCB of the task being deleted.

+ */

+        #define portCLEAN_UP_TCB( pxTCB )                           vPortFreeSecureContext( ( uint32_t * ) pxTCB )

+    #else

+        #define portALLOCATE_SECURE_CONTEXT( ulSecureStackSize )

+        #define portCLEAN_UP_TCB( pxTCB )

+    #endif /* configENABLE_TRUSTZONE */

 /*-----------------------------------------------------------*/

 

-#if( configENABLE_MPU == 1 )

-	/**

-	 * @brief Checks whether or not the processor is privileged.

-	 *

-	 * @return 1 if the processor is already privileged, 0 otherwise.

-	 */

-	#define portIS_PRIVILEGED()									xIsPrivileged()

+    #if ( configENABLE_MPU == 1 )

 

-	/**

-	 * @brief Raise an SVC request to raise privilege.

-	 *

-	 * The SVC handler checks that the SVC was raised from a system call and only

-	 * then it raises the privilege. If this is called from any other place,

-	 * the privilege is not raised.

-	 */

-	#define portRAISE_PRIVILEGE()								__asm volatile ( "svc %0 \n" :: "i" ( portSVC_RAISE_PRIVILEGE ) : "memory" );

+/**

+ * @brief Checks whether or not the processor is privileged.

+ *

+ * @return 1 if the processor is already privileged, 0 otherwise.

+ */

+        #define portIS_PRIVILEGED()      xIsPrivileged()

 

-	/**

-	 * @brief Lowers the privilege level by setting the bit 0 of the CONTROL

-	 * register.

-	 */

-	#define portRESET_PRIVILEGE()								vResetPrivilege()

-#else

-	#define portIS_PRIVILEGED()

-	#define portRAISE_PRIVILEGE()

-	#define portRESET_PRIVILEGE()

-#endif /* configENABLE_MPU */

+/**

+ * @brief Raise an SVC request to raise privilege.

+ *

+ * The SVC handler checks that the SVC was raised from a system call and only

+ * then it raises the privilege. If this is called from any other place,

+ * the privilege is not raised.

+ */

+        #define portRAISE_PRIVILEGE()    __asm volatile ( "svc %0 \n" ::"i" ( portSVC_RAISE_PRIVILEGE ) : "memory" );

+

+/**

+ * @brief Lowers the privilege level by setting the bit 0 of the CONTROL

+ * register.

+ */

+        #define portRESET_PRIVILEGE()    vResetPrivilege()

+    #else

+        #define portIS_PRIVILEGED()

+        #define portRAISE_PRIVILEGE()

+        #define portRESET_PRIVILEGE()

+    #endif /* configENABLE_MPU */

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Barriers.

  */

-#define portMEMORY_BARRIER() __asm volatile( "" ::: "memory" )

+    #define portMEMORY_BARRIER()    __asm volatile ( "" ::: "memory" )

 /*-----------------------------------------------------------*/

 

 /* Suppress warnings that are generated by the IAR tools, but cannot be fixed in

  * the source code because to do so would cause other compilers to generate

  * warnings. */

-#pragma diag_suppress=Be006

-#pragma diag_suppress=Pa082

+    #pragma diag_suppress=Be006

+    #pragma diag_suppress=Pa082

 /*-----------------------------------------------------------*/

 

-#ifdef __cplusplus

-}

-#endif

+    #ifdef __cplusplus

+        }

+    #endif

 

 #endif /* PORTMACRO_H */

diff --git a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33_NTZ/portmacro.h b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33_NTZ/portmacro.h
index 83d327f..1c81555 100644
--- a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33_NTZ/portmacro.h
+++ b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33_NTZ/portmacro.h
@@ -25,11 +25,11 @@
  */

 

 #ifndef PORTMACRO_H

-#define PORTMACRO_H

+    #define PORTMACRO_H

 

-#ifdef __cplusplus

-extern "C" {

-#endif

+    #ifdef __cplusplus

+        extern "C" {

+    #endif

 

 /*------------------------------------------------------------------------------

  * Port specific definitions.

@@ -41,109 +41,109 @@
  *------------------------------------------------------------------------------

  */

 

-#ifndef configENABLE_FPU

-	#error configENABLE_FPU must be defined in FreeRTOSConfig.h.  Set configENABLE_FPU to 1 to enable the FPU or 0 to disable the FPU.

-#endif /* configENABLE_FPU */

+    #ifndef configENABLE_FPU

+        #error configENABLE_FPU must be defined in FreeRTOSConfig.h.  Set configENABLE_FPU to 1 to enable the FPU or 0 to disable the FPU.

+    #endif /* configENABLE_FPU */

 

-#ifndef configENABLE_MPU

-	#error configENABLE_MPU must be defined in FreeRTOSConfig.h.  Set configENABLE_MPU to 1 to enable the MPU or 0 to disable the MPU.

-#endif /* configENABLE_MPU */

+    #ifndef configENABLE_MPU

+        #error configENABLE_MPU must be defined in FreeRTOSConfig.h.  Set configENABLE_MPU to 1 to enable the MPU or 0 to disable the MPU.

+    #endif /* configENABLE_MPU */

 

-#ifndef configENABLE_TRUSTZONE

-	#error configENABLE_TRUSTZONE must be defined in FreeRTOSConfig.h.  Set configENABLE_TRUSTZONE to 1 to enable TrustZone or 0 to disable TrustZone.

-#endif /* configENABLE_TRUSTZONE */

+    #ifndef configENABLE_TRUSTZONE

+        #error configENABLE_TRUSTZONE must be defined in FreeRTOSConfig.h.  Set configENABLE_TRUSTZONE to 1 to enable TrustZone or 0 to disable TrustZone.

+    #endif /* configENABLE_TRUSTZONE */

 

 /*-----------------------------------------------------------*/

 

 /**

  * @brief 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

+    #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;

+    typedef portSTACK_TYPE   StackType_t;

+    typedef long             BaseType_t;

+    typedef unsigned long    UBaseType_t;

 

-#if( configUSE_16_BIT_TICKS == 1 )

-	typedef uint16_t TickType_t;

-	#define portMAX_DELAY ( TickType_t )					0xffff

-#else

-	typedef uint32_t TickType_t;

-	#define portMAX_DELAY ( TickType_t )					0xffffffffUL

+    #if ( configUSE_16_BIT_TICKS == 1 )

+        typedef uint16_t     TickType_t;

+        #define portMAX_DELAY              ( TickType_t ) 0xffff

+    #else

+        typedef uint32_t     TickType_t;

+        #define portMAX_DELAY              ( TickType_t ) 0xffffffffUL

 

-	/* 32-bit tick type on a 32-bit architecture, so reads of the tick count do

-	 * not need to be guarded with a critical section. */

-	#define portTICK_TYPE_IS_ATOMIC							1

-#endif

+/* 32-bit tick type on a 32-bit architecture, so reads of the tick count do

+ * not need to be guarded with a critical section. */

+        #define portTICK_TYPE_IS_ATOMIC    1

+    #endif

 /*-----------------------------------------------------------*/

 

 /**

  * Architecture specifics.

  */

-#define portARCH_NAME										"Cortex-M33"

-#define portSTACK_GROWTH									( -1 )

-#define portTICK_PERIOD_MS									( ( TickType_t ) 1000 / configTICK_RATE_HZ )

-#define portBYTE_ALIGNMENT									8

-#define portNOP()

-#define portINLINE											__inline

-#ifndef portFORCE_INLINE

-	#define portFORCE_INLINE								inline __attribute__(( always_inline ))

-#endif

-#define portHAS_STACK_OVERFLOW_CHECKING						1

-#define portDONT_DISCARD									__root

+    #define portARCH_NAME                      "Cortex-M33"

+    #define portSTACK_GROWTH                   ( -1 )

+    #define portTICK_PERIOD_MS                 ( ( TickType_t ) 1000 / configTICK_RATE_HZ )

+    #define portBYTE_ALIGNMENT                 8

+    #define portNOP()

+    #define portINLINE                         __inline

+    #ifndef portFORCE_INLINE

+        #define portFORCE_INLINE               inline __attribute__( ( always_inline ) )

+    #endif

+    #define portHAS_STACK_OVERFLOW_CHECKING    1

+    #define portDONT_DISCARD                   __root

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Extern declarations.

  */

-extern BaseType_t xPortIsInsideInterrupt( void );

+    extern BaseType_t xPortIsInsideInterrupt( void );

 

-extern void vPortYield( void ) /* PRIVILEGED_FUNCTION */;

+    extern void vPortYield( void ) /* PRIVILEGED_FUNCTION */;

 

-extern void vPortEnterCritical( void ) /* PRIVILEGED_FUNCTION */;

-extern void vPortExitCritical( void ) /* PRIVILEGED_FUNCTION */;

+    extern void vPortEnterCritical( void ) /* PRIVILEGED_FUNCTION */;

+    extern void vPortExitCritical( void ) /* PRIVILEGED_FUNCTION */;

 

-extern uint32_t ulSetInterruptMask( void ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;

-extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;

+    extern uint32_t ulSetInterruptMask( void ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;

+    extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;

 

-#if( configENABLE_TRUSTZONE == 1 )

-	extern void vPortAllocateSecureContext( uint32_t ulSecureStackSize ); /* __attribute__ (( naked )) */

-	extern void vPortFreeSecureContext( uint32_t *pulTCB ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */;

-#endif /* configENABLE_TRUSTZONE */

+    #if ( configENABLE_TRUSTZONE == 1 )

+        extern void vPortAllocateSecureContext( uint32_t ulSecureStackSize ); /* __attribute__ (( naked )) */

+        extern void vPortFreeSecureContext( uint32_t * pulTCB ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */;

+    #endif /* configENABLE_TRUSTZONE */

 

-#if( configENABLE_MPU == 1 )

-	extern BaseType_t xIsPrivileged( void ) /* __attribute__ (( naked )) */;

-	extern void vResetPrivilege( void ) /* __attribute__ (( naked )) */;

-#endif /* configENABLE_MPU */

+    #if ( configENABLE_MPU == 1 )

+        extern BaseType_t xIsPrivileged( void ) /* __attribute__ (( naked )) */;

+        extern void vResetPrivilege( void ) /* __attribute__ (( naked )) */;

+    #endif /* configENABLE_MPU */

 /*-----------------------------------------------------------*/

 

 /**

  * @brief MPU specific constants.

  */

-#if( configENABLE_MPU == 1 )

-	#define portUSING_MPU_WRAPPERS							1

-	#define portPRIVILEGE_BIT								( 0x80000000UL )

-#else

-	#define portPRIVILEGE_BIT								( 0x0UL )

-#endif /* configENABLE_MPU */

+    #if ( configENABLE_MPU == 1 )

+        #define portUSING_MPU_WRAPPERS    1

+        #define portPRIVILEGE_BIT         ( 0x80000000UL )

+    #else

+        #define portPRIVILEGE_BIT         ( 0x0UL )

+    #endif /* configENABLE_MPU */

 

 

 /* MPU regions. */

-#define portPRIVILEGED_FLASH_REGION							( 0UL )

-#define portUNPRIVILEGED_FLASH_REGION						( 1UL )

-#define portUNPRIVILEGED_SYSCALLS_REGION					( 2UL )

-#define portPRIVILEGED_RAM_REGION							( 3UL )

-#define portSTACK_REGION									( 4UL )

-#define portFIRST_CONFIGURABLE_REGION						( 5UL )

-#define portLAST_CONFIGURABLE_REGION						( 7UL )

-#define portNUM_CONFIGURABLE_REGIONS						( ( portLAST_CONFIGURABLE_REGION - portFIRST_CONFIGURABLE_REGION ) + 1 )

-#define portTOTAL_NUM_REGIONS								( portNUM_CONFIGURABLE_REGIONS + 1 ) /* Plus one to make space for the stack region. */

+    #define portPRIVILEGED_FLASH_REGION                   ( 0UL )

+    #define portUNPRIVILEGED_FLASH_REGION                 ( 1UL )

+    #define portUNPRIVILEGED_SYSCALLS_REGION              ( 2UL )

+    #define portPRIVILEGED_RAM_REGION                     ( 3UL )

+    #define portSTACK_REGION                              ( 4UL )

+    #define portFIRST_CONFIGURABLE_REGION                 ( 5UL )

+    #define portLAST_CONFIGURABLE_REGION                  ( 7UL )

+    #define portNUM_CONFIGURABLE_REGIONS                  ( ( portLAST_CONFIGURABLE_REGION - portFIRST_CONFIGURABLE_REGION ) + 1 )

+    #define portTOTAL_NUM_REGIONS                         ( portNUM_CONFIGURABLE_REGIONS + 1 )   /* Plus one to make space for the stack region. */

 

 /* Device memory attributes used in MPU_MAIR registers.

  *

@@ -155,162 +155,164 @@
  *				11 --> Device-GRE

  *  Bit[1:0] - 00, Reserved.

  */

-#define portMPU_DEVICE_MEMORY_nGnRnE						( 0x00 ) /* 0000 0000 */

-#define portMPU_DEVICE_MEMORY_nGnRE							( 0x04 ) /* 0000 0100 */

-#define portMPU_DEVICE_MEMORY_nGRE							( 0x08 ) /* 0000 1000 */

-#define portMPU_DEVICE_MEMORY_GRE							( 0x0C ) /* 0000 1100 */

+    #define portMPU_DEVICE_MEMORY_nGnRnE                  ( 0x00 )   /* 0000 0000 */

+    #define portMPU_DEVICE_MEMORY_nGnRE                   ( 0x04 )   /* 0000 0100 */

+    #define portMPU_DEVICE_MEMORY_nGRE                    ( 0x08 )   /* 0000 1000 */

+    #define portMPU_DEVICE_MEMORY_GRE                     ( 0x0C )   /* 0000 1100 */

 

 /* Normal memory attributes used in MPU_MAIR registers. */

-#define portMPU_NORMAL_MEMORY_NON_CACHEABLE					( 0x44 ) /* Non-cacheable. */

-#define portMPU_NORMAL_MEMORY_BUFFERABLE_CACHEABLE			( 0xFF ) /* Non-Transient, Write-back, Read-Allocate and Write-Allocate. */

+    #define portMPU_NORMAL_MEMORY_NON_CACHEABLE           ( 0x44 )   /* Non-cacheable. */

+    #define portMPU_NORMAL_MEMORY_BUFFERABLE_CACHEABLE    ( 0xFF )   /* Non-Transient, Write-back, Read-Allocate and Write-Allocate. */

 

 /* Attributes used in MPU_RBAR registers. */

-#define portMPU_REGION_NON_SHAREABLE						( 0UL << 3UL )

-#define portMPU_REGION_INNER_SHAREABLE						( 1UL << 3UL )

-#define portMPU_REGION_OUTER_SHAREABLE						( 2UL << 3UL )

+    #define portMPU_REGION_NON_SHAREABLE                  ( 0UL << 3UL )

+    #define portMPU_REGION_INNER_SHAREABLE                ( 1UL << 3UL )

+    #define portMPU_REGION_OUTER_SHAREABLE                ( 2UL << 3UL )

 

-#define portMPU_REGION_PRIVILEGED_READ_WRITE				( 0UL << 1UL )

-#define portMPU_REGION_READ_WRITE							( 1UL << 1UL )

-#define portMPU_REGION_PRIVILEGED_READ_ONLY					( 2UL << 1UL )

-#define portMPU_REGION_READ_ONLY							( 3UL << 1UL )

+    #define portMPU_REGION_PRIVILEGED_READ_WRITE          ( 0UL << 1UL )

+    #define portMPU_REGION_READ_WRITE                     ( 1UL << 1UL )

+    #define portMPU_REGION_PRIVILEGED_READ_ONLY           ( 2UL << 1UL )

+    #define portMPU_REGION_READ_ONLY                      ( 3UL << 1UL )

 

-#define portMPU_REGION_EXECUTE_NEVER						( 1UL )

+    #define portMPU_REGION_EXECUTE_NEVER                  ( 1UL )

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Settings to define an MPU region.

  */

-typedef struct MPURegionSettings

-{

-	uint32_t ulRBAR;	/**< RBAR for the region. */

-	uint32_t ulRLAR;	/**< RLAR for the region. */

-} MPURegionSettings_t;

+    typedef struct MPURegionSettings

+    {

+        uint32_t ulRBAR; /**< RBAR for the region. */

+        uint32_t ulRLAR; /**< RLAR for the region. */

+    } MPURegionSettings_t;

 

 /**

  * @brief MPU settings as stored in the TCB.

  */

-typedef struct MPU_SETTINGS

-{

-	uint32_t ulMAIR0;	/**< MAIR0 for the task containing attributes for all the 4 per task regions. */

-	MPURegionSettings_t xRegionsSettings[ portTOTAL_NUM_REGIONS ]; /**< Settings for 4 per task regions. */

-} xMPU_SETTINGS;

+    typedef struct MPU_SETTINGS

+    {

+        uint32_t ulMAIR0;                                              /**< MAIR0 for the task containing attributes for all the 4 per task regions. */

+        MPURegionSettings_t xRegionsSettings[ portTOTAL_NUM_REGIONS ]; /**< Settings for 4 per task regions. */

+    } xMPU_SETTINGS;

 /*-----------------------------------------------------------*/

 

 /**

  * @brief SVC numbers.

  */

-#define portSVC_ALLOCATE_SECURE_CONTEXT						0

-#define portSVC_FREE_SECURE_CONTEXT							1

-#define portSVC_START_SCHEDULER								2

-#define portSVC_RAISE_PRIVILEGE								3

+    #define portSVC_ALLOCATE_SECURE_CONTEXT    0

+    #define portSVC_FREE_SECURE_CONTEXT        1

+    #define portSVC_START_SCHEDULER            2

+    #define portSVC_RAISE_PRIVILEGE            3

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Scheduler utilities.

  */

-#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 portYIELD_FROM_ISR( x )								portEND_SWITCHING_ISR( x )

+    #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 portYIELD_FROM_ISR( x )                     portEND_SWITCHING_ISR( x )

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Critical section management.

  */

-#define portSET_INTERRUPT_MASK_FROM_ISR()					ulSetInterruptMask()

-#define portCLEAR_INTERRUPT_MASK_FROM_ISR(x)				vClearInterruptMask( x )

-#define portDISABLE_INTERRUPTS()							ulSetInterruptMask()

-#define portENABLE_INTERRUPTS()								vClearInterruptMask( 0 )

-#define portENTER_CRITICAL()								vPortEnterCritical()

-#define portEXIT_CRITICAL()									vPortExitCritical()

+    #define portSET_INTERRUPT_MASK_FROM_ISR()         ulSetInterruptMask()

+    #define portCLEAR_INTERRUPT_MASK_FROM_ISR( x )    vClearInterruptMask( x )

+    #define portDISABLE_INTERRUPTS()                  ulSetInterruptMask()

+    #define portENABLE_INTERRUPTS()                   vClearInterruptMask( 0 )

+    #define portENTER_CRITICAL()                      vPortEnterCritical()

+    #define portEXIT_CRITICAL()                       vPortExitCritical()

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Tickless idle/low power functionality.

  */

-#ifndef portSUPPRESS_TICKS_AND_SLEEP

-	extern void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime );

-	#define portSUPPRESS_TICKS_AND_SLEEP( xExpectedIdleTime ) vPortSuppressTicksAndSleep( xExpectedIdleTime )

-#endif

+    #ifndef portSUPPRESS_TICKS_AND_SLEEP

+        extern void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime );

+        #define portSUPPRESS_TICKS_AND_SLEEP( xExpectedIdleTime )    vPortSuppressTicksAndSleep( xExpectedIdleTime )

+    #endif

 /*-----------------------------------------------------------*/

 

 /**

  * @brief 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 )

 /*-----------------------------------------------------------*/

 

-#if( configENABLE_TRUSTZONE == 1 )

-	/**

-	 * @brief Allocate a secure context for the task.

-	 *

-	 * Tasks are not created with a secure context. Any task that is going to call

-	 * secure functions must call portALLOCATE_SECURE_CONTEXT() to allocate itself a

-	 * secure context before it calls any secure function.

-	 *

-	 * @param[in] ulSecureStackSize The size of the secure stack to be allocated.

-	 */

-	#define portALLOCATE_SECURE_CONTEXT( ulSecureStackSize )	vPortAllocateSecureContext( ulSecureStackSize )

+    #if ( configENABLE_TRUSTZONE == 1 )

 

-	/**

-	 * @brief Called when a task is deleted to delete the task's secure context,

-	 * if it has one.

-	 *

-	 * @param[in] pxTCB The TCB of the task being deleted.

-	 */

-	#define portCLEAN_UP_TCB( pxTCB )							vPortFreeSecureContext( ( uint32_t * ) pxTCB )

-#else

-	#define portALLOCATE_SECURE_CONTEXT( ulSecureStackSize )

-	#define portCLEAN_UP_TCB( pxTCB )

-#endif /* configENABLE_TRUSTZONE */

+/**

+ * @brief Allocate a secure context for the task.

+ *

+ * Tasks are not created with a secure context. Any task that is going to call

+ * secure functions must call portALLOCATE_SECURE_CONTEXT() to allocate itself a

+ * secure context before it calls any secure function.

+ *

+ * @param[in] ulSecureStackSize The size of the secure stack to be allocated.

+ */

+        #define portALLOCATE_SECURE_CONTEXT( ulSecureStackSize )    vPortAllocateSecureContext( ulSecureStackSize )

+

+/**

+ * @brief Called when a task is deleted to delete the task's secure context,

+ * if it has one.

+ *

+ * @param[in] pxTCB The TCB of the task being deleted.

+ */

+        #define portCLEAN_UP_TCB( pxTCB )                           vPortFreeSecureContext( ( uint32_t * ) pxTCB )

+    #else

+        #define portALLOCATE_SECURE_CONTEXT( ulSecureStackSize )

+        #define portCLEAN_UP_TCB( pxTCB )

+    #endif /* configENABLE_TRUSTZONE */

 /*-----------------------------------------------------------*/

 

-#if( configENABLE_MPU == 1 )

-	/**

-	 * @brief Checks whether or not the processor is privileged.

-	 *

-	 * @return 1 if the processor is already privileged, 0 otherwise.

-	 */

-	#define portIS_PRIVILEGED()									xIsPrivileged()

+    #if ( configENABLE_MPU == 1 )

 

-	/**

-	 * @brief Raise an SVC request to raise privilege.

-	 *

-	 * The SVC handler checks that the SVC was raised from a system call and only

-	 * then it raises the privilege. If this is called from any other place,

-	 * the privilege is not raised.

-	 */

-	#define portRAISE_PRIVILEGE()								__asm volatile ( "svc %0 \n" :: "i" ( portSVC_RAISE_PRIVILEGE ) : "memory" );

+/**

+ * @brief Checks whether or not the processor is privileged.

+ *

+ * @return 1 if the processor is already privileged, 0 otherwise.

+ */

+        #define portIS_PRIVILEGED()      xIsPrivileged()

 

-	/**

-	 * @brief Lowers the privilege level by setting the bit 0 of the CONTROL

-	 * register.

-	 */

-	#define portRESET_PRIVILEGE()								vResetPrivilege()

-#else

-	#define portIS_PRIVILEGED()

-	#define portRAISE_PRIVILEGE()

-	#define portRESET_PRIVILEGE()

-#endif /* configENABLE_MPU */

+/**

+ * @brief Raise an SVC request to raise privilege.

+ *

+ * The SVC handler checks that the SVC was raised from a system call and only

+ * then it raises the privilege. If this is called from any other place,

+ * the privilege is not raised.

+ */

+        #define portRAISE_PRIVILEGE()    __asm volatile ( "svc %0 \n" ::"i" ( portSVC_RAISE_PRIVILEGE ) : "memory" );

+

+/**

+ * @brief Lowers the privilege level by setting the bit 0 of the CONTROL

+ * register.

+ */

+        #define portRESET_PRIVILEGE()    vResetPrivilege()

+    #else

+        #define portIS_PRIVILEGED()

+        #define portRAISE_PRIVILEGE()

+        #define portRESET_PRIVILEGE()

+    #endif /* configENABLE_MPU */

 /*-----------------------------------------------------------*/

 

 /**

  * @brief Barriers.

  */

-#define portMEMORY_BARRIER() __asm volatile( "" ::: "memory" )

+    #define portMEMORY_BARRIER()    __asm volatile ( "" ::: "memory" )

 /*-----------------------------------------------------------*/

 

 /* Suppress warnings that are generated by the IAR tools, but cannot be fixed in

  * the source code because to do so would cause other compilers to generate

  * warnings. */

-#pragma diag_suppress=Be006

-#pragma diag_suppress=Pa082

+    #pragma diag_suppress=Be006

+    #pragma diag_suppress=Pa082

 /*-----------------------------------------------------------*/

 

-#ifdef __cplusplus

-}

-#endif

+    #ifdef __cplusplus

+        }

+    #endif

 

 #endif /* PORTMACRO_H */

diff --git a/portable/ARMv8M/non_secure/portasm.h b/portable/ARMv8M/non_secure/portasm.h
index a720742..edb5bcf 100644
--- a/portable/ARMv8M/non_secure/portasm.h
+++ b/portable/ARMv8M/non_secure/portasm.h
@@ -37,14 +37,14 @@
  * @brief Restore the context of the first task so that the first task starts

  * executing.

  */

-void vRestoreContextOfFirstTask( void ) __attribute__ (( naked )) PRIVILEGED_FUNCTION;

+void vRestoreContextOfFirstTask( void ) __attribute__( ( naked ) ) PRIVILEGED_FUNCTION;

 

 /**

  * @brief Checks whether or not the processor is privileged.

  *

  * @return 1 if the processor is already privileged, 0 otherwise.

  */

-BaseType_t xIsPrivileged( void ) __attribute__ (( naked ));

+BaseType_t xIsPrivileged( void ) __attribute__( ( naked ) );

 

 /**

  * @brief Raises the privilege level by clearing the bit 0 of the CONTROL

@@ -57,7 +57,7 @@
  *  Bit[0] = 0 --> The processor is running privileged

  *  Bit[0] = 1 --> The processor is running unprivileged.

  */

-void vRaisePrivilege( void ) __attribute__ (( naked )) PRIVILEGED_FUNCTION;

+void vRaisePrivilege( void ) __attribute__( ( naked ) ) PRIVILEGED_FUNCTION;

 

 /**

  * @brief Lowers the privilege level by setting the bit 0 of the CONTROL

@@ -67,32 +67,32 @@
  *  Bit[0] = 0 --> The processor is running privileged

  *  Bit[0] = 1 --> The processor is running unprivileged.

  */

-void vResetPrivilege( void ) __attribute__ (( naked ));

+void vResetPrivilege( void ) __attribute__( ( naked ) );

 

 /**

  * @brief Starts the first task.

  */

-void vStartFirstTask( void ) __attribute__ (( naked )) PRIVILEGED_FUNCTION;

+void vStartFirstTask( void ) __attribute__( ( naked ) ) PRIVILEGED_FUNCTION;

 

 /**

  * @brief Disables interrupts.

  */

-uint32_t ulSetInterruptMask( void ) __attribute__(( naked )) PRIVILEGED_FUNCTION;

+uint32_t ulSetInterruptMask( void ) __attribute__( ( naked ) ) PRIVILEGED_FUNCTION;

 

 /**

  * @brief Enables interrupts.

  */

-void vClearInterruptMask( uint32_t ulMask ) __attribute__(( naked )) PRIVILEGED_FUNCTION;

+void vClearInterruptMask( uint32_t ulMask ) __attribute__( ( naked ) ) PRIVILEGED_FUNCTION;

 

 /**

  * @brief PendSV Exception handler.

  */

-void PendSV_Handler( void ) __attribute__ (( naked )) PRIVILEGED_FUNCTION;

+void PendSV_Handler( void ) __attribute__( ( naked ) ) PRIVILEGED_FUNCTION;

 

 /**

  * @brief SVC Handler.

  */

-void SVC_Handler( void ) __attribute__ (( naked )) PRIVILEGED_FUNCTION;

+void SVC_Handler( void ) __attribute__( ( naked ) ) PRIVILEGED_FUNCTION;

 

 /**

  * @brief Allocate a Secure context for the calling task.

@@ -100,13 +100,13 @@
  * @param[in] ulSecureStackSize The size of the stack to be allocated on the

  * secure side for the calling task.

  */

-void vPortAllocateSecureContext( uint32_t ulSecureStackSize ) __attribute__ (( naked ));

+void vPortAllocateSecureContext( uint32_t ulSecureStackSize ) __attribute__( ( naked ) );

 

 /**

  * @brief Free the task's secure context.

  *

  * @param[in] pulTCB Pointer to the Task Control Block (TCB) of the task.

  */

-void vPortFreeSecureContext( uint32_t *pulTCB ) __attribute__ (( naked )) PRIVILEGED_FUNCTION;

+void vPortFreeSecureContext( uint32_t * pulTCB ) __attribute__( ( naked ) ) PRIVILEGED_FUNCTION;

 

 #endif /* __PORT_ASM_H__ */