mirror of
				https://github.com/FreeRTOS/FreeRTOS-Kernel.git
				synced 2025-11-04 11:09:01 +01:00 
			
		
		
		
	use configSTACK_DEPTH_TYPE consequently (updated for 11.0.x) (#942)
* use configSTACK_DEPTH_TYPE consequently * update default to uint32_t * Update FreeRTOS.h Revert for backwards compatibility * Update portable.h * configSTACK_DEPTH_TYPE - unify stack variable naming * update lexicon.txt * update typo lexicon.txt * Update task.h * Update timers.h * fix merge typo * fix stack type * fix timer stack type * fix timer stack more * fix affinity set stack * adjust ports to use configSTACK_DEPTH_TYPE * fix vTaskListTasks * set default stack depth type in portable.h * fix History.txt * update affinityset * resolve reviewer comments * fix prvTaskCheckFreeStackSpace for variable stack size type * restore CoRoutine defines * remove obsolete stack ttype casts * fix (attempt) for format portable.h * Formatting fixes * prvTaskCheckFreeStackSpace make variable naming compliant * Update portable/GCC/ARM_CM33/non_secure/port.c Co-authored-by: Soren Ptak <ptaksoren@gmail.com> * Update portable/GCC/ARM_CM23/non_secure/port.c Co-authored-by: Soren Ptak <ptaksoren@gmail.com> * Apply suggestions from code review Update ulStackDepth to uxStackDepth Co-authored-by: Soren Ptak <ptaksoren@gmail.com> * Correct uxStackDepth in port.c Also add uint32_t cast prvGetMPURegionSizeSetting. * Update ARM CM3 MPU port.c Revert casting of ( uint32_t ) pxBottomOfStack * Code review suggestions Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com> --------- Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com> Co-authored-by: Rahul Kar <118818625+kar-rahul-aws@users.noreply.github.com> Co-authored-by: Soren Ptak <ptaksoren@gmail.com> Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com> Co-authored-by: Gaurav Aggarwal <aggarg@amazon.com>
This commit is contained in:
		
							parent
							
								
									5040a67939
								
							
						
					
					
						commit
						14dd5b503a
					
				@ -1,5 +1,8 @@
 | 
				
			|||||||
Documentation and download available at https://www.FreeRTOS.org/
 | 
					Documentation and download available at https://www.FreeRTOS.org/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						+ Update all the APIs to use configSTACK_DEPTH_TYPE for stack type. If left
 | 
				
			||||||
 | 
						  undefined, configSTACK_DEPTH_TYPE defaults to StackType_t.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Changes between FreeRTOS V11.0.0 and FreeRTOS V11.0.1 released December 21, 2023
 | 
					Changes between FreeRTOS V11.0.0 and FreeRTOS V11.0.1 released December 21, 2023
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    + Updated the SBOM file.
 | 
					    + Updated the SBOM file.
 | 
				
			||||||
 | 
				
			|||||||
@ -1642,7 +1642,7 @@
 | 
				
			|||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef traceENTER_xTaskCreateStatic
 | 
					#ifndef traceENTER_xTaskCreateStatic
 | 
				
			||||||
    #define traceENTER_xTaskCreateStatic( pxTaskCode, pcName, ulStackDepth, pvParameters, uxPriority, puxStackBuffer, pxTaskBuffer )
 | 
					    #define traceENTER_xTaskCreateStatic( pxTaskCode, pcName, uxStackDepth, pvParameters, uxPriority, puxStackBuffer, pxTaskBuffer )
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef traceRETURN_xTaskCreateStatic
 | 
					#ifndef traceRETURN_xTaskCreateStatic
 | 
				
			||||||
@ -1650,7 +1650,7 @@
 | 
				
			|||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef traceENTER_xTaskCreateStaticAffinitySet
 | 
					#ifndef traceENTER_xTaskCreateStaticAffinitySet
 | 
				
			||||||
    #define traceENTER_xTaskCreateStaticAffinitySet( pxTaskCode, pcName, ulStackDepth, pvParameters, uxPriority, puxStackBuffer, pxTaskBuffer, uxCoreAffinityMask )
 | 
					    #define traceENTER_xTaskCreateStaticAffinitySet( pxTaskCode, pcName, uxStackDepth, pvParameters, uxPriority, puxStackBuffer, pxTaskBuffer, uxCoreAffinityMask )
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef traceRETURN_xTaskCreateStaticAffinitySet
 | 
					#ifndef traceRETURN_xTaskCreateStaticAffinitySet
 | 
				
			||||||
@ -1690,7 +1690,7 @@
 | 
				
			|||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef traceENTER_xTaskCreate
 | 
					#ifndef traceENTER_xTaskCreate
 | 
				
			||||||
    #define traceENTER_xTaskCreate( pxTaskCode, pcName, usStackDepth, pvParameters, uxPriority, pxCreatedTask )
 | 
					    #define traceENTER_xTaskCreate( pxTaskCode, pcName, uxStackDepth, pvParameters, uxPriority, pxCreatedTask )
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef traceRETURN_xTaskCreate
 | 
					#ifndef traceRETURN_xTaskCreate
 | 
				
			||||||
@ -1698,7 +1698,7 @@
 | 
				
			|||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef traceENTER_xTaskCreateAffinitySet
 | 
					#ifndef traceENTER_xTaskCreateAffinitySet
 | 
				
			||||||
    #define traceENTER_xTaskCreateAffinitySet( pxTaskCode, pcName, usStackDepth, pvParameters, uxPriority, uxCoreAffinityMask, pxCreatedTask )
 | 
					    #define traceENTER_xTaskCreateAffinitySet( pxTaskCode, pcName, uxStackDepth, pvParameters, uxPriority, uxCoreAffinityMask, pxCreatedTask )
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef traceRETURN_xTaskCreateAffinitySet
 | 
					#ifndef traceRETURN_xTaskCreateAffinitySet
 | 
				
			||||||
 | 
				
			|||||||
@ -138,13 +138,13 @@ BaseType_t MPU_xTaskGetSchedulerState( void ) FREERTOS_SYSTEM_CALL;
 | 
				
			|||||||
 * with all the APIs. */
 | 
					 * with all the APIs. */
 | 
				
			||||||
BaseType_t MPU_xTaskCreate( TaskFunction_t pxTaskCode,
 | 
					BaseType_t MPU_xTaskCreate( TaskFunction_t pxTaskCode,
 | 
				
			||||||
                            const char * const pcName,
 | 
					                            const char * const pcName,
 | 
				
			||||||
                            const uint16_t usStackDepth,
 | 
					                            const configSTACK_DEPTH_TYPE uxStackDepth,
 | 
				
			||||||
                            void * const pvParameters,
 | 
					                            void * const pvParameters,
 | 
				
			||||||
                            UBaseType_t uxPriority,
 | 
					                            UBaseType_t uxPriority,
 | 
				
			||||||
                            TaskHandle_t * const pxCreatedTask ) PRIVILEGED_FUNCTION;
 | 
					                            TaskHandle_t * const pxCreatedTask ) PRIVILEGED_FUNCTION;
 | 
				
			||||||
TaskHandle_t MPU_xTaskCreateStatic( TaskFunction_t pxTaskCode,
 | 
					TaskHandle_t MPU_xTaskCreateStatic( TaskFunction_t pxTaskCode,
 | 
				
			||||||
                                    const char * const pcName,
 | 
					                                    const char * const pcName,
 | 
				
			||||||
                                    const uint32_t ulStackDepth,
 | 
					                                    const configSTACK_DEPTH_TYPE uxStackDepth,
 | 
				
			||||||
                                    void * const pvParameters,
 | 
					                                    void * const pvParameters,
 | 
				
			||||||
                                    UBaseType_t uxPriority,
 | 
					                                    UBaseType_t uxPriority,
 | 
				
			||||||
                                    StackType_t * const puxStackBuffer,
 | 
					                                    StackType_t * const puxStackBuffer,
 | 
				
			||||||
 | 
				
			|||||||
@ -85,6 +85,10 @@
 | 
				
			|||||||
    #define portARCH_NAME    NULL
 | 
					    #define portARCH_NAME    NULL
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef configSTACK_DEPTH_TYPE
 | 
				
			||||||
 | 
					    #define configSTACK_DEPTH_TYPE    StackType_t
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef configSTACK_ALLOCATION_FROM_SEPARATE_HEAP
 | 
					#ifndef configSTACK_ALLOCATION_FROM_SEPARATE_HEAP
 | 
				
			||||||
    /* Defaults to 0 for backward compatibility. */
 | 
					    /* Defaults to 0 for backward compatibility. */
 | 
				
			||||||
    #define configSTACK_ALLOCATION_FROM_SEPARATE_HEAP    0
 | 
					    #define configSTACK_ALLOCATION_FROM_SEPARATE_HEAP    0
 | 
				
			||||||
@ -228,7 +232,7 @@ void vPortEndScheduler( void ) PRIVILEGED_FUNCTION;
 | 
				
			|||||||
    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
					    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
				
			||||||
                                    const struct xMEMORY_REGION * const xRegions,
 | 
					                                    const struct xMEMORY_REGION * const xRegions,
 | 
				
			||||||
                                    StackType_t * pxBottomOfStack,
 | 
					                                    StackType_t * pxBottomOfStack,
 | 
				
			||||||
                                    uint32_t ulStackDepth ) PRIVILEGED_FUNCTION;
 | 
					                                    configSTACK_DEPTH_TYPE uxStackDepth ) PRIVILEGED_FUNCTION;
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 | 
				
			|||||||
@ -288,8 +288,8 @@ typedef enum
 | 
				
			|||||||
 * @code{c}
 | 
					 * @code{c}
 | 
				
			||||||
 * BaseType_t xTaskCreate(
 | 
					 * BaseType_t xTaskCreate(
 | 
				
			||||||
 *                            TaskFunction_t pxTaskCode,
 | 
					 *                            TaskFunction_t pxTaskCode,
 | 
				
			||||||
 *                            const char *pcName,
 | 
					 *                            const char * const pcName,
 | 
				
			||||||
 *                            configSTACK_DEPTH_TYPE usStackDepth,
 | 
					 *                            const configSTACK_DEPTH_TYPE uxStackDepth,
 | 
				
			||||||
 *                            void *pvParameters,
 | 
					 *                            void *pvParameters,
 | 
				
			||||||
 *                            UBaseType_t uxPriority,
 | 
					 *                            UBaseType_t uxPriority,
 | 
				
			||||||
 *                            TaskHandle_t *pxCreatedTask
 | 
					 *                            TaskHandle_t *pxCreatedTask
 | 
				
			||||||
@ -323,9 +323,9 @@ typedef enum
 | 
				
			|||||||
 * facilitate debugging.  Max length defined by configMAX_TASK_NAME_LEN - default
 | 
					 * facilitate debugging.  Max length defined by configMAX_TASK_NAME_LEN - default
 | 
				
			||||||
 * is 16.
 | 
					 * is 16.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * @param usStackDepth The size of the task stack specified as the number of
 | 
					 * @param uxStackDepth The size of the task stack specified as the number of
 | 
				
			||||||
 * variables the stack can hold - not the number of bytes.  For example, if
 | 
					 * variables the stack can hold - not the number of bytes.  For example, if
 | 
				
			||||||
 * the stack is 16 bits wide and usStackDepth is defined as 100, 200 bytes
 | 
					 * the stack is 16 bits wide and uxStackDepth is defined as 100, 200 bytes
 | 
				
			||||||
 * will be allocated for stack storage.
 | 
					 * will be allocated for stack storage.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * @param pvParameters Pointer that will be used as the parameter for the task
 | 
					 * @param pvParameters Pointer that will be used as the parameter for the task
 | 
				
			||||||
@ -380,7 +380,7 @@ typedef enum
 | 
				
			|||||||
#if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
 | 
					#if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
 | 
				
			||||||
    BaseType_t xTaskCreate( TaskFunction_t pxTaskCode,
 | 
					    BaseType_t xTaskCreate( TaskFunction_t pxTaskCode,
 | 
				
			||||||
                            const char * const pcName,
 | 
					                            const char * const pcName,
 | 
				
			||||||
                            const configSTACK_DEPTH_TYPE usStackDepth,
 | 
					                            const configSTACK_DEPTH_TYPE uxStackDepth,
 | 
				
			||||||
                            void * const pvParameters,
 | 
					                            void * const pvParameters,
 | 
				
			||||||
                            UBaseType_t uxPriority,
 | 
					                            UBaseType_t uxPriority,
 | 
				
			||||||
                            TaskHandle_t * const pxCreatedTask ) PRIVILEGED_FUNCTION;
 | 
					                            TaskHandle_t * const pxCreatedTask ) PRIVILEGED_FUNCTION;
 | 
				
			||||||
@ -389,7 +389,7 @@ typedef enum
 | 
				
			|||||||
#if ( ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) && ( configNUMBER_OF_CORES > 1 ) && ( configUSE_CORE_AFFINITY == 1 ) )
 | 
					#if ( ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) && ( configNUMBER_OF_CORES > 1 ) && ( configUSE_CORE_AFFINITY == 1 ) )
 | 
				
			||||||
    BaseType_t xTaskCreateAffinitySet( TaskFunction_t pxTaskCode,
 | 
					    BaseType_t xTaskCreateAffinitySet( TaskFunction_t pxTaskCode,
 | 
				
			||||||
                                       const char * const pcName,
 | 
					                                       const char * const pcName,
 | 
				
			||||||
                                       const configSTACK_DEPTH_TYPE usStackDepth,
 | 
					                                       const configSTACK_DEPTH_TYPE uxStackDepth,
 | 
				
			||||||
                                       void * const pvParameters,
 | 
					                                       void * const pvParameters,
 | 
				
			||||||
                                       UBaseType_t uxPriority,
 | 
					                                       UBaseType_t uxPriority,
 | 
				
			||||||
                                       UBaseType_t uxCoreAffinityMask,
 | 
					                                       UBaseType_t uxCoreAffinityMask,
 | 
				
			||||||
@ -400,8 +400,8 @@ typedef enum
 | 
				
			|||||||
 * task. h
 | 
					 * task. h
 | 
				
			||||||
 * @code{c}
 | 
					 * @code{c}
 | 
				
			||||||
 * TaskHandle_t xTaskCreateStatic( TaskFunction_t pxTaskCode,
 | 
					 * TaskHandle_t xTaskCreateStatic( TaskFunction_t pxTaskCode,
 | 
				
			||||||
 *                               const char *pcName,
 | 
					 *                               const char * const pcName,
 | 
				
			||||||
 *                               uint32_t ulStackDepth,
 | 
					 *                               const configSTACK_DEPTH_TYPE uxStackDepth,
 | 
				
			||||||
 *                               void *pvParameters,
 | 
					 *                               void *pvParameters,
 | 
				
			||||||
 *                               UBaseType_t uxPriority,
 | 
					 *                               UBaseType_t uxPriority,
 | 
				
			||||||
 *                               StackType_t *puxStackBuffer,
 | 
					 *                               StackType_t *puxStackBuffer,
 | 
				
			||||||
@ -427,9 +427,9 @@ typedef enum
 | 
				
			|||||||
 * facilitate debugging.  The maximum length of the string is defined by
 | 
					 * facilitate debugging.  The maximum length of the string is defined by
 | 
				
			||||||
 * configMAX_TASK_NAME_LEN in FreeRTOSConfig.h.
 | 
					 * configMAX_TASK_NAME_LEN in FreeRTOSConfig.h.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * @param ulStackDepth The size of the task stack specified as the number of
 | 
					 * @param uxStackDepth The size of the task stack specified as the number of
 | 
				
			||||||
 * variables the stack can hold - not the number of bytes.  For example, if
 | 
					 * variables the stack can hold - not the number of bytes.  For example, if
 | 
				
			||||||
 * the stack is 32-bits wide and ulStackDepth is defined as 100 then 400 bytes
 | 
					 * the stack is 32-bits wide and uxStackDepth is defined as 100 then 400 bytes
 | 
				
			||||||
 * will be allocated for stack storage.
 | 
					 * will be allocated for stack storage.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * @param pvParameters Pointer that will be used as the parameter for the task
 | 
					 * @param pvParameters Pointer that will be used as the parameter for the task
 | 
				
			||||||
@ -438,7 +438,7 @@ typedef enum
 | 
				
			|||||||
 * @param uxPriority The priority at which the task will run.
 | 
					 * @param uxPriority The priority at which the task will run.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * @param puxStackBuffer Must point to a StackType_t array that has at least
 | 
					 * @param puxStackBuffer Must point to a StackType_t array that has at least
 | 
				
			||||||
 * ulStackDepth indexes - the array will then be used as the task's stack,
 | 
					 * uxStackDepth indexes - the array will then be used as the task's stack,
 | 
				
			||||||
 * removing the need for the stack to be allocated dynamically.
 | 
					 * removing the need for the stack to be allocated dynamically.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * @param pxTaskBuffer Must point to a variable of type StaticTask_t, which will
 | 
					 * @param pxTaskBuffer Must point to a variable of type StaticTask_t, which will
 | 
				
			||||||
@ -507,7 +507,7 @@ typedef enum
 | 
				
			|||||||
#if ( configSUPPORT_STATIC_ALLOCATION == 1 )
 | 
					#if ( configSUPPORT_STATIC_ALLOCATION == 1 )
 | 
				
			||||||
    TaskHandle_t xTaskCreateStatic( TaskFunction_t pxTaskCode,
 | 
					    TaskHandle_t xTaskCreateStatic( TaskFunction_t pxTaskCode,
 | 
				
			||||||
                                    const char * const pcName,
 | 
					                                    const char * const pcName,
 | 
				
			||||||
                                    const uint32_t ulStackDepth,
 | 
					                                    const configSTACK_DEPTH_TYPE uxStackDepth,
 | 
				
			||||||
                                    void * const pvParameters,
 | 
					                                    void * const pvParameters,
 | 
				
			||||||
                                    UBaseType_t uxPriority,
 | 
					                                    UBaseType_t uxPriority,
 | 
				
			||||||
                                    StackType_t * const puxStackBuffer,
 | 
					                                    StackType_t * const puxStackBuffer,
 | 
				
			||||||
@ -517,7 +517,7 @@ typedef enum
 | 
				
			|||||||
#if ( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configNUMBER_OF_CORES > 1 ) && ( configUSE_CORE_AFFINITY == 1 ) )
 | 
					#if ( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configNUMBER_OF_CORES > 1 ) && ( configUSE_CORE_AFFINITY == 1 ) )
 | 
				
			||||||
    TaskHandle_t xTaskCreateStaticAffinitySet( TaskFunction_t pxTaskCode,
 | 
					    TaskHandle_t xTaskCreateStaticAffinitySet( TaskFunction_t pxTaskCode,
 | 
				
			||||||
                                               const char * const pcName,
 | 
					                                               const char * const pcName,
 | 
				
			||||||
                                               const uint32_t ulStackDepth,
 | 
					                                               const configSTACK_DEPTH_TYPE uxStackDepth,
 | 
				
			||||||
                                               void * const pvParameters,
 | 
					                                               void * const pvParameters,
 | 
				
			||||||
                                               UBaseType_t uxPriority,
 | 
					                                               UBaseType_t uxPriority,
 | 
				
			||||||
                                               StackType_t * const puxStackBuffer,
 | 
					                                               StackType_t * const puxStackBuffer,
 | 
				
			||||||
@ -561,7 +561,7 @@ typedef enum
 | 
				
			|||||||
 * {
 | 
					 * {
 | 
				
			||||||
 *  vATask,     // pvTaskCode - the function that implements the task.
 | 
					 *  vATask,     // pvTaskCode - the function that implements the task.
 | 
				
			||||||
 *  "ATask",    // pcName - just a text name for the task to assist debugging.
 | 
					 *  "ATask",    // pcName - just a text name for the task to assist debugging.
 | 
				
			||||||
 *  100,        // usStackDepth - the stack size DEFINED IN WORDS.
 | 
					 *  100,        // uxStackDepth - the stack size DEFINED IN WORDS.
 | 
				
			||||||
 *  NULL,       // pvParameters - passed into the task function as the function parameters.
 | 
					 *  NULL,       // pvParameters - passed into the task function as the function parameters.
 | 
				
			||||||
 *  ( 1UL | portPRIVILEGE_BIT ),// uxPriority - task priority, set the portPRIVILEGE_BIT if the task should run in a privileged state.
 | 
					 *  ( 1UL | portPRIVILEGE_BIT ),// uxPriority - task priority, set the portPRIVILEGE_BIT if the task should run in a privileged state.
 | 
				
			||||||
 *  cStackBuffer,// puxStackBuffer - the buffer to be used as the task stack.
 | 
					 *  cStackBuffer,// puxStackBuffer - the buffer to be used as the task stack.
 | 
				
			||||||
@ -655,7 +655,7 @@ typedef enum
 | 
				
			|||||||
 * {
 | 
					 * {
 | 
				
			||||||
 *  vATask,     // pvTaskCode - the function that implements the task.
 | 
					 *  vATask,     // pvTaskCode - the function that implements the task.
 | 
				
			||||||
 *  "ATask",    // pcName - just a text name for the task to assist debugging.
 | 
					 *  "ATask",    // pcName - just a text name for the task to assist debugging.
 | 
				
			||||||
 *  100,        // usStackDepth - the stack size DEFINED IN WORDS.
 | 
					 *  100,        // uxStackDepth - the stack size DEFINED IN WORDS.
 | 
				
			||||||
 *  NULL,       // pvParameters - passed into the task function as the function parameters.
 | 
					 *  NULL,       // pvParameters - passed into the task function as the function parameters.
 | 
				
			||||||
 *  ( 1UL | portPRIVILEGE_BIT ),// uxPriority - task priority, set the portPRIVILEGE_BIT if the task should run in a privileged state.
 | 
					 *  ( 1UL | portPRIVILEGE_BIT ),// uxPriority - task priority, set the portPRIVILEGE_BIT if the task should run in a privileged state.
 | 
				
			||||||
 *  cStackBuffer,// puxStackBuffer - the buffer to be used as the task stack.
 | 
					 *  cStackBuffer,// puxStackBuffer - the buffer to be used as the task stack.
 | 
				
			||||||
@ -1987,7 +1987,7 @@ char * pcTaskGetName( TaskHandle_t xTaskToQuery ) PRIVILEGED_FUNCTION;
 | 
				
			|||||||
/**
 | 
					/**
 | 
				
			||||||
 * task.h
 | 
					 * task.h
 | 
				
			||||||
 * @code{c}
 | 
					 * @code{c}
 | 
				
			||||||
 * void vApplicationGetIdleTaskMemory( StaticTask_t ** ppxIdleTaskTCBBuffer, StackType_t ** ppxIdleTaskStackBuffer, uint32_t *pulIdleTaskStackSize )
 | 
					 * void vApplicationGetIdleTaskMemory( StaticTask_t ** ppxIdleTaskTCBBuffer, StackType_t ** ppxIdleTaskStackBuffer, configSTACK_DEPTH_TYPE * puxIdleTaskStackSize )
 | 
				
			||||||
 * @endcode
 | 
					 * @endcode
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This function is used to provide a statically allocated block of memory to FreeRTOS to hold the Idle Task TCB.  This function is required when
 | 
					 * This function is used to provide a statically allocated block of memory to FreeRTOS to hold the Idle Task TCB.  This function is required when
 | 
				
			||||||
@ -1995,16 +1995,16 @@ char * pcTaskGetName( TaskHandle_t xTaskToQuery ) PRIVILEGED_FUNCTION;
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * @param ppxIdleTaskTCBBuffer A handle to a statically allocated TCB buffer
 | 
					 * @param ppxIdleTaskTCBBuffer A handle to a statically allocated TCB buffer
 | 
				
			||||||
 * @param ppxIdleTaskStackBuffer A handle to a statically allocated Stack buffer for the idle task
 | 
					 * @param ppxIdleTaskStackBuffer A handle to a statically allocated Stack buffer for the idle task
 | 
				
			||||||
 * @param pulIdleTaskStackSize A pointer to the number of elements that will fit in the allocated stack buffer
 | 
					 * @param puxIdleTaskStackSize A pointer to the number of elements that will fit in the allocated stack buffer
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
    void vApplicationGetIdleTaskMemory( StaticTask_t ** ppxIdleTaskTCBBuffer,
 | 
					    void vApplicationGetIdleTaskMemory( StaticTask_t ** ppxIdleTaskTCBBuffer,
 | 
				
			||||||
                                        StackType_t ** ppxIdleTaskStackBuffer,
 | 
					                                        StackType_t ** ppxIdleTaskStackBuffer,
 | 
				
			||||||
                                        uint32_t * pulIdleTaskStackSize );
 | 
					                                        configSTACK_DEPTH_TYPE * puxIdleTaskStackSize );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * task.h
 | 
					 * task.h
 | 
				
			||||||
 * @code{c}
 | 
					 * @code{c}
 | 
				
			||||||
 * void vApplicationGetPassiveIdleTaskMemory( StaticTask_t ** ppxIdleTaskTCBBuffer, StackType_t ** ppxIdleTaskStackBuffer, uint32_t *pulIdleTaskStackSize, BaseType_t xCoreID )
 | 
					 * void vApplicationGetPassiveIdleTaskMemory( StaticTask_t ** ppxIdleTaskTCBBuffer, StackType_t ** ppxIdleTaskStackBuffer, configSTACK_DEPTH_TYPE * puxIdleTaskStackSize, BaseType_t xCoreID )
 | 
				
			||||||
 * @endcode
 | 
					 * @endcode
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This function is used to provide a statically allocated block of memory to FreeRTOS to hold the Idle Tasks TCB.  This function is required when
 | 
					 * This function is used to provide a statically allocated block of memory to FreeRTOS to hold the Idle Tasks TCB.  This function is required when
 | 
				
			||||||
@ -2022,13 +2022,13 @@ char * pcTaskGetName( TaskHandle_t xTaskToQuery ) PRIVILEGED_FUNCTION;
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * @param ppxIdleTaskTCBBuffer A handle to a statically allocated TCB buffer
 | 
					 * @param ppxIdleTaskTCBBuffer A handle to a statically allocated TCB buffer
 | 
				
			||||||
 * @param ppxIdleTaskStackBuffer A handle to a statically allocated Stack buffer for the idle task
 | 
					 * @param ppxIdleTaskStackBuffer A handle to a statically allocated Stack buffer for the idle task
 | 
				
			||||||
 * @param pulIdleTaskStackSize A pointer to the number of elements that will fit in the allocated stack buffer
 | 
					 * @param puxIdleTaskStackSize A pointer to the number of elements that will fit in the allocated stack buffer
 | 
				
			||||||
 * @param xPassiveIdleTaskIndex The passive idle task index of the idle task buffer
 | 
					 * @param xPassiveIdleTaskIndex The passive idle task index of the idle task buffer
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
    #if ( configNUMBER_OF_CORES > 1 )
 | 
					    #if ( configNUMBER_OF_CORES > 1 )
 | 
				
			||||||
        void vApplicationGetPassiveIdleTaskMemory( StaticTask_t ** ppxIdleTaskTCBBuffer,
 | 
					        void vApplicationGetPassiveIdleTaskMemory( StaticTask_t ** ppxIdleTaskTCBBuffer,
 | 
				
			||||||
                                                   StackType_t ** ppxIdleTaskStackBuffer,
 | 
					                                                   StackType_t ** ppxIdleTaskStackBuffer,
 | 
				
			||||||
                                                   uint32_t * pulIdleTaskStackSize,
 | 
					                                                   configSTACK_DEPTH_TYPE * puxIdleTaskStackSize,
 | 
				
			||||||
                                                   BaseType_t xPassiveIdleTaskIndex );
 | 
					                                                   BaseType_t xPassiveIdleTaskIndex );
 | 
				
			||||||
    #endif /* #if ( configNUMBER_OF_CORES > 1 ) */
 | 
					    #endif /* #if ( configNUMBER_OF_CORES > 1 ) */
 | 
				
			||||||
#endif /* if ( configSUPPORT_STATIC_ALLOCATION == 1 ) */
 | 
					#endif /* if ( configSUPPORT_STATIC_ALLOCATION == 1 ) */
 | 
				
			||||||
 | 
				
			|||||||
@ -1384,7 +1384,7 @@ BaseType_t xTimerGenericCommandFromISR( TimerHandle_t xTimer,
 | 
				
			|||||||
/**
 | 
					/**
 | 
				
			||||||
 * task.h
 | 
					 * task.h
 | 
				
			||||||
 * @code{c}
 | 
					 * @code{c}
 | 
				
			||||||
 * void vApplicationGetTimerTaskMemory( StaticTask_t ** ppxTimerTaskTCBBuffer, StackType_t ** ppxTimerTaskStackBuffer, uint32_t *pulTimerTaskStackSize )
 | 
					 * void vApplicationGetTimerTaskMemory( StaticTask_t ** ppxTimerTaskTCBBuffer, StackType_t ** ppxTimerTaskStackBuffer, configSTACK_DEPTH_TYPE * puxTimerTaskStackSize )
 | 
				
			||||||
 * @endcode
 | 
					 * @endcode
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This function is used to provide a statically allocated block of memory to FreeRTOS to hold the Timer Task TCB.  This function is required when
 | 
					 * This function is used to provide a statically allocated block of memory to FreeRTOS to hold the Timer Task TCB.  This function is required when
 | 
				
			||||||
@ -1392,11 +1392,11 @@ BaseType_t xTimerGenericCommandFromISR( TimerHandle_t xTimer,
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * @param ppxTimerTaskTCBBuffer   A handle to a statically allocated TCB buffer
 | 
					 * @param ppxTimerTaskTCBBuffer   A handle to a statically allocated TCB buffer
 | 
				
			||||||
 * @param ppxTimerTaskStackBuffer A handle to a statically allocated Stack buffer for the idle task
 | 
					 * @param ppxTimerTaskStackBuffer A handle to a statically allocated Stack buffer for the idle task
 | 
				
			||||||
 * @param pulTimerTaskStackSize   A pointer to the number of elements that will fit in the allocated stack buffer
 | 
					 * @param puxTimerTaskStackSize   A pointer to the number of elements that will fit in the allocated stack buffer
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
    void vApplicationGetTimerTaskMemory( StaticTask_t ** ppxTimerTaskTCBBuffer,
 | 
					    void vApplicationGetTimerTaskMemory( StaticTask_t ** ppxTimerTaskTCBBuffer,
 | 
				
			||||||
                                         StackType_t ** ppxTimerTaskStackBuffer,
 | 
					                                         StackType_t ** ppxTimerTaskStackBuffer,
 | 
				
			||||||
                                         uint32_t * pulTimerTaskStackSize );
 | 
					                                         configSTACK_DEPTH_TYPE * puxTimerTaskStackSize );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1775,7 +1775,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
					    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
				
			||||||
                                    const struct xMEMORY_REGION * const xRegions,
 | 
					                                    const struct xMEMORY_REGION * const xRegions,
 | 
				
			||||||
                                    StackType_t * pxBottomOfStack,
 | 
					                                    StackType_t * pxBottomOfStack,
 | 
				
			||||||
                                    uint32_t ulStackDepth )
 | 
					                                    configSTACK_DEPTH_TYPE uxStackDepth )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
					        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
				
			||||||
        int32_t lIndex = 0;
 | 
					        int32_t lIndex = 0;
 | 
				
			||||||
@ -1800,10 +1800,10 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
         * which case the stack region parameters will be valid.  At all other
 | 
					         * 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
 | 
					         * times the stack parameters will not be valid and it is assumed that
 | 
				
			||||||
         * the stack region has already been configured. */
 | 
					         * the stack region has already been configured. */
 | 
				
			||||||
        if( ulStackDepth > 0 )
 | 
					        if( uxStackDepth > 0 )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
					            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
				
			||||||
            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( ulStackDepth * ( uint32_t ) sizeof( StackType_t ) ) - 1;
 | 
					            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( uxStackDepth * ( configSTACK_DEPTH_TYPE ) sizeof( StackType_t ) ) - 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            /* If the stack is within the privileged SRAM, do not protect it
 | 
					            /* If the stack is within the privileged SRAM, do not protect it
 | 
				
			||||||
             * using a separate MPU region. This is needed because privileged
 | 
					             * using a separate MPU region. This is needed because privileged
 | 
				
			||||||
 | 
				
			|||||||
@ -57,7 +57,7 @@
 | 
				
			|||||||
    #if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
 | 
					    #if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
 | 
				
			||||||
        BaseType_t MPU_xTaskCreate( TaskFunction_t pvTaskCode,
 | 
					        BaseType_t MPU_xTaskCreate( TaskFunction_t pvTaskCode,
 | 
				
			||||||
                                    const char * const pcName,
 | 
					                                    const char * const pcName,
 | 
				
			||||||
                                    uint16_t usStackDepth,
 | 
					                                    const configSTACK_DEPTH_TYPE uxStackDepth,
 | 
				
			||||||
                                    void * pvParameters,
 | 
					                                    void * pvParameters,
 | 
				
			||||||
                                    UBaseType_t uxPriority,
 | 
					                                    UBaseType_t uxPriority,
 | 
				
			||||||
                                    TaskHandle_t * pxCreatedTask ) /* FREERTOS_SYSTEM_CALL */
 | 
					                                    TaskHandle_t * pxCreatedTask ) /* FREERTOS_SYSTEM_CALL */
 | 
				
			||||||
@ -72,7 +72,7 @@
 | 
				
			|||||||
                uxPriority = uxPriority & ~( portPRIVILEGE_BIT );
 | 
					                uxPriority = uxPriority & ~( portPRIVILEGE_BIT );
 | 
				
			||||||
                portMEMORY_BARRIER();
 | 
					                portMEMORY_BARRIER();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                xReturn = xTaskCreate( pvTaskCode, pcName, usStackDepth, pvParameters, uxPriority, pxCreatedTask );
 | 
					                xReturn = xTaskCreate( pvTaskCode, pcName, uxStackDepth, pvParameters, uxPriority, pxCreatedTask );
 | 
				
			||||||
                portMEMORY_BARRIER();
 | 
					                portMEMORY_BARRIER();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                portRESET_PRIVILEGE();
 | 
					                portRESET_PRIVILEGE();
 | 
				
			||||||
@ -80,7 +80,7 @@
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
            else
 | 
					            else
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                xReturn = xTaskCreate( pvTaskCode, pcName, usStackDepth, pvParameters, uxPriority, pxCreatedTask );
 | 
					                xReturn = xTaskCreate( pvTaskCode, pcName, uxStackDepth, pvParameters, uxPriority, pxCreatedTask );
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            return xReturn;
 | 
					            return xReturn;
 | 
				
			||||||
@ -91,7 +91,7 @@
 | 
				
			|||||||
    #if ( configSUPPORT_STATIC_ALLOCATION == 1 )
 | 
					    #if ( configSUPPORT_STATIC_ALLOCATION == 1 )
 | 
				
			||||||
        TaskHandle_t MPU_xTaskCreateStatic( TaskFunction_t pxTaskCode,
 | 
					        TaskHandle_t MPU_xTaskCreateStatic( TaskFunction_t pxTaskCode,
 | 
				
			||||||
                                            const char * const pcName,
 | 
					                                            const char * const pcName,
 | 
				
			||||||
                                            const uint32_t ulStackDepth,
 | 
					                                            const configSTACK_DEPTH_TYPE uxStackDepth,
 | 
				
			||||||
                                            void * const pvParameters,
 | 
					                                            void * const pvParameters,
 | 
				
			||||||
                                            UBaseType_t uxPriority,
 | 
					                                            UBaseType_t uxPriority,
 | 
				
			||||||
                                            StackType_t * const puxStackBuffer,
 | 
					                                            StackType_t * const puxStackBuffer,
 | 
				
			||||||
@ -107,7 +107,7 @@
 | 
				
			|||||||
                uxPriority = uxPriority & ~( portPRIVILEGE_BIT );
 | 
					                uxPriority = uxPriority & ~( portPRIVILEGE_BIT );
 | 
				
			||||||
                portMEMORY_BARRIER();
 | 
					                portMEMORY_BARRIER();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                xReturn = xTaskCreateStatic( pxTaskCode, pcName, ulStackDepth, pvParameters, uxPriority, puxStackBuffer, pxTaskBuffer );
 | 
					                xReturn = xTaskCreateStatic( pxTaskCode, pcName, uxStackDepth, pvParameters, uxPriority, puxStackBuffer, pxTaskBuffer );
 | 
				
			||||||
                portMEMORY_BARRIER();
 | 
					                portMEMORY_BARRIER();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                portRESET_PRIVILEGE();
 | 
					                portRESET_PRIVILEGE();
 | 
				
			||||||
@ -115,7 +115,7 @@
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
            else
 | 
					            else
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                xReturn = xTaskCreateStatic( pxTaskCode, pcName, ulStackDepth, pvParameters, uxPriority, puxStackBuffer, pxTaskBuffer );
 | 
					                xReturn = xTaskCreateStatic( pxTaskCode, pcName, uxStackDepth, pvParameters, uxPriority, puxStackBuffer, pxTaskBuffer );
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            return xReturn;
 | 
					            return xReturn;
 | 
				
			||||||
 | 
				
			|||||||
@ -1541,7 +1541,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        BaseType_t MPU_xTaskCreate( TaskFunction_t pvTaskCode,
 | 
					        BaseType_t MPU_xTaskCreate( TaskFunction_t pvTaskCode,
 | 
				
			||||||
                                    const char * const pcName,
 | 
					                                    const char * const pcName,
 | 
				
			||||||
                                    uint16_t usStackDepth,
 | 
					                                    const configSTACK_DEPTH_TYPE uxStackDepth,
 | 
				
			||||||
                                    void * pvParameters,
 | 
					                                    void * pvParameters,
 | 
				
			||||||
                                    UBaseType_t uxPriority,
 | 
					                                    UBaseType_t uxPriority,
 | 
				
			||||||
                                    TaskHandle_t * pxCreatedTask ) /* PRIVILEGED_FUNCTION */
 | 
					                                    TaskHandle_t * pxCreatedTask ) /* PRIVILEGED_FUNCTION */
 | 
				
			||||||
@ -1557,7 +1557,7 @@
 | 
				
			|||||||
                /* xTaskCreate() can only be used to create privileged tasks in MPU port. */
 | 
					                /* xTaskCreate() can only be used to create privileged tasks in MPU port. */
 | 
				
			||||||
                if( ( uxPriority & portPRIVILEGE_BIT ) != 0 )
 | 
					                if( ( uxPriority & portPRIVILEGE_BIT ) != 0 )
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    xReturn = xTaskCreate( pvTaskCode, pcName, usStackDepth, pvParameters, uxPriority, &( xInternalTaskHandle ) );
 | 
					                    xReturn = xTaskCreate( pvTaskCode, pcName, uxStackDepth, pvParameters, uxPriority, &( xInternalTaskHandle ) );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    if( ( xReturn == pdPASS ) && ( xInternalTaskHandle != NULL ) )
 | 
					                    if( ( xReturn == pdPASS ) && ( xInternalTaskHandle != NULL ) )
 | 
				
			||||||
                    {
 | 
					                    {
 | 
				
			||||||
@ -1585,7 +1585,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        TaskHandle_t MPU_xTaskCreateStatic( TaskFunction_t pxTaskCode,
 | 
					        TaskHandle_t MPU_xTaskCreateStatic( TaskFunction_t pxTaskCode,
 | 
				
			||||||
                                            const char * const pcName,
 | 
					                                            const char * const pcName,
 | 
				
			||||||
                                            const uint32_t ulStackDepth,
 | 
					                                            const configSTACK_DEPTH_TYPE uxStackDepth,
 | 
				
			||||||
                                            void * const pvParameters,
 | 
					                                            void * const pvParameters,
 | 
				
			||||||
                                            UBaseType_t uxPriority,
 | 
					                                            UBaseType_t uxPriority,
 | 
				
			||||||
                                            StackType_t * const puxStackBuffer,
 | 
					                                            StackType_t * const puxStackBuffer,
 | 
				
			||||||
@ -1599,7 +1599,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            if( lIndex != -1 )
 | 
					            if( lIndex != -1 )
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                xInternalTaskHandle = xTaskCreateStatic( pxTaskCode, pcName, ulStackDepth, pvParameters, uxPriority, puxStackBuffer, pxTaskBuffer );
 | 
					                xInternalTaskHandle = xTaskCreateStatic( pxTaskCode, pcName, uxStackDepth, pvParameters, uxPriority, puxStackBuffer, pxTaskBuffer );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                if( xInternalTaskHandle != NULL )
 | 
					                if( xInternalTaskHandle != NULL )
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
 | 
				
			|||||||
@ -1775,7 +1775,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
					    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
				
			||||||
                                    const struct xMEMORY_REGION * const xRegions,
 | 
					                                    const struct xMEMORY_REGION * const xRegions,
 | 
				
			||||||
                                    StackType_t * pxBottomOfStack,
 | 
					                                    StackType_t * pxBottomOfStack,
 | 
				
			||||||
                                    uint32_t ulStackDepth )
 | 
					                                    configSTACK_DEPTH_TYPE uxStackDepth )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
					        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
				
			||||||
        int32_t lIndex = 0;
 | 
					        int32_t lIndex = 0;
 | 
				
			||||||
@ -1800,10 +1800,10 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
         * which case the stack region parameters will be valid.  At all other
 | 
					         * 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
 | 
					         * times the stack parameters will not be valid and it is assumed that
 | 
				
			||||||
         * the stack region has already been configured. */
 | 
					         * the stack region has already been configured. */
 | 
				
			||||||
        if( ulStackDepth > 0 )
 | 
					        if( uxStackDepth > 0 )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
					            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
				
			||||||
            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( ulStackDepth * ( uint32_t ) sizeof( StackType_t ) ) - 1;
 | 
					            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( uxStackDepth * ( configSTACK_DEPTH_TYPE ) sizeof( StackType_t ) ) - 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            /* If the stack is within the privileged SRAM, do not protect it
 | 
					            /* If the stack is within the privileged SRAM, do not protect it
 | 
				
			||||||
             * using a separate MPU region. This is needed because privileged
 | 
					             * using a separate MPU region. This is needed because privileged
 | 
				
			||||||
 | 
				
			|||||||
@ -1775,7 +1775,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
					    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
				
			||||||
                                    const struct xMEMORY_REGION * const xRegions,
 | 
					                                    const struct xMEMORY_REGION * const xRegions,
 | 
				
			||||||
                                    StackType_t * pxBottomOfStack,
 | 
					                                    StackType_t * pxBottomOfStack,
 | 
				
			||||||
                                    uint32_t ulStackDepth )
 | 
					                                    configSTACK_DEPTH_TYPE uxStackDepth )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
					        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
				
			||||||
        int32_t lIndex = 0;
 | 
					        int32_t lIndex = 0;
 | 
				
			||||||
@ -1800,10 +1800,10 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
         * which case the stack region parameters will be valid.  At all other
 | 
					         * 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
 | 
					         * times the stack parameters will not be valid and it is assumed that
 | 
				
			||||||
         * the stack region has already been configured. */
 | 
					         * the stack region has already been configured. */
 | 
				
			||||||
        if( ulStackDepth > 0 )
 | 
					        if( uxStackDepth > 0 )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
					            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
				
			||||||
            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( ulStackDepth * ( uint32_t ) sizeof( StackType_t ) ) - 1;
 | 
					            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( uxStackDepth * ( configSTACK_DEPTH_TYPE ) sizeof( StackType_t ) ) - 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            /* If the stack is within the privileged SRAM, do not protect it
 | 
					            /* If the stack is within the privileged SRAM, do not protect it
 | 
				
			||||||
             * using a separate MPU region. This is needed because privileged
 | 
					             * using a separate MPU region. This is needed because privileged
 | 
				
			||||||
 | 
				
			|||||||
@ -1775,7 +1775,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
					    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
				
			||||||
                                    const struct xMEMORY_REGION * const xRegions,
 | 
					                                    const struct xMEMORY_REGION * const xRegions,
 | 
				
			||||||
                                    StackType_t * pxBottomOfStack,
 | 
					                                    StackType_t * pxBottomOfStack,
 | 
				
			||||||
                                    uint32_t ulStackDepth )
 | 
					                                    configSTACK_DEPTH_TYPE uxStackDepth )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
					        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
				
			||||||
        int32_t lIndex = 0;
 | 
					        int32_t lIndex = 0;
 | 
				
			||||||
@ -1800,10 +1800,10 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
         * which case the stack region parameters will be valid.  At all other
 | 
					         * 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
 | 
					         * times the stack parameters will not be valid and it is assumed that
 | 
				
			||||||
         * the stack region has already been configured. */
 | 
					         * the stack region has already been configured. */
 | 
				
			||||||
        if( ulStackDepth > 0 )
 | 
					        if( uxStackDepth > 0 )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
					            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
				
			||||||
            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( ulStackDepth * ( uint32_t ) sizeof( StackType_t ) ) - 1;
 | 
					            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( uxStackDepth * ( configSTACK_DEPTH_TYPE ) sizeof( StackType_t ) ) - 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            /* If the stack is within the privileged SRAM, do not protect it
 | 
					            /* If the stack is within the privileged SRAM, do not protect it
 | 
				
			||||||
             * using a separate MPU region. This is needed because privileged
 | 
					             * using a separate MPU region. This is needed because privileged
 | 
				
			||||||
 | 
				
			|||||||
@ -1775,7 +1775,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
					    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
				
			||||||
                                    const struct xMEMORY_REGION * const xRegions,
 | 
					                                    const struct xMEMORY_REGION * const xRegions,
 | 
				
			||||||
                                    StackType_t * pxBottomOfStack,
 | 
					                                    StackType_t * pxBottomOfStack,
 | 
				
			||||||
                                    uint32_t ulStackDepth )
 | 
					                                    configSTACK_DEPTH_TYPE uxStackDepth )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
					        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
				
			||||||
        int32_t lIndex = 0;
 | 
					        int32_t lIndex = 0;
 | 
				
			||||||
@ -1800,10 +1800,10 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
         * which case the stack region parameters will be valid.  At all other
 | 
					         * 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
 | 
					         * times the stack parameters will not be valid and it is assumed that
 | 
				
			||||||
         * the stack region has already been configured. */
 | 
					         * the stack region has already been configured. */
 | 
				
			||||||
        if( ulStackDepth > 0 )
 | 
					        if( uxStackDepth > 0 )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
					            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
				
			||||||
            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( ulStackDepth * ( uint32_t ) sizeof( StackType_t ) ) - 1;
 | 
					            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( uxStackDepth * ( configSTACK_DEPTH_TYPE ) sizeof( StackType_t ) ) - 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            /* If the stack is within the privileged SRAM, do not protect it
 | 
					            /* If the stack is within the privileged SRAM, do not protect it
 | 
				
			||||||
             * using a separate MPU region. This is needed because privileged
 | 
					             * using a separate MPU region. This is needed because privileged
 | 
				
			||||||
 | 
				
			|||||||
@ -1775,7 +1775,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
					    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
				
			||||||
                                    const struct xMEMORY_REGION * const xRegions,
 | 
					                                    const struct xMEMORY_REGION * const xRegions,
 | 
				
			||||||
                                    StackType_t * pxBottomOfStack,
 | 
					                                    StackType_t * pxBottomOfStack,
 | 
				
			||||||
                                    uint32_t ulStackDepth )
 | 
					                                    configSTACK_DEPTH_TYPE uxStackDepth )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
					        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
				
			||||||
        int32_t lIndex = 0;
 | 
					        int32_t lIndex = 0;
 | 
				
			||||||
@ -1800,10 +1800,10 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
         * which case the stack region parameters will be valid.  At all other
 | 
					         * 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
 | 
					         * times the stack parameters will not be valid and it is assumed that
 | 
				
			||||||
         * the stack region has already been configured. */
 | 
					         * the stack region has already been configured. */
 | 
				
			||||||
        if( ulStackDepth > 0 )
 | 
					        if( uxStackDepth > 0 )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
					            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
				
			||||||
            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( ulStackDepth * ( uint32_t ) sizeof( StackType_t ) ) - 1;
 | 
					            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( uxStackDepth * ( configSTACK_DEPTH_TYPE ) sizeof( StackType_t ) ) - 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            /* If the stack is within the privileged SRAM, do not protect it
 | 
					            /* If the stack is within the privileged SRAM, do not protect it
 | 
				
			||||||
             * using a separate MPU region. This is needed because privileged
 | 
					             * using a separate MPU region. This is needed because privileged
 | 
				
			||||||
 | 
				
			|||||||
@ -1775,7 +1775,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
					    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
				
			||||||
                                    const struct xMEMORY_REGION * const xRegions,
 | 
					                                    const struct xMEMORY_REGION * const xRegions,
 | 
				
			||||||
                                    StackType_t * pxBottomOfStack,
 | 
					                                    StackType_t * pxBottomOfStack,
 | 
				
			||||||
                                    uint32_t ulStackDepth )
 | 
					                                    configSTACK_DEPTH_TYPE uxStackDepth )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
					        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
				
			||||||
        int32_t lIndex = 0;
 | 
					        int32_t lIndex = 0;
 | 
				
			||||||
@ -1800,10 +1800,10 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
         * which case the stack region parameters will be valid.  At all other
 | 
					         * 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
 | 
					         * times the stack parameters will not be valid and it is assumed that
 | 
				
			||||||
         * the stack region has already been configured. */
 | 
					         * the stack region has already been configured. */
 | 
				
			||||||
        if( ulStackDepth > 0 )
 | 
					        if( uxStackDepth > 0 )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
					            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
				
			||||||
            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( ulStackDepth * ( uint32_t ) sizeof( StackType_t ) ) - 1;
 | 
					            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( uxStackDepth * ( configSTACK_DEPTH_TYPE ) sizeof( StackType_t ) ) - 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            /* If the stack is within the privileged SRAM, do not protect it
 | 
					            /* If the stack is within the privileged SRAM, do not protect it
 | 
				
			||||||
             * using a separate MPU region. This is needed because privileged
 | 
					             * using a separate MPU region. This is needed because privileged
 | 
				
			||||||
 | 
				
			|||||||
@ -1243,7 +1243,7 @@ void vPortSwitchToUserMode( void )
 | 
				
			|||||||
void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
					void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
				
			||||||
                                const struct xMEMORY_REGION * const xRegions,
 | 
					                                const struct xMEMORY_REGION * const xRegions,
 | 
				
			||||||
                                StackType_t * pxBottomOfStack,
 | 
					                                StackType_t * pxBottomOfStack,
 | 
				
			||||||
                                uint32_t ulStackDepth )
 | 
					                                configSTACK_DEPTH_TYPE uxStackDepth )
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    #if defined( __ARMCC_VERSION )
 | 
					    #if defined( __ARMCC_VERSION )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1300,7 +1300,7 @@ void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
				
			|||||||
         * which case the stack region parameters will be valid.  At all other
 | 
					         * 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
 | 
					         * times the stack parameters will not be valid and it is assumed that the
 | 
				
			||||||
         * stack region has already been configured. */
 | 
					         * stack region has already been configured. */
 | 
				
			||||||
        if( ulStackDepth > 0 )
 | 
					        if( uxStackDepth > 0 )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            /* Define the region that allows access to the stack. */
 | 
					            /* Define the region that allows access to the stack. */
 | 
				
			||||||
            xMPUSettings->xRegion[ 0 ].ulRegionBaseAddress =
 | 
					            xMPUSettings->xRegion[ 0 ].ulRegionBaseAddress =
 | 
				
			||||||
@ -1311,12 +1311,12 @@ void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
				
			|||||||
            xMPUSettings->xRegion[ 0 ].ulRegionAttribute =
 | 
					            xMPUSettings->xRegion[ 0 ].ulRegionAttribute =
 | 
				
			||||||
                ( portMPU_REGION_READ_WRITE ) |
 | 
					                ( portMPU_REGION_READ_WRITE ) |
 | 
				
			||||||
                ( portMPU_REGION_EXECUTE_NEVER ) |
 | 
					                ( portMPU_REGION_EXECUTE_NEVER ) |
 | 
				
			||||||
                ( prvGetMPURegionSizeSetting( ulStackDepth * ( uint32_t ) sizeof( StackType_t ) ) ) |
 | 
					                ( prvGetMPURegionSizeSetting ( ( uint32_t ) ( uxStackDepth * ( configSTACK_DEPTH_TYPE ) sizeof( StackType_t ) ) ) ) |
 | 
				
			||||||
                ( portMPU_REGION_CACHEABLE_BUFFERABLE ) |
 | 
					                ( portMPU_REGION_CACHEABLE_BUFFERABLE ) |
 | 
				
			||||||
                ( portMPU_REGION_ENABLE );
 | 
					                ( portMPU_REGION_ENABLE );
 | 
				
			||||||
            xMPUSettings->xRegionSettings[ 0 ].ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
					            xMPUSettings->xRegionSettings[ 0 ].ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
				
			||||||
            xMPUSettings->xRegionSettings[ 0 ].ulRegionEndAddress = ( uint32_t ) ( ( uint32_t ) ( pxBottomOfStack ) +
 | 
					            xMPUSettings->xRegionSettings[ 0 ].ulRegionEndAddress = ( uint32_t ) ( ( uint32_t ) ( pxBottomOfStack ) +
 | 
				
			||||||
                                                                                   ( ulStackDepth * ( uint32_t ) sizeof( StackType_t ) ) - 1UL );
 | 
					                                                                                   ( uxStackDepth * ( configSTACK_DEPTH_TYPE ) sizeof( StackType_t ) ) - 1UL );
 | 
				
			||||||
            xMPUSettings->xRegionSettings[ 0 ].ulRegionPermissions = ( tskMPU_READ_PERMISSION |
 | 
					            xMPUSettings->xRegionSettings[ 0 ].ulRegionPermissions = ( tskMPU_READ_PERMISSION |
 | 
				
			||||||
                                                                       tskMPU_WRITE_PERMISSION );
 | 
					                                                                       tskMPU_WRITE_PERMISSION );
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
				
			|||||||
@ -1385,7 +1385,7 @@ void vPortSwitchToUserMode( void )
 | 
				
			|||||||
void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
					void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
				
			||||||
                                const struct xMEMORY_REGION * const xRegions,
 | 
					                                const struct xMEMORY_REGION * const xRegions,
 | 
				
			||||||
                                StackType_t * pxBottomOfStack,
 | 
					                                StackType_t * pxBottomOfStack,
 | 
				
			||||||
                                uint32_t ulStackDepth )
 | 
					                                configSTACK_DEPTH_TYPE uxStackDepth )
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    #if defined( __ARMCC_VERSION )
 | 
					    #if defined( __ARMCC_VERSION )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1442,7 +1442,7 @@ void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
				
			|||||||
         * which case the stack region parameters will be valid.  At all other
 | 
					         * 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
 | 
					         * times the stack parameters will not be valid and it is assumed that the
 | 
				
			||||||
         * stack region has already been configured. */
 | 
					         * stack region has already been configured. */
 | 
				
			||||||
        if( ulStackDepth > 0 )
 | 
					        if( uxStackDepth > 0 )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            /* Define the region that allows access to the stack. */
 | 
					            /* Define the region that allows access to the stack. */
 | 
				
			||||||
            xMPUSettings->xRegion[ 0 ].ulRegionBaseAddress =
 | 
					            xMPUSettings->xRegion[ 0 ].ulRegionBaseAddress =
 | 
				
			||||||
@ -1453,13 +1453,13 @@ void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
				
			|||||||
            xMPUSettings->xRegion[ 0 ].ulRegionAttribute =
 | 
					            xMPUSettings->xRegion[ 0 ].ulRegionAttribute =
 | 
				
			||||||
                ( portMPU_REGION_READ_WRITE ) |
 | 
					                ( portMPU_REGION_READ_WRITE ) |
 | 
				
			||||||
                ( portMPU_REGION_EXECUTE_NEVER ) |
 | 
					                ( portMPU_REGION_EXECUTE_NEVER ) |
 | 
				
			||||||
                ( prvGetMPURegionSizeSetting( ulStackDepth * ( uint32_t ) sizeof( StackType_t ) ) ) |
 | 
					                ( prvGetMPURegionSizeSetting( uxStackDepth * ( configSTACK_DEPTH_TYPE ) sizeof( StackType_t ) ) ) |
 | 
				
			||||||
                ( ( configTEX_S_C_B_SRAM & portMPU_RASR_TEX_S_C_B_MASK ) << portMPU_RASR_TEX_S_C_B_LOCATION ) |
 | 
					                ( ( configTEX_S_C_B_SRAM & portMPU_RASR_TEX_S_C_B_MASK ) << portMPU_RASR_TEX_S_C_B_LOCATION ) |
 | 
				
			||||||
                ( portMPU_REGION_ENABLE );
 | 
					                ( portMPU_REGION_ENABLE );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            xMPUSettings->xRegionSettings[ 0 ].ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
					            xMPUSettings->xRegionSettings[ 0 ].ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
				
			||||||
            xMPUSettings->xRegionSettings[ 0 ].ulRegionEndAddress = ( uint32_t ) ( ( uint32_t ) ( pxBottomOfStack ) +
 | 
					            xMPUSettings->xRegionSettings[ 0 ].ulRegionEndAddress = ( uint32_t ) ( ( uint32_t ) ( pxBottomOfStack ) +
 | 
				
			||||||
                                                                                   ( ulStackDepth * ( uint32_t ) sizeof( StackType_t ) ) - 1UL );
 | 
					                                                                                   ( uxStackDepth * ( configSTACK_DEPTH_TYPE ) sizeof( StackType_t ) ) - 1UL );
 | 
				
			||||||
            xMPUSettings->xRegionSettings[ 0 ].ulRegionPermissions = ( tskMPU_READ_PERMISSION |
 | 
					            xMPUSettings->xRegionSettings[ 0 ].ulRegionPermissions = ( tskMPU_READ_PERMISSION |
 | 
				
			||||||
                                                                       tskMPU_WRITE_PERMISSION );
 | 
					                                                                       tskMPU_WRITE_PERMISSION );
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
				
			|||||||
@ -1775,7 +1775,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
					    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
				
			||||||
                                    const struct xMEMORY_REGION * const xRegions,
 | 
					                                    const struct xMEMORY_REGION * const xRegions,
 | 
				
			||||||
                                    StackType_t * pxBottomOfStack,
 | 
					                                    StackType_t * pxBottomOfStack,
 | 
				
			||||||
                                    uint32_t ulStackDepth )
 | 
					                                    configSTACK_DEPTH_TYPE uxStackDepth )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
					        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
				
			||||||
        int32_t lIndex = 0;
 | 
					        int32_t lIndex = 0;
 | 
				
			||||||
@ -1800,10 +1800,10 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
         * which case the stack region parameters will be valid.  At all other
 | 
					         * 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
 | 
					         * times the stack parameters will not be valid and it is assumed that
 | 
				
			||||||
         * the stack region has already been configured. */
 | 
					         * the stack region has already been configured. */
 | 
				
			||||||
        if( ulStackDepth > 0 )
 | 
					        if( uxStackDepth > 0 )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
					            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
				
			||||||
            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( ulStackDepth * ( uint32_t ) sizeof( StackType_t ) ) - 1;
 | 
					            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( uxStackDepth * ( configSTACK_DEPTH_TYPE ) sizeof( StackType_t ) ) - 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            /* If the stack is within the privileged SRAM, do not protect it
 | 
					            /* If the stack is within the privileged SRAM, do not protect it
 | 
				
			||||||
             * using a separate MPU region. This is needed because privileged
 | 
					             * using a separate MPU region. This is needed because privileged
 | 
				
			||||||
 | 
				
			|||||||
@ -1775,7 +1775,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
					    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
				
			||||||
                                    const struct xMEMORY_REGION * const xRegions,
 | 
					                                    const struct xMEMORY_REGION * const xRegions,
 | 
				
			||||||
                                    StackType_t * pxBottomOfStack,
 | 
					                                    StackType_t * pxBottomOfStack,
 | 
				
			||||||
                                    uint32_t ulStackDepth )
 | 
					                                    configSTACK_DEPTH_TYPE uxStackDepth )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
					        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
				
			||||||
        int32_t lIndex = 0;
 | 
					        int32_t lIndex = 0;
 | 
				
			||||||
@ -1800,10 +1800,10 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
         * which case the stack region parameters will be valid.  At all other
 | 
					         * 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
 | 
					         * times the stack parameters will not be valid and it is assumed that
 | 
				
			||||||
         * the stack region has already been configured. */
 | 
					         * the stack region has already been configured. */
 | 
				
			||||||
        if( ulStackDepth > 0 )
 | 
					        if( uxStackDepth > 0 )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
					            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
				
			||||||
            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( ulStackDepth * ( uint32_t ) sizeof( StackType_t ) ) - 1;
 | 
					            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( uxStackDepth * ( configSTACK_DEPTH_TYPE ) sizeof( StackType_t ) ) - 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            /* If the stack is within the privileged SRAM, do not protect it
 | 
					            /* If the stack is within the privileged SRAM, do not protect it
 | 
				
			||||||
             * using a separate MPU region. This is needed because privileged
 | 
					             * using a separate MPU region. This is needed because privileged
 | 
				
			||||||
 | 
				
			|||||||
@ -1775,7 +1775,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
					    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
				
			||||||
                                    const struct xMEMORY_REGION * const xRegions,
 | 
					                                    const struct xMEMORY_REGION * const xRegions,
 | 
				
			||||||
                                    StackType_t * pxBottomOfStack,
 | 
					                                    StackType_t * pxBottomOfStack,
 | 
				
			||||||
                                    uint32_t ulStackDepth )
 | 
					                                    configSTACK_DEPTH_TYPE uxStackDepth )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
					        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
				
			||||||
        int32_t lIndex = 0;
 | 
					        int32_t lIndex = 0;
 | 
				
			||||||
@ -1800,10 +1800,10 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
         * which case the stack region parameters will be valid.  At all other
 | 
					         * 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
 | 
					         * times the stack parameters will not be valid and it is assumed that
 | 
				
			||||||
         * the stack region has already been configured. */
 | 
					         * the stack region has already been configured. */
 | 
				
			||||||
        if( ulStackDepth > 0 )
 | 
					        if( uxStackDepth > 0 )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
					            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
				
			||||||
            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( ulStackDepth * ( uint32_t ) sizeof( StackType_t ) ) - 1;
 | 
					            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( uxStackDepth * ( configSTACK_DEPTH_TYPE ) sizeof( StackType_t ) ) - 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            /* If the stack is within the privileged SRAM, do not protect it
 | 
					            /* If the stack is within the privileged SRAM, do not protect it
 | 
				
			||||||
             * using a separate MPU region. This is needed because privileged
 | 
					             * using a separate MPU region. This is needed because privileged
 | 
				
			||||||
 | 
				
			|||||||
@ -1775,7 +1775,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
					    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
				
			||||||
                                    const struct xMEMORY_REGION * const xRegions,
 | 
					                                    const struct xMEMORY_REGION * const xRegions,
 | 
				
			||||||
                                    StackType_t * pxBottomOfStack,
 | 
					                                    StackType_t * pxBottomOfStack,
 | 
				
			||||||
                                    uint32_t ulStackDepth )
 | 
					                                    configSTACK_DEPTH_TYPE uxStackDepth )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
					        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
				
			||||||
        int32_t lIndex = 0;
 | 
					        int32_t lIndex = 0;
 | 
				
			||||||
@ -1800,10 +1800,10 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
         * which case the stack region parameters will be valid.  At all other
 | 
					         * 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
 | 
					         * times the stack parameters will not be valid and it is assumed that
 | 
				
			||||||
         * the stack region has already been configured. */
 | 
					         * the stack region has already been configured. */
 | 
				
			||||||
        if( ulStackDepth > 0 )
 | 
					        if( uxStackDepth > 0 )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
					            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
				
			||||||
            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( ulStackDepth * ( uint32_t ) sizeof( StackType_t ) ) - 1;
 | 
					            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( uxStackDepth * ( configSTACK_DEPTH_TYPE ) sizeof( StackType_t ) ) - 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            /* If the stack is within the privileged SRAM, do not protect it
 | 
					            /* If the stack is within the privileged SRAM, do not protect it
 | 
				
			||||||
             * using a separate MPU region. This is needed because privileged
 | 
					             * using a separate MPU region. This is needed because privileged
 | 
				
			||||||
 | 
				
			|||||||
@ -1775,7 +1775,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
					    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
				
			||||||
                                    const struct xMEMORY_REGION * const xRegions,
 | 
					                                    const struct xMEMORY_REGION * const xRegions,
 | 
				
			||||||
                                    StackType_t * pxBottomOfStack,
 | 
					                                    StackType_t * pxBottomOfStack,
 | 
				
			||||||
                                    uint32_t ulStackDepth )
 | 
					                                    configSTACK_DEPTH_TYPE uxStackDepth )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
					        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
				
			||||||
        int32_t lIndex = 0;
 | 
					        int32_t lIndex = 0;
 | 
				
			||||||
@ -1800,10 +1800,10 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
         * which case the stack region parameters will be valid.  At all other
 | 
					         * 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
 | 
					         * times the stack parameters will not be valid and it is assumed that
 | 
				
			||||||
         * the stack region has already been configured. */
 | 
					         * the stack region has already been configured. */
 | 
				
			||||||
        if( ulStackDepth > 0 )
 | 
					        if( uxStackDepth > 0 )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
					            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
				
			||||||
            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( ulStackDepth * ( uint32_t ) sizeof( StackType_t ) ) - 1;
 | 
					            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( uxStackDepth * ( configSTACK_DEPTH_TYPE ) sizeof( StackType_t ) ) - 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            /* If the stack is within the privileged SRAM, do not protect it
 | 
					            /* If the stack is within the privileged SRAM, do not protect it
 | 
				
			||||||
             * using a separate MPU region. This is needed because privileged
 | 
					             * using a separate MPU region. This is needed because privileged
 | 
				
			||||||
 | 
				
			|||||||
@ -1775,7 +1775,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
					    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
				
			||||||
                                    const struct xMEMORY_REGION * const xRegions,
 | 
					                                    const struct xMEMORY_REGION * const xRegions,
 | 
				
			||||||
                                    StackType_t * pxBottomOfStack,
 | 
					                                    StackType_t * pxBottomOfStack,
 | 
				
			||||||
                                    uint32_t ulStackDepth )
 | 
					                                    configSTACK_DEPTH_TYPE uxStackDepth )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
					        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
				
			||||||
        int32_t lIndex = 0;
 | 
					        int32_t lIndex = 0;
 | 
				
			||||||
@ -1800,10 +1800,10 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
         * which case the stack region parameters will be valid.  At all other
 | 
					         * 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
 | 
					         * times the stack parameters will not be valid and it is assumed that
 | 
				
			||||||
         * the stack region has already been configured. */
 | 
					         * the stack region has already been configured. */
 | 
				
			||||||
        if( ulStackDepth > 0 )
 | 
					        if( uxStackDepth > 0 )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
					            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
				
			||||||
            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( ulStackDepth * ( uint32_t ) sizeof( StackType_t ) ) - 1;
 | 
					            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( uxStackDepth * ( configSTACK_DEPTH_TYPE ) sizeof( StackType_t ) ) - 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            /* If the stack is within the privileged SRAM, do not protect it
 | 
					            /* If the stack is within the privileged SRAM, do not protect it
 | 
				
			||||||
             * using a separate MPU region. This is needed because privileged
 | 
					             * using a separate MPU region. This is needed because privileged
 | 
				
			||||||
 | 
				
			|||||||
@ -1775,7 +1775,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
					    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
				
			||||||
                                    const struct xMEMORY_REGION * const xRegions,
 | 
					                                    const struct xMEMORY_REGION * const xRegions,
 | 
				
			||||||
                                    StackType_t * pxBottomOfStack,
 | 
					                                    StackType_t * pxBottomOfStack,
 | 
				
			||||||
                                    uint32_t ulStackDepth )
 | 
					                                    configSTACK_DEPTH_TYPE uxStackDepth )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
					        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
				
			||||||
        int32_t lIndex = 0;
 | 
					        int32_t lIndex = 0;
 | 
				
			||||||
@ -1800,10 +1800,10 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
         * which case the stack region parameters will be valid.  At all other
 | 
					         * 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
 | 
					         * times the stack parameters will not be valid and it is assumed that
 | 
				
			||||||
         * the stack region has already been configured. */
 | 
					         * the stack region has already been configured. */
 | 
				
			||||||
        if( ulStackDepth > 0 )
 | 
					        if( uxStackDepth > 0 )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
					            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
				
			||||||
            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( ulStackDepth * ( uint32_t ) sizeof( StackType_t ) ) - 1;
 | 
					            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( uxStackDepth * ( configSTACK_DEPTH_TYPE ) sizeof( StackType_t ) ) - 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            /* If the stack is within the privileged SRAM, do not protect it
 | 
					            /* If the stack is within the privileged SRAM, do not protect it
 | 
				
			||||||
             * using a separate MPU region. This is needed because privileged
 | 
					             * using a separate MPU region. This is needed because privileged
 | 
				
			||||||
 | 
				
			|||||||
@ -1775,7 +1775,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
					    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
				
			||||||
                                    const struct xMEMORY_REGION * const xRegions,
 | 
					                                    const struct xMEMORY_REGION * const xRegions,
 | 
				
			||||||
                                    StackType_t * pxBottomOfStack,
 | 
					                                    StackType_t * pxBottomOfStack,
 | 
				
			||||||
                                    uint32_t ulStackDepth )
 | 
					                                    configSTACK_DEPTH_TYPE uxStackDepth )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
					        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
				
			||||||
        int32_t lIndex = 0;
 | 
					        int32_t lIndex = 0;
 | 
				
			||||||
@ -1800,10 +1800,10 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
         * which case the stack region parameters will be valid.  At all other
 | 
					         * 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
 | 
					         * times the stack parameters will not be valid and it is assumed that
 | 
				
			||||||
         * the stack region has already been configured. */
 | 
					         * the stack region has already been configured. */
 | 
				
			||||||
        if( ulStackDepth > 0 )
 | 
					        if( uxStackDepth > 0 )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
					            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
				
			||||||
            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( ulStackDepth * ( uint32_t ) sizeof( StackType_t ) ) - 1;
 | 
					            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( uxStackDepth * ( configSTACK_DEPTH_TYPE ) sizeof( StackType_t ) ) - 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            /* If the stack is within the privileged SRAM, do not protect it
 | 
					            /* If the stack is within the privileged SRAM, do not protect it
 | 
				
			||||||
             * using a separate MPU region. This is needed because privileged
 | 
					             * using a separate MPU region. This is needed because privileged
 | 
				
			||||||
 | 
				
			|||||||
@ -1775,7 +1775,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
					    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
				
			||||||
                                    const struct xMEMORY_REGION * const xRegions,
 | 
					                                    const struct xMEMORY_REGION * const xRegions,
 | 
				
			||||||
                                    StackType_t * pxBottomOfStack,
 | 
					                                    StackType_t * pxBottomOfStack,
 | 
				
			||||||
                                    uint32_t ulStackDepth )
 | 
					                                    configSTACK_DEPTH_TYPE uxStackDepth )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
					        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
				
			||||||
        int32_t lIndex = 0;
 | 
					        int32_t lIndex = 0;
 | 
				
			||||||
@ -1800,10 +1800,10 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
         * which case the stack region parameters will be valid.  At all other
 | 
					         * 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
 | 
					         * times the stack parameters will not be valid and it is assumed that
 | 
				
			||||||
         * the stack region has already been configured. */
 | 
					         * the stack region has already been configured. */
 | 
				
			||||||
        if( ulStackDepth > 0 )
 | 
					        if( uxStackDepth > 0 )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
					            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
				
			||||||
            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( ulStackDepth * ( uint32_t ) sizeof( StackType_t ) ) - 1;
 | 
					            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( uxStackDepth * ( configSTACK_DEPTH_TYPE ) sizeof( StackType_t ) ) - 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            /* If the stack is within the privileged SRAM, do not protect it
 | 
					            /* If the stack is within the privileged SRAM, do not protect it
 | 
				
			||||||
             * using a separate MPU region. This is needed because privileged
 | 
					             * using a separate MPU region. This is needed because privileged
 | 
				
			||||||
 | 
				
			|||||||
@ -1775,7 +1775,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
					    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
				
			||||||
                                    const struct xMEMORY_REGION * const xRegions,
 | 
					                                    const struct xMEMORY_REGION * const xRegions,
 | 
				
			||||||
                                    StackType_t * pxBottomOfStack,
 | 
					                                    StackType_t * pxBottomOfStack,
 | 
				
			||||||
                                    uint32_t ulStackDepth )
 | 
					                                    configSTACK_DEPTH_TYPE uxStackDepth )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
					        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
				
			||||||
        int32_t lIndex = 0;
 | 
					        int32_t lIndex = 0;
 | 
				
			||||||
@ -1800,10 +1800,10 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
         * which case the stack region parameters will be valid.  At all other
 | 
					         * 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
 | 
					         * times the stack parameters will not be valid and it is assumed that
 | 
				
			||||||
         * the stack region has already been configured. */
 | 
					         * the stack region has already been configured. */
 | 
				
			||||||
        if( ulStackDepth > 0 )
 | 
					        if( uxStackDepth > 0 )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
					            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
				
			||||||
            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( ulStackDepth * ( uint32_t ) sizeof( StackType_t ) ) - 1;
 | 
					            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( uxStackDepth * ( configSTACK_DEPTH_TYPE ) sizeof( StackType_t ) ) - 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            /* If the stack is within the privileged SRAM, do not protect it
 | 
					            /* If the stack is within the privileged SRAM, do not protect it
 | 
				
			||||||
             * using a separate MPU region. This is needed because privileged
 | 
					             * using a separate MPU region. This is needed because privileged
 | 
				
			||||||
 | 
				
			|||||||
@ -1127,7 +1127,7 @@ static uint32_t prvGetMPURegionSizeSetting( uint32_t ulActualSizeInBytes )
 | 
				
			|||||||
void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
					void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
				
			||||||
                                const struct xMEMORY_REGION * const xRegions,
 | 
					                                const struct xMEMORY_REGION * const xRegions,
 | 
				
			||||||
                                StackType_t * pxBottomOfStack,
 | 
					                                StackType_t * pxBottomOfStack,
 | 
				
			||||||
                                uint32_t ulStackDepth )
 | 
					                                configSTACK_DEPTH_TYPE uxStackDepth )
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    extern uint32_t __SRAM_segment_start__[];
 | 
					    extern uint32_t __SRAM_segment_start__[];
 | 
				
			||||||
    extern uint32_t __SRAM_segment_end__[];
 | 
					    extern uint32_t __SRAM_segment_end__[];
 | 
				
			||||||
@ -1172,7 +1172,7 @@ void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
				
			|||||||
         * which case the stack region parameters will be valid.  At all other
 | 
					         * 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
 | 
					         * times the stack parameters will not be valid and it is assumed that the
 | 
				
			||||||
         * stack region has already been configured. */
 | 
					         * stack region has already been configured. */
 | 
				
			||||||
        if( ulStackDepth > 0 )
 | 
					        if( uxStackDepth > 0 )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            /* Define the region that allows access to the stack. */
 | 
					            /* Define the region that allows access to the stack. */
 | 
				
			||||||
            xMPUSettings->xRegion[ 0 ].ulRegionBaseAddress =
 | 
					            xMPUSettings->xRegion[ 0 ].ulRegionBaseAddress =
 | 
				
			||||||
@ -1183,13 +1183,13 @@ void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
				
			|||||||
            xMPUSettings->xRegion[ 0 ].ulRegionAttribute =
 | 
					            xMPUSettings->xRegion[ 0 ].ulRegionAttribute =
 | 
				
			||||||
                ( portMPU_REGION_READ_WRITE ) |
 | 
					                ( portMPU_REGION_READ_WRITE ) |
 | 
				
			||||||
                ( portMPU_REGION_EXECUTE_NEVER ) |
 | 
					                ( portMPU_REGION_EXECUTE_NEVER ) |
 | 
				
			||||||
                ( prvGetMPURegionSizeSetting( ulStackDepth * ( uint32_t ) sizeof( StackType_t ) ) ) |
 | 
					                ( prvGetMPURegionSizeSetting( uxStackDepth * ( configSTACK_DEPTH_TYPE ) sizeof( StackType_t ) ) ) |
 | 
				
			||||||
                ( ( configTEX_S_C_B_SRAM & portMPU_RASR_TEX_S_C_B_MASK ) << portMPU_RASR_TEX_S_C_B_LOCATION ) |
 | 
					                ( ( configTEX_S_C_B_SRAM & portMPU_RASR_TEX_S_C_B_MASK ) << portMPU_RASR_TEX_S_C_B_LOCATION ) |
 | 
				
			||||||
                ( portMPU_REGION_ENABLE );
 | 
					                ( portMPU_REGION_ENABLE );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            xMPUSettings->xRegionSettings[ 0 ].ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
					            xMPUSettings->xRegionSettings[ 0 ].ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
				
			||||||
            xMPUSettings->xRegionSettings[ 0 ].ulRegionEndAddress = ( uint32_t ) ( ( uint32_t ) ( pxBottomOfStack ) +
 | 
					            xMPUSettings->xRegionSettings[ 0 ].ulRegionEndAddress = ( uint32_t ) ( ( uint32_t ) ( pxBottomOfStack ) +
 | 
				
			||||||
                                                                                   ( ulStackDepth * ( uint32_t ) sizeof( StackType_t ) ) - 1UL );
 | 
					                                                                                   ( uxStackDepth * ( configSTACK_DEPTH_TYPE ) sizeof( StackType_t ) ) - 1UL );
 | 
				
			||||||
            xMPUSettings->xRegionSettings[ 0 ].ulRegionPermissions = ( tskMPU_READ_PERMISSION |
 | 
					            xMPUSettings->xRegionSettings[ 0 ].ulRegionPermissions = ( tskMPU_READ_PERMISSION |
 | 
				
			||||||
                                                                       tskMPU_WRITE_PERMISSION );
 | 
					                                                                       tskMPU_WRITE_PERMISSION );
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
				
			|||||||
@ -1775,7 +1775,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
					    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
				
			||||||
                                    const struct xMEMORY_REGION * const xRegions,
 | 
					                                    const struct xMEMORY_REGION * const xRegions,
 | 
				
			||||||
                                    StackType_t * pxBottomOfStack,
 | 
					                                    StackType_t * pxBottomOfStack,
 | 
				
			||||||
                                    uint32_t ulStackDepth )
 | 
					                                    configSTACK_DEPTH_TYPE uxStackDepth )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
					        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
				
			||||||
        int32_t lIndex = 0;
 | 
					        int32_t lIndex = 0;
 | 
				
			||||||
@ -1800,10 +1800,10 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
         * which case the stack region parameters will be valid.  At all other
 | 
					         * 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
 | 
					         * times the stack parameters will not be valid and it is assumed that
 | 
				
			||||||
         * the stack region has already been configured. */
 | 
					         * the stack region has already been configured. */
 | 
				
			||||||
        if( ulStackDepth > 0 )
 | 
					        if( uxStackDepth > 0 )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
					            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
				
			||||||
            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( ulStackDepth * ( uint32_t ) sizeof( StackType_t ) ) - 1;
 | 
					            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( uxStackDepth * ( configSTACK_DEPTH_TYPE ) sizeof( StackType_t ) ) - 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            /* If the stack is within the privileged SRAM, do not protect it
 | 
					            /* If the stack is within the privileged SRAM, do not protect it
 | 
				
			||||||
             * using a separate MPU region. This is needed because privileged
 | 
					             * using a separate MPU region. This is needed because privileged
 | 
				
			||||||
 | 
				
			|||||||
@ -1775,7 +1775,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
					    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
				
			||||||
                                    const struct xMEMORY_REGION * const xRegions,
 | 
					                                    const struct xMEMORY_REGION * const xRegions,
 | 
				
			||||||
                                    StackType_t * pxBottomOfStack,
 | 
					                                    StackType_t * pxBottomOfStack,
 | 
				
			||||||
                                    uint32_t ulStackDepth )
 | 
					                                    configSTACK_DEPTH_TYPE uxStackDepth )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
					        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
				
			||||||
        int32_t lIndex = 0;
 | 
					        int32_t lIndex = 0;
 | 
				
			||||||
@ -1800,10 +1800,10 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
         * which case the stack region parameters will be valid.  At all other
 | 
					         * 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
 | 
					         * times the stack parameters will not be valid and it is assumed that
 | 
				
			||||||
         * the stack region has already been configured. */
 | 
					         * the stack region has already been configured. */
 | 
				
			||||||
        if( ulStackDepth > 0 )
 | 
					        if( uxStackDepth > 0 )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
					            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
				
			||||||
            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( ulStackDepth * ( uint32_t ) sizeof( StackType_t ) ) - 1;
 | 
					            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( uxStackDepth * ( configSTACK_DEPTH_TYPE ) sizeof( StackType_t ) ) - 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            /* If the stack is within the privileged SRAM, do not protect it
 | 
					            /* If the stack is within the privileged SRAM, do not protect it
 | 
				
			||||||
             * using a separate MPU region. This is needed because privileged
 | 
					             * using a separate MPU region. This is needed because privileged
 | 
				
			||||||
 | 
				
			|||||||
@ -1775,7 +1775,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
					    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
				
			||||||
                                    const struct xMEMORY_REGION * const xRegions,
 | 
					                                    const struct xMEMORY_REGION * const xRegions,
 | 
				
			||||||
                                    StackType_t * pxBottomOfStack,
 | 
					                                    StackType_t * pxBottomOfStack,
 | 
				
			||||||
                                    uint32_t ulStackDepth )
 | 
					                                    configSTACK_DEPTH_TYPE uxStackDepth )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
					        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
				
			||||||
        int32_t lIndex = 0;
 | 
					        int32_t lIndex = 0;
 | 
				
			||||||
@ -1800,10 +1800,10 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
         * which case the stack region parameters will be valid.  At all other
 | 
					         * 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
 | 
					         * times the stack parameters will not be valid and it is assumed that
 | 
				
			||||||
         * the stack region has already been configured. */
 | 
					         * the stack region has already been configured. */
 | 
				
			||||||
        if( ulStackDepth > 0 )
 | 
					        if( uxStackDepth > 0 )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
					            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
				
			||||||
            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( ulStackDepth * ( uint32_t ) sizeof( StackType_t ) ) - 1;
 | 
					            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( uxStackDepth * ( configSTACK_DEPTH_TYPE ) sizeof( StackType_t ) ) - 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            /* If the stack is within the privileged SRAM, do not protect it
 | 
					            /* If the stack is within the privileged SRAM, do not protect it
 | 
				
			||||||
             * using a separate MPU region. This is needed because privileged
 | 
					             * using a separate MPU region. This is needed because privileged
 | 
				
			||||||
 | 
				
			|||||||
@ -1775,7 +1775,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
					    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
				
			||||||
                                    const struct xMEMORY_REGION * const xRegions,
 | 
					                                    const struct xMEMORY_REGION * const xRegions,
 | 
				
			||||||
                                    StackType_t * pxBottomOfStack,
 | 
					                                    StackType_t * pxBottomOfStack,
 | 
				
			||||||
                                    uint32_t ulStackDepth )
 | 
					                                    configSTACK_DEPTH_TYPE uxStackDepth )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
					        uint32_t ulRegionStartAddress, ulRegionEndAddress, ulRegionNumber;
 | 
				
			||||||
        int32_t lIndex = 0;
 | 
					        int32_t lIndex = 0;
 | 
				
			||||||
@ -1800,10 +1800,10 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
 | 
				
			|||||||
         * which case the stack region parameters will be valid.  At all other
 | 
					         * 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
 | 
					         * times the stack parameters will not be valid and it is assumed that
 | 
				
			||||||
         * the stack region has already been configured. */
 | 
					         * the stack region has already been configured. */
 | 
				
			||||||
        if( ulStackDepth > 0 )
 | 
					        if( uxStackDepth > 0 )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
					            ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
				
			||||||
            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( ulStackDepth * ( uint32_t ) sizeof( StackType_t ) ) - 1;
 | 
					            ulRegionEndAddress = ( uint32_t ) pxBottomOfStack + ( uxStackDepth * ( configSTACK_DEPTH_TYPE ) sizeof( StackType_t ) ) - 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            /* If the stack is within the privileged SRAM, do not protect it
 | 
					            /* If the stack is within the privileged SRAM, do not protect it
 | 
				
			||||||
             * using a separate MPU region. This is needed because privileged
 | 
					             * using a separate MPU region. This is needed because privileged
 | 
				
			||||||
 | 
				
			|||||||
@ -1380,7 +1380,7 @@ void vPortSwitchToUserMode( void )
 | 
				
			|||||||
void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
					void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
				
			||||||
                                const struct xMEMORY_REGION * const xRegions,
 | 
					                                const struct xMEMORY_REGION * const xRegions,
 | 
				
			||||||
                                StackType_t * pxBottomOfStack,
 | 
					                                StackType_t * pxBottomOfStack,
 | 
				
			||||||
                                uint32_t ulStackDepth )
 | 
					                                configSTACK_DEPTH_TYPE uxStackDepth )
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    extern uint32_t __SRAM_segment_start__;
 | 
					    extern uint32_t __SRAM_segment_start__;
 | 
				
			||||||
    extern uint32_t __SRAM_segment_end__;
 | 
					    extern uint32_t __SRAM_segment_end__;
 | 
				
			||||||
@ -1427,7 +1427,7 @@ void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
				
			|||||||
         * which case the stack region parameters will be valid.  At all other
 | 
					         * 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
 | 
					         * times the stack parameters will not be valid and it is assumed that the
 | 
				
			||||||
         * stack region has already been configured. */
 | 
					         * stack region has already been configured. */
 | 
				
			||||||
        if( ulStackDepth > 0 )
 | 
					        if( uxStackDepth > 0 )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            /* Define the region that allows access to the stack. */
 | 
					            /* Define the region that allows access to the stack. */
 | 
				
			||||||
            xMPUSettings->xRegion[ 0 ].ulRegionBaseAddress =
 | 
					            xMPUSettings->xRegion[ 0 ].ulRegionBaseAddress =
 | 
				
			||||||
@ -1438,13 +1438,13 @@ void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
				
			|||||||
            xMPUSettings->xRegion[ 0 ].ulRegionAttribute =
 | 
					            xMPUSettings->xRegion[ 0 ].ulRegionAttribute =
 | 
				
			||||||
                ( portMPU_REGION_READ_WRITE ) |
 | 
					                ( portMPU_REGION_READ_WRITE ) |
 | 
				
			||||||
                ( portMPU_REGION_EXECUTE_NEVER ) |
 | 
					                ( portMPU_REGION_EXECUTE_NEVER ) |
 | 
				
			||||||
                ( prvGetMPURegionSizeSetting( ulStackDepth * ( uint32_t ) sizeof( StackType_t ) ) ) |
 | 
					                ( prvGetMPURegionSizeSetting( uxStackDepth * ( configSTACK_DEPTH_TYPE ) sizeof( StackType_t ) ) ) |
 | 
				
			||||||
                ( ( configTEX_S_C_B_SRAM & portMPU_RASR_TEX_S_C_B_MASK ) << portMPU_RASR_TEX_S_C_B_LOCATION ) |
 | 
					                ( ( configTEX_S_C_B_SRAM & portMPU_RASR_TEX_S_C_B_MASK ) << portMPU_RASR_TEX_S_C_B_LOCATION ) |
 | 
				
			||||||
                ( portMPU_REGION_ENABLE );
 | 
					                ( portMPU_REGION_ENABLE );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            xMPUSettings->xRegionSettings[ 0 ].ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
					            xMPUSettings->xRegionSettings[ 0 ].ulRegionStartAddress = ( uint32_t ) pxBottomOfStack;
 | 
				
			||||||
            xMPUSettings->xRegionSettings[ 0 ].ulRegionEndAddress = ( uint32_t ) ( ( uint32_t ) ( pxBottomOfStack ) +
 | 
					            xMPUSettings->xRegionSettings[ 0 ].ulRegionEndAddress = ( uint32_t ) ( ( uint32_t ) ( pxBottomOfStack ) +
 | 
				
			||||||
                                                                                   ( ulStackDepth * ( uint32_t ) sizeof( StackType_t ) ) - 1UL );
 | 
					                                                                                   ( uxStackDepth * ( configSTACK_DEPTH_TYPE ) sizeof( StackType_t ) ) - 1UL );
 | 
				
			||||||
            xMPUSettings->xRegionSettings[ 0 ].ulRegionPermissions = ( tskMPU_READ_PERMISSION |
 | 
					            xMPUSettings->xRegionSettings[ 0 ].ulRegionPermissions = ( tskMPU_READ_PERMISSION |
 | 
				
			||||||
                                                                       tskMPU_WRITE_PERMISSION );
 | 
					                                                                       tskMPU_WRITE_PERMISSION );
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@ -1508,7 +1508,7 @@ BaseType_t xPortIsAuthorizedToAccessBuffer( const void * pvBuffer,
 | 
				
			|||||||
    BaseType_t xAccessGranted = pdFALSE;
 | 
					    BaseType_t xAccessGranted = pdFALSE;
 | 
				
			||||||
    const xMPU_SETTINGS * xTaskMpuSettings = xTaskGetMPUSettings( NULL ); /* Calling task's MPU settings. */
 | 
					    const xMPU_SETTINGS * xTaskMpuSettings = xTaskGetMPUSettings( NULL ); /* Calling task's MPU settings. */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    
 | 
					
 | 
				
			||||||
    if( xSchedulerRunning == pdFALSE )
 | 
					    if( xSchedulerRunning == pdFALSE )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        /* Grant access to all the kernel objects before the scheduler
 | 
					        /* Grant access to all the kernel objects before the scheduler
 | 
				
			||||||
 | 
				
			|||||||
@ -522,7 +522,7 @@
 | 
				
			|||||||
        void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
					        void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
				
			||||||
                                        const struct xMEMORY_REGION * const xRegions,
 | 
					                                        const struct xMEMORY_REGION * const xRegions,
 | 
				
			||||||
                                        StackType_t * pxBottomOfStack,
 | 
					                                        StackType_t * pxBottomOfStack,
 | 
				
			||||||
                                        uint32_t usStackDepth ) PRIVILEGED_FUNCTION;
 | 
					                                        configSTACK_DEPTH_TYPE uxStackDepth ) PRIVILEGED_FUNCTION;
 | 
				
			||||||
        void vPortReleaseTaskMPUSettings( xMPU_SETTINGS * xMPUSettings );
 | 
					        void vPortReleaseTaskMPUSettings( xMPU_SETTINGS * xMPUSettings );
 | 
				
			||||||
    #endif
 | 
					    #endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										4
									
								
								portable/ThirdParty/GCC/Xtensa_ESP32/port.c
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								portable/ThirdParty/GCC/Xtensa_ESP32/port.c
									
									
									
									
										vendored
									
									
								
							@ -308,10 +308,10 @@ void vPortYieldOtherCore( BaseType_t coreid )
 | 
				
			|||||||
    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
					    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
				
			||||||
                                    const struct xMEMORY_REGION * const xRegions,
 | 
					                                    const struct xMEMORY_REGION * const xRegions,
 | 
				
			||||||
                                    StackType_t * pxBottomOfStack,
 | 
					                                    StackType_t * pxBottomOfStack,
 | 
				
			||||||
                                    uint32_t usStackDepth )
 | 
					                                    configSTACK_DEPTH_TYPE uxStackDepth )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        #if XCHAL_CP_NUM > 0
 | 
					        #if XCHAL_CP_NUM > 0
 | 
				
			||||||
            xMPUSettings->coproc_area = ( StackType_t * ) ( ( uint32_t ) ( pxBottomOfStack + usStackDepth - 1 ) );
 | 
					            xMPUSettings->coproc_area = ( StackType_t * ) ( ( uint32_t ) ( pxBottomOfStack + uxStackDepth - 1 ) );
 | 
				
			||||||
            xMPUSettings->coproc_area = ( StackType_t * ) ( ( ( portPOINTER_SIZE_TYPE ) xMPUSettings->coproc_area ) & ( ~( ( portPOINTER_SIZE_TYPE ) portBYTE_ALIGNMENT_MASK ) ) );
 | 
					            xMPUSettings->coproc_area = ( StackType_t * ) ( ( ( portPOINTER_SIZE_TYPE ) xMPUSettings->coproc_area ) & ( ~( ( portPOINTER_SIZE_TYPE ) portBYTE_ALIGNMENT_MASK ) ) );
 | 
				
			||||||
            xMPUSettings->coproc_area = ( StackType_t * ) ( ( ( uint32_t ) xMPUSettings->coproc_area - XT_CP_SIZE ) & ~0xf );
 | 
					            xMPUSettings->coproc_area = ( StackType_t * ) ( ( ( uint32_t ) xMPUSettings->coproc_area - XT_CP_SIZE ) & ~0xf );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										29
									
								
								portable/ThirdParty/XCC/Xtensa/port.c
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										29
									
								
								portable/ThirdParty/XCC/Xtensa/port.c
									
									
									
									
										vendored
									
									
								
							@ -190,19 +190,20 @@ BaseType_t xPortSysTickHandler( void )
 | 
				
			|||||||
 * Used to set coprocessor area in stack. Current hack is to reuse MPU pointer for coprocessor area.
 | 
					 * Used to set coprocessor area in stack. Current hack is to reuse MPU pointer for coprocessor area.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
#if portUSING_MPU_WRAPPERS
 | 
					#if portUSING_MPU_WRAPPERS
 | 
				
			||||||
void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
					 | 
				
			||||||
                                const struct xMEMORY_REGION * const xRegions,
 | 
					 | 
				
			||||||
                                StackType_t * pxBottomOfStack,
 | 
					 | 
				
			||||||
                                uint32_t ulStackDepth )
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    #if XCHAL_CP_NUM > 0
 | 
					 | 
				
			||||||
        xMPUSettings->coproc_area = ( StackType_t * ) ( ( uint32_t ) ( pxBottomOfStack + ulStackDepth - 1 ));
 | 
					 | 
				
			||||||
        xMPUSettings->coproc_area = ( StackType_t * ) ( ( ( portPOINTER_SIZE_TYPE ) xMPUSettings->coproc_area ) & ( ~( ( portPOINTER_SIZE_TYPE ) portBYTE_ALIGNMENT_MASK ) ) );
 | 
					 | 
				
			||||||
        xMPUSettings->coproc_area = ( StackType_t * ) ( ( ( uint32_t ) xMPUSettings->coproc_area - XT_CP_SIZE ) & ~0xf );
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /* NOTE: we cannot initialize the coprocessor save area here because FreeRTOS is going to
 | 
					    void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings,
 | 
				
			||||||
         * clear the stack area after we return. This is done in pxPortInitialiseStack().
 | 
					                                    const struct xMEMORY_REGION * const xRegions,
 | 
				
			||||||
         */
 | 
					                                    StackType_t * pxBottomOfStack,
 | 
				
			||||||
    #endif
 | 
					                                    configSTACK_DEPTH_TYPE uxStackDepth )
 | 
				
			||||||
}
 | 
					    {
 | 
				
			||||||
 | 
					        #if XCHAL_CP_NUM > 0
 | 
				
			||||||
 | 
					            xMPUSettings->coproc_area = ( StackType_t * ) ( ( uint32_t ) ( pxBottomOfStack + uxStackDepth - 1 ) );
 | 
				
			||||||
 | 
					            xMPUSettings->coproc_area = ( StackType_t * ) ( ( ( portPOINTER_SIZE_TYPE ) xMPUSettings->coproc_area ) & ( ~( ( portPOINTER_SIZE_TYPE ) portBYTE_ALIGNMENT_MASK ) ) );
 | 
				
			||||||
 | 
					            xMPUSettings->coproc_area = ( StackType_t * ) ( ( ( uint32_t ) xMPUSettings->coproc_area - XT_CP_SIZE ) & ~0xf );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            /* NOTE: we cannot initialize the coprocessor save area here because FreeRTOS is going to
 | 
				
			||||||
 | 
					             * clear the stack area after we return. This is done in pxPortInitialiseStack().
 | 
				
			||||||
 | 
					             */
 | 
				
			||||||
 | 
					        #endif
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
#endif /* if portUSING_MPU_WRAPPERS */
 | 
					#endif /* if portUSING_MPU_WRAPPERS */
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										90
									
								
								tasks.c
									
									
									
									
									
								
							
							
						
						
									
										90
									
								
								tasks.c
									
									
									
									
									
								
							@ -143,8 +143,8 @@
 | 
				
			|||||||
#define tskSUSPENDED_CHAR    ( 'S' )
 | 
					#define tskSUSPENDED_CHAR    ( 'S' )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Some kernel aware debuggers require the data the debugger needs access to to
 | 
					 * Some kernel aware debuggers require the data the debugger needs access to be
 | 
				
			||||||
 * be global, rather than file scope.
 | 
					 * global, rather than file scope.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
#ifdef portREMOVE_STATIC_QUALIFIER
 | 
					#ifdef portREMOVE_STATIC_QUALIFIER
 | 
				
			||||||
    #define static
 | 
					    #define static
 | 
				
			||||||
@ -698,7 +698,7 @@ static void prvResetNextTaskUnblockTime( void ) PRIVILEGED_FUNCTION;
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
static void prvInitialiseNewTask( TaskFunction_t pxTaskCode,
 | 
					static void prvInitialiseNewTask( TaskFunction_t pxTaskCode,
 | 
				
			||||||
                                  const char * const pcName,
 | 
					                                  const char * const pcName,
 | 
				
			||||||
                                  const uint32_t ulStackDepth,
 | 
					                                  const configSTACK_DEPTH_TYPE uxStackDepth,
 | 
				
			||||||
                                  void * const pvParameters,
 | 
					                                  void * const pvParameters,
 | 
				
			||||||
                                  UBaseType_t uxPriority,
 | 
					                                  UBaseType_t uxPriority,
 | 
				
			||||||
                                  TaskHandle_t * const pxCreatedTask,
 | 
					                                  TaskHandle_t * const pxCreatedTask,
 | 
				
			||||||
@ -718,7 +718,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB ) PRIVILEGED_FUNCTION;
 | 
				
			|||||||
#if ( configSUPPORT_STATIC_ALLOCATION == 1 )
 | 
					#if ( configSUPPORT_STATIC_ALLOCATION == 1 )
 | 
				
			||||||
    static TCB_t * prvCreateStaticTask( TaskFunction_t pxTaskCode,
 | 
					    static TCB_t * prvCreateStaticTask( TaskFunction_t pxTaskCode,
 | 
				
			||||||
                                        const char * const pcName,
 | 
					                                        const char * const pcName,
 | 
				
			||||||
                                        const uint32_t ulStackDepth,
 | 
					                                        const configSTACK_DEPTH_TYPE uxStackDepth,
 | 
				
			||||||
                                        void * const pvParameters,
 | 
					                                        void * const pvParameters,
 | 
				
			||||||
                                        UBaseType_t uxPriority,
 | 
					                                        UBaseType_t uxPriority,
 | 
				
			||||||
                                        StackType_t * const puxStackBuffer,
 | 
					                                        StackType_t * const puxStackBuffer,
 | 
				
			||||||
@ -752,7 +752,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB ) PRIVILEGED_FUNCTION;
 | 
				
			|||||||
#if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
 | 
					#if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
 | 
				
			||||||
    static TCB_t * prvCreateTask( TaskFunction_t pxTaskCode,
 | 
					    static TCB_t * prvCreateTask( TaskFunction_t pxTaskCode,
 | 
				
			||||||
                                  const char * const pcName,
 | 
					                                  const char * const pcName,
 | 
				
			||||||
                                  const configSTACK_DEPTH_TYPE usStackDepth,
 | 
					                                  const configSTACK_DEPTH_TYPE uxStackDepth,
 | 
				
			||||||
                                  void * const pvParameters,
 | 
					                                  void * const pvParameters,
 | 
				
			||||||
                                  UBaseType_t uxPriority,
 | 
					                                  UBaseType_t uxPriority,
 | 
				
			||||||
                                  TaskHandle_t * const pxCreatedTask ) PRIVILEGED_FUNCTION;
 | 
					                                  TaskHandle_t * const pxCreatedTask ) PRIVILEGED_FUNCTION;
 | 
				
			||||||
@ -1252,7 +1252,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB ) PRIVILEGED_FUNCTION;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    static TCB_t * prvCreateStaticTask( TaskFunction_t pxTaskCode,
 | 
					    static TCB_t * prvCreateStaticTask( TaskFunction_t pxTaskCode,
 | 
				
			||||||
                                        const char * const pcName,
 | 
					                                        const char * const pcName,
 | 
				
			||||||
                                        const uint32_t ulStackDepth,
 | 
					                                        const configSTACK_DEPTH_TYPE uxStackDepth,
 | 
				
			||||||
                                        void * const pvParameters,
 | 
					                                        void * const pvParameters,
 | 
				
			||||||
                                        UBaseType_t uxPriority,
 | 
					                                        UBaseType_t uxPriority,
 | 
				
			||||||
                                        StackType_t * const puxStackBuffer,
 | 
					                                        StackType_t * const puxStackBuffer,
 | 
				
			||||||
@ -1294,7 +1294,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB ) PRIVILEGED_FUNCTION;
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
            #endif /* tskSTATIC_AND_DYNAMIC_ALLOCATION_POSSIBLE */
 | 
					            #endif /* tskSTATIC_AND_DYNAMIC_ALLOCATION_POSSIBLE */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            prvInitialiseNewTask( pxTaskCode, pcName, ulStackDepth, pvParameters, uxPriority, pxCreatedTask, pxNewTCB, NULL );
 | 
					            prvInitialiseNewTask( pxTaskCode, pcName, uxStackDepth, pvParameters, uxPriority, pxCreatedTask, pxNewTCB, NULL );
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        else
 | 
					        else
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
@ -1307,7 +1307,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB ) PRIVILEGED_FUNCTION;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    TaskHandle_t xTaskCreateStatic( TaskFunction_t pxTaskCode,
 | 
					    TaskHandle_t xTaskCreateStatic( TaskFunction_t pxTaskCode,
 | 
				
			||||||
                                    const char * const pcName,
 | 
					                                    const char * const pcName,
 | 
				
			||||||
                                    const uint32_t ulStackDepth,
 | 
					                                    const configSTACK_DEPTH_TYPE uxStackDepth,
 | 
				
			||||||
                                    void * const pvParameters,
 | 
					                                    void * const pvParameters,
 | 
				
			||||||
                                    UBaseType_t uxPriority,
 | 
					                                    UBaseType_t uxPriority,
 | 
				
			||||||
                                    StackType_t * const puxStackBuffer,
 | 
					                                    StackType_t * const puxStackBuffer,
 | 
				
			||||||
@ -1316,9 +1316,9 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB ) PRIVILEGED_FUNCTION;
 | 
				
			|||||||
        TaskHandle_t xReturn = NULL;
 | 
					        TaskHandle_t xReturn = NULL;
 | 
				
			||||||
        TCB_t * pxNewTCB;
 | 
					        TCB_t * pxNewTCB;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        traceENTER_xTaskCreateStatic( pxTaskCode, pcName, ulStackDepth, pvParameters, uxPriority, puxStackBuffer, pxTaskBuffer );
 | 
					        traceENTER_xTaskCreateStatic( pxTaskCode, pcName, uxStackDepth, pvParameters, uxPriority, puxStackBuffer, pxTaskBuffer );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        pxNewTCB = prvCreateStaticTask( pxTaskCode, pcName, ulStackDepth, pvParameters, uxPriority, puxStackBuffer, pxTaskBuffer, &xReturn );
 | 
					        pxNewTCB = prvCreateStaticTask( pxTaskCode, pcName, uxStackDepth, pvParameters, uxPriority, puxStackBuffer, pxTaskBuffer, &xReturn );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if( pxNewTCB != NULL )
 | 
					        if( pxNewTCB != NULL )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
@ -1345,7 +1345,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB ) PRIVILEGED_FUNCTION;
 | 
				
			|||||||
    #if ( ( configNUMBER_OF_CORES > 1 ) && ( configUSE_CORE_AFFINITY == 1 ) )
 | 
					    #if ( ( configNUMBER_OF_CORES > 1 ) && ( configUSE_CORE_AFFINITY == 1 ) )
 | 
				
			||||||
        TaskHandle_t xTaskCreateStaticAffinitySet( TaskFunction_t pxTaskCode,
 | 
					        TaskHandle_t xTaskCreateStaticAffinitySet( TaskFunction_t pxTaskCode,
 | 
				
			||||||
                                                   const char * const pcName,
 | 
					                                                   const char * const pcName,
 | 
				
			||||||
                                                   const uint32_t ulStackDepth,
 | 
					                                                   const configSTACK_DEPTH_TYPE uxStackDepth,
 | 
				
			||||||
                                                   void * const pvParameters,
 | 
					                                                   void * const pvParameters,
 | 
				
			||||||
                                                   UBaseType_t uxPriority,
 | 
					                                                   UBaseType_t uxPriority,
 | 
				
			||||||
                                                   StackType_t * const puxStackBuffer,
 | 
					                                                   StackType_t * const puxStackBuffer,
 | 
				
			||||||
@ -1355,9 +1355,9 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB ) PRIVILEGED_FUNCTION;
 | 
				
			|||||||
            TaskHandle_t xReturn = NULL;
 | 
					            TaskHandle_t xReturn = NULL;
 | 
				
			||||||
            TCB_t * pxNewTCB;
 | 
					            TCB_t * pxNewTCB;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            traceENTER_xTaskCreateStaticAffinitySet( pxTaskCode, pcName, ulStackDepth, pvParameters, uxPriority, puxStackBuffer, pxTaskBuffer, uxCoreAffinityMask );
 | 
					            traceENTER_xTaskCreateStaticAffinitySet( pxTaskCode, pcName, uxStackDepth, pvParameters, uxPriority, puxStackBuffer, pxTaskBuffer, uxCoreAffinityMask );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            pxNewTCB = prvCreateStaticTask( pxTaskCode, pcName, ulStackDepth, pvParameters, uxPriority, puxStackBuffer, pxTaskBuffer, &xReturn );
 | 
					            pxNewTCB = prvCreateStaticTask( pxTaskCode, pcName, uxStackDepth, pvParameters, uxPriority, puxStackBuffer, pxTaskBuffer, &xReturn );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if( pxNewTCB != NULL )
 | 
					            if( pxNewTCB != NULL )
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
@ -1410,7 +1410,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB ) PRIVILEGED_FUNCTION;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            prvInitialiseNewTask( pxTaskDefinition->pvTaskCode,
 | 
					            prvInitialiseNewTask( pxTaskDefinition->pvTaskCode,
 | 
				
			||||||
                                  pxTaskDefinition->pcName,
 | 
					                                  pxTaskDefinition->pcName,
 | 
				
			||||||
                                  ( uint32_t ) pxTaskDefinition->usStackDepth,
 | 
					                                  pxTaskDefinition->usStackDepth,
 | 
				
			||||||
                                  pxTaskDefinition->pvParameters,
 | 
					                                  pxTaskDefinition->pvParameters,
 | 
				
			||||||
                                  pxTaskDefinition->uxPriority,
 | 
					                                  pxTaskDefinition->uxPriority,
 | 
				
			||||||
                                  pxCreatedTask, pxNewTCB,
 | 
					                                  pxCreatedTask, pxNewTCB,
 | 
				
			||||||
@ -1529,7 +1529,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB ) PRIVILEGED_FUNCTION;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                prvInitialiseNewTask( pxTaskDefinition->pvTaskCode,
 | 
					                prvInitialiseNewTask( pxTaskDefinition->pvTaskCode,
 | 
				
			||||||
                                      pxTaskDefinition->pcName,
 | 
					                                      pxTaskDefinition->pcName,
 | 
				
			||||||
                                      ( uint32_t ) pxTaskDefinition->usStackDepth,
 | 
					                                      pxTaskDefinition->usStackDepth,
 | 
				
			||||||
                                      pxTaskDefinition->pvParameters,
 | 
					                                      pxTaskDefinition->pvParameters,
 | 
				
			||||||
                                      pxTaskDefinition->uxPriority,
 | 
					                                      pxTaskDefinition->uxPriority,
 | 
				
			||||||
                                      pxCreatedTask, pxNewTCB,
 | 
					                                      pxCreatedTask, pxNewTCB,
 | 
				
			||||||
@ -1618,7 +1618,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB ) PRIVILEGED_FUNCTION;
 | 
				
			|||||||
#if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
 | 
					#if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
 | 
				
			||||||
    static TCB_t * prvCreateTask( TaskFunction_t pxTaskCode,
 | 
					    static TCB_t * prvCreateTask( TaskFunction_t pxTaskCode,
 | 
				
			||||||
                                  const char * const pcName,
 | 
					                                  const char * const pcName,
 | 
				
			||||||
                                  const configSTACK_DEPTH_TYPE usStackDepth,
 | 
					                                  const configSTACK_DEPTH_TYPE uxStackDepth,
 | 
				
			||||||
                                  void * const pvParameters,
 | 
					                                  void * const pvParameters,
 | 
				
			||||||
                                  UBaseType_t uxPriority,
 | 
					                                  UBaseType_t uxPriority,
 | 
				
			||||||
                                  TaskHandle_t * const pxCreatedTask )
 | 
					                                  TaskHandle_t * const pxCreatedTask )
 | 
				
			||||||
@ -1648,7 +1648,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB ) PRIVILEGED_FUNCTION;
 | 
				
			|||||||
                /* MISRA Ref 11.5.1 [Malloc memory assignment] */
 | 
					                /* MISRA Ref 11.5.1 [Malloc memory assignment] */
 | 
				
			||||||
                /* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-115 */
 | 
					                /* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-115 */
 | 
				
			||||||
                /* coverity[misra_c_2012_rule_11_5_violation] */
 | 
					                /* coverity[misra_c_2012_rule_11_5_violation] */
 | 
				
			||||||
                pxNewTCB->pxStack = ( StackType_t * ) pvPortMallocStack( ( ( ( size_t ) usStackDepth ) * sizeof( StackType_t ) ) );
 | 
					                pxNewTCB->pxStack = ( StackType_t * ) pvPortMallocStack( ( ( ( size_t ) uxStackDepth ) * sizeof( StackType_t ) ) );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                if( pxNewTCB->pxStack == NULL )
 | 
					                if( pxNewTCB->pxStack == NULL )
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
@ -1666,7 +1666,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB ) PRIVILEGED_FUNCTION;
 | 
				
			|||||||
            /* MISRA Ref 11.5.1 [Malloc memory assignment] */
 | 
					            /* MISRA Ref 11.5.1 [Malloc memory assignment] */
 | 
				
			||||||
            /* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-115 */
 | 
					            /* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-115 */
 | 
				
			||||||
            /* coverity[misra_c_2012_rule_11_5_violation] */
 | 
					            /* coverity[misra_c_2012_rule_11_5_violation] */
 | 
				
			||||||
            pxStack = pvPortMallocStack( ( ( ( size_t ) usStackDepth ) * sizeof( StackType_t ) ) );
 | 
					            pxStack = pvPortMallocStack( ( ( ( size_t ) uxStackDepth ) * sizeof( StackType_t ) ) );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if( pxStack != NULL )
 | 
					            if( pxStack != NULL )
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
@ -1707,7 +1707,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB ) PRIVILEGED_FUNCTION;
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
            #endif /* tskSTATIC_AND_DYNAMIC_ALLOCATION_POSSIBLE */
 | 
					            #endif /* tskSTATIC_AND_DYNAMIC_ALLOCATION_POSSIBLE */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            prvInitialiseNewTask( pxTaskCode, pcName, ( uint32_t ) usStackDepth, pvParameters, uxPriority, pxCreatedTask, pxNewTCB, NULL );
 | 
					            prvInitialiseNewTask( pxTaskCode, pcName, uxStackDepth, pvParameters, uxPriority, pxCreatedTask, pxNewTCB, NULL );
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return pxNewTCB;
 | 
					        return pxNewTCB;
 | 
				
			||||||
@ -1716,7 +1716,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB ) PRIVILEGED_FUNCTION;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    BaseType_t xTaskCreate( TaskFunction_t pxTaskCode,
 | 
					    BaseType_t xTaskCreate( TaskFunction_t pxTaskCode,
 | 
				
			||||||
                            const char * const pcName,
 | 
					                            const char * const pcName,
 | 
				
			||||||
                            const configSTACK_DEPTH_TYPE usStackDepth,
 | 
					                            const configSTACK_DEPTH_TYPE uxStackDepth,
 | 
				
			||||||
                            void * const pvParameters,
 | 
					                            void * const pvParameters,
 | 
				
			||||||
                            UBaseType_t uxPriority,
 | 
					                            UBaseType_t uxPriority,
 | 
				
			||||||
                            TaskHandle_t * const pxCreatedTask )
 | 
					                            TaskHandle_t * const pxCreatedTask )
 | 
				
			||||||
@ -1724,9 +1724,9 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB ) PRIVILEGED_FUNCTION;
 | 
				
			|||||||
        TCB_t * pxNewTCB;
 | 
					        TCB_t * pxNewTCB;
 | 
				
			||||||
        BaseType_t xReturn;
 | 
					        BaseType_t xReturn;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        traceENTER_xTaskCreate( pxTaskCode, pcName, usStackDepth, pvParameters, uxPriority, pxCreatedTask );
 | 
					        traceENTER_xTaskCreate( pxTaskCode, pcName, uxStackDepth, pvParameters, uxPriority, pxCreatedTask );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        pxNewTCB = prvCreateTask( pxTaskCode, pcName, usStackDepth, pvParameters, uxPriority, pxCreatedTask );
 | 
					        pxNewTCB = prvCreateTask( pxTaskCode, pcName, uxStackDepth, pvParameters, uxPriority, pxCreatedTask );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if( pxNewTCB != NULL )
 | 
					        if( pxNewTCB != NULL )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
@ -1754,7 +1754,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB ) PRIVILEGED_FUNCTION;
 | 
				
			|||||||
    #if ( ( configNUMBER_OF_CORES > 1 ) && ( configUSE_CORE_AFFINITY == 1 ) )
 | 
					    #if ( ( configNUMBER_OF_CORES > 1 ) && ( configUSE_CORE_AFFINITY == 1 ) )
 | 
				
			||||||
        BaseType_t xTaskCreateAffinitySet( TaskFunction_t pxTaskCode,
 | 
					        BaseType_t xTaskCreateAffinitySet( TaskFunction_t pxTaskCode,
 | 
				
			||||||
                                           const char * const pcName,
 | 
					                                           const char * const pcName,
 | 
				
			||||||
                                           const configSTACK_DEPTH_TYPE usStackDepth,
 | 
					                                           const configSTACK_DEPTH_TYPE uxStackDepth,
 | 
				
			||||||
                                           void * const pvParameters,
 | 
					                                           void * const pvParameters,
 | 
				
			||||||
                                           UBaseType_t uxPriority,
 | 
					                                           UBaseType_t uxPriority,
 | 
				
			||||||
                                           UBaseType_t uxCoreAffinityMask,
 | 
					                                           UBaseType_t uxCoreAffinityMask,
 | 
				
			||||||
@ -1763,9 +1763,9 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB ) PRIVILEGED_FUNCTION;
 | 
				
			|||||||
            TCB_t * pxNewTCB;
 | 
					            TCB_t * pxNewTCB;
 | 
				
			||||||
            BaseType_t xReturn;
 | 
					            BaseType_t xReturn;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            traceENTER_xTaskCreateAffinitySet( pxTaskCode, pcName, usStackDepth, pvParameters, uxPriority, uxCoreAffinityMask, pxCreatedTask );
 | 
					            traceENTER_xTaskCreateAffinitySet( pxTaskCode, pcName, uxStackDepth, pvParameters, uxPriority, uxCoreAffinityMask, pxCreatedTask );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            pxNewTCB = prvCreateTask( pxTaskCode, pcName, usStackDepth, pvParameters, uxPriority, pxCreatedTask );
 | 
					            pxNewTCB = prvCreateTask( pxTaskCode, pcName, uxStackDepth, pvParameters, uxPriority, pxCreatedTask );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if( pxNewTCB != NULL )
 | 
					            if( pxNewTCB != NULL )
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
@ -1791,7 +1791,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB ) PRIVILEGED_FUNCTION;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
static void prvInitialiseNewTask( TaskFunction_t pxTaskCode,
 | 
					static void prvInitialiseNewTask( TaskFunction_t pxTaskCode,
 | 
				
			||||||
                                  const char * const pcName,
 | 
					                                  const char * const pcName,
 | 
				
			||||||
                                  const uint32_t ulStackDepth,
 | 
					                                  const configSTACK_DEPTH_TYPE uxStackDepth,
 | 
				
			||||||
                                  void * const pvParameters,
 | 
					                                  void * const pvParameters,
 | 
				
			||||||
                                  UBaseType_t uxPriority,
 | 
					                                  UBaseType_t uxPriority,
 | 
				
			||||||
                                  TaskHandle_t * const pxCreatedTask,
 | 
					                                  TaskHandle_t * const pxCreatedTask,
 | 
				
			||||||
@ -1820,7 +1820,7 @@ static void prvInitialiseNewTask( TaskFunction_t pxTaskCode,
 | 
				
			|||||||
    #if ( tskSET_NEW_STACKS_TO_KNOWN_VALUE == 1 )
 | 
					    #if ( tskSET_NEW_STACKS_TO_KNOWN_VALUE == 1 )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        /* Fill the stack with a known value to assist debugging. */
 | 
					        /* Fill the stack with a known value to assist debugging. */
 | 
				
			||||||
        ( void ) memset( pxNewTCB->pxStack, ( int ) tskSTACK_FILL_BYTE, ( size_t ) ulStackDepth * sizeof( StackType_t ) );
 | 
					        ( void ) memset( pxNewTCB->pxStack, ( int ) tskSTACK_FILL_BYTE, ( size_t ) uxStackDepth * sizeof( StackType_t ) );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    #endif /* tskSET_NEW_STACKS_TO_KNOWN_VALUE */
 | 
					    #endif /* tskSET_NEW_STACKS_TO_KNOWN_VALUE */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1830,7 +1830,7 @@ static void prvInitialiseNewTask( TaskFunction_t pxTaskCode,
 | 
				
			|||||||
     * by the port. */
 | 
					     * by the port. */
 | 
				
			||||||
    #if ( portSTACK_GROWTH < 0 )
 | 
					    #if ( portSTACK_GROWTH < 0 )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        pxTopOfStack = &( pxNewTCB->pxStack[ ulStackDepth - ( uint32_t ) 1 ] );
 | 
					        pxTopOfStack = &( pxNewTCB->pxStack[ uxStackDepth - ( configSTACK_DEPTH_TYPE ) 1 ] );
 | 
				
			||||||
        pxTopOfStack = ( StackType_t * ) ( ( ( portPOINTER_SIZE_TYPE ) pxTopOfStack ) & ( ~( ( portPOINTER_SIZE_TYPE ) portBYTE_ALIGNMENT_MASK ) ) );
 | 
					        pxTopOfStack = ( StackType_t * ) ( ( ( portPOINTER_SIZE_TYPE ) pxTopOfStack ) & ( ~( ( portPOINTER_SIZE_TYPE ) portBYTE_ALIGNMENT_MASK ) ) );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /* Check the alignment of the calculated top of stack is correct. */
 | 
					        /* Check the alignment of the calculated top of stack is correct. */
 | 
				
			||||||
@ -1854,7 +1854,7 @@ static void prvInitialiseNewTask( TaskFunction_t pxTaskCode,
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        /* The other extreme of the stack space is required if stack checking is
 | 
					        /* The other extreme of the stack space is required if stack checking is
 | 
				
			||||||
         * performed. */
 | 
					         * performed. */
 | 
				
			||||||
        pxNewTCB->pxEndOfStack = pxNewTCB->pxStack + ( ulStackDepth - ( uint32_t ) 1 );
 | 
					        pxNewTCB->pxEndOfStack = pxNewTCB->pxStack + ( uxStackDepth - ( configSTACK_DEPTH_TYPE ) 1 );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    #endif /* portSTACK_GROWTH */
 | 
					    #endif /* portSTACK_GROWTH */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1919,7 +1919,7 @@ static void prvInitialiseNewTask( TaskFunction_t pxTaskCode,
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    #if ( portUSING_MPU_WRAPPERS == 1 )
 | 
					    #if ( portUSING_MPU_WRAPPERS == 1 )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        vPortStoreTaskMPUSettings( &( pxNewTCB->xMPUSettings ), xRegions, pxNewTCB->pxStack, ulStackDepth );
 | 
					        vPortStoreTaskMPUSettings( &( pxNewTCB->xMPUSettings ), xRegions, pxNewTCB->pxStack, uxStackDepth );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    #else
 | 
					    #else
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
@ -3558,29 +3558,29 @@ static BaseType_t prvCreateIdleTasks( void )
 | 
				
			|||||||
        {
 | 
					        {
 | 
				
			||||||
            StaticTask_t * pxIdleTaskTCBBuffer = NULL;
 | 
					            StaticTask_t * pxIdleTaskTCBBuffer = NULL;
 | 
				
			||||||
            StackType_t * pxIdleTaskStackBuffer = NULL;
 | 
					            StackType_t * pxIdleTaskStackBuffer = NULL;
 | 
				
			||||||
            uint32_t ulIdleTaskStackSize;
 | 
					            configSTACK_DEPTH_TYPE uxIdleTaskStackSize;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            /* The Idle task is created using user provided RAM - obtain the
 | 
					            /* The Idle task is created using user provided RAM - obtain the
 | 
				
			||||||
             * address of the RAM then create the idle task. */
 | 
					             * address of the RAM then create the idle task. */
 | 
				
			||||||
            #if ( configNUMBER_OF_CORES == 1 )
 | 
					            #if ( configNUMBER_OF_CORES == 1 )
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                vApplicationGetIdleTaskMemory( &pxIdleTaskTCBBuffer, &pxIdleTaskStackBuffer, &ulIdleTaskStackSize );
 | 
					                vApplicationGetIdleTaskMemory( &pxIdleTaskTCBBuffer, &pxIdleTaskStackBuffer, &uxIdleTaskStackSize );
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            #else
 | 
					            #else
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                if( xCoreID == 0 )
 | 
					                if( xCoreID == 0 )
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    vApplicationGetIdleTaskMemory( &pxIdleTaskTCBBuffer, &pxIdleTaskStackBuffer, &ulIdleTaskStackSize );
 | 
					                    vApplicationGetIdleTaskMemory( &pxIdleTaskTCBBuffer, &pxIdleTaskStackBuffer, &uxIdleTaskStackSize );
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                else
 | 
					                else
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    vApplicationGetPassiveIdleTaskMemory( &pxIdleTaskTCBBuffer, &pxIdleTaskStackBuffer, &ulIdleTaskStackSize, xCoreID - 1 );
 | 
					                    vApplicationGetPassiveIdleTaskMemory( &pxIdleTaskTCBBuffer, &pxIdleTaskStackBuffer, &uxIdleTaskStackSize, xCoreID - 1 );
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            #endif /* if ( configNUMBER_OF_CORES == 1 ) */
 | 
					            #endif /* if ( configNUMBER_OF_CORES == 1 ) */
 | 
				
			||||||
            xIdleTaskHandles[ xCoreID ] = xTaskCreateStatic( pxIdleTaskFunction,
 | 
					            xIdleTaskHandles[ xCoreID ] = xTaskCreateStatic( pxIdleTaskFunction,
 | 
				
			||||||
                                                             cIdleName,
 | 
					                                                             cIdleName,
 | 
				
			||||||
                                                             ulIdleTaskStackSize,
 | 
					                                                             uxIdleTaskStackSize,
 | 
				
			||||||
                                                             ( void * ) NULL,
 | 
					                                                             ( void * ) NULL,
 | 
				
			||||||
                                                             portPRIVILEGE_BIT, /* In effect ( tskIDLE_PRIORITY | portPRIVILEGE_BIT ), but tskIDLE_PRIORITY is zero. */
 | 
					                                                             portPRIVILEGE_BIT, /* In effect ( tskIDLE_PRIORITY | portPRIVILEGE_BIT ), but tskIDLE_PRIORITY is zero. */
 | 
				
			||||||
                                                             pxIdleTaskStackBuffer,
 | 
					                                                             pxIdleTaskStackBuffer,
 | 
				
			||||||
@ -6323,17 +6323,17 @@ static void prvCheckTasksWaitingTermination( void )
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    static configSTACK_DEPTH_TYPE prvTaskCheckFreeStackSpace( const uint8_t * pucStackByte )
 | 
					    static configSTACK_DEPTH_TYPE prvTaskCheckFreeStackSpace( const uint8_t * pucStackByte )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        uint32_t ulCount = 0U;
 | 
					        configSTACK_DEPTH_TYPE uxCount = 0U;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        while( *pucStackByte == ( uint8_t ) tskSTACK_FILL_BYTE )
 | 
					        while( *pucStackByte == ( uint8_t ) tskSTACK_FILL_BYTE )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            pucStackByte -= portSTACK_GROWTH;
 | 
					            pucStackByte -= portSTACK_GROWTH;
 | 
				
			||||||
            ulCount++;
 | 
					            uxCount++;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        ulCount /= ( uint32_t ) sizeof( StackType_t );
 | 
					        uxCount /= ( configSTACK_DEPTH_TYPE ) sizeof( StackType_t );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return ( configSTACK_DEPTH_TYPE ) ulCount;
 | 
					        return uxCount;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif /* ( ( configUSE_TRACE_FACILITY == 1 ) || ( INCLUDE_uxTaskGetStackHighWaterMark == 1 ) || ( INCLUDE_uxTaskGetStackHighWaterMark2 == 1 ) ) */
 | 
					#endif /* ( ( configUSE_TRACE_FACILITY == 1 ) || ( INCLUDE_uxTaskGetStackHighWaterMark == 1 ) || ( INCLUDE_uxTaskGetStackHighWaterMark2 == 1 ) ) */
 | 
				
			||||||
@ -8623,21 +8623,21 @@ static void prvAddCurrentTaskToDelayedList( TickType_t xTicksToWait,
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
    void vApplicationGetIdleTaskMemory( StaticTask_t ** ppxIdleTaskTCBBuffer,
 | 
					    void vApplicationGetIdleTaskMemory( StaticTask_t ** ppxIdleTaskTCBBuffer,
 | 
				
			||||||
                                        StackType_t ** ppxIdleTaskStackBuffer,
 | 
					                                        StackType_t ** ppxIdleTaskStackBuffer,
 | 
				
			||||||
                                        uint32_t * pulIdleTaskStackSize )
 | 
					                                        configSTACK_DEPTH_TYPE * puxIdleTaskStackSize )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        static StaticTask_t xIdleTaskTCB;
 | 
					        static StaticTask_t xIdleTaskTCB;
 | 
				
			||||||
        static StackType_t uxIdleTaskStack[ configMINIMAL_STACK_SIZE ];
 | 
					        static StackType_t uxIdleTaskStack[ configMINIMAL_STACK_SIZE ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        *ppxIdleTaskTCBBuffer = &( xIdleTaskTCB );
 | 
					        *ppxIdleTaskTCBBuffer = &( xIdleTaskTCB );
 | 
				
			||||||
        *ppxIdleTaskStackBuffer = &( uxIdleTaskStack[ 0 ] );
 | 
					        *ppxIdleTaskStackBuffer = &( uxIdleTaskStack[ 0 ] );
 | 
				
			||||||
        *pulIdleTaskStackSize = configMINIMAL_STACK_SIZE;
 | 
					        *puxIdleTaskStackSize = configMINIMAL_STACK_SIZE;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    #if ( configNUMBER_OF_CORES > 1 )
 | 
					    #if ( configNUMBER_OF_CORES > 1 )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        void vApplicationGetPassiveIdleTaskMemory( StaticTask_t ** ppxIdleTaskTCBBuffer,
 | 
					        void vApplicationGetPassiveIdleTaskMemory( StaticTask_t ** ppxIdleTaskTCBBuffer,
 | 
				
			||||||
                                                   StackType_t ** ppxIdleTaskStackBuffer,
 | 
					                                                   StackType_t ** ppxIdleTaskStackBuffer,
 | 
				
			||||||
                                                   uint32_t * pulIdleTaskStackSize,
 | 
					                                                   configSTACK_DEPTH_TYPE * puxIdleTaskStackSize,
 | 
				
			||||||
                                                   BaseType_t xPassiveIdleTaskIndex )
 | 
					                                                   BaseType_t xPassiveIdleTaskIndex )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            static StaticTask_t xIdleTaskTCBs[ configNUMBER_OF_CORES - 1 ];
 | 
					            static StaticTask_t xIdleTaskTCBs[ configNUMBER_OF_CORES - 1 ];
 | 
				
			||||||
@ -8645,7 +8645,7 @@ static void prvAddCurrentTaskToDelayedList( TickType_t xTicksToWait,
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            *ppxIdleTaskTCBBuffer = &( xIdleTaskTCBs[ xPassiveIdleTaskIndex ] );
 | 
					            *ppxIdleTaskTCBBuffer = &( xIdleTaskTCBs[ xPassiveIdleTaskIndex ] );
 | 
				
			||||||
            *ppxIdleTaskStackBuffer = &( uxIdleTaskStacks[ xPassiveIdleTaskIndex ][ 0 ] );
 | 
					            *ppxIdleTaskStackBuffer = &( uxIdleTaskStacks[ xPassiveIdleTaskIndex ][ 0 ] );
 | 
				
			||||||
            *pulIdleTaskStackSize = configMINIMAL_STACK_SIZE;
 | 
					            *puxIdleTaskStackSize = configMINIMAL_STACK_SIZE;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    #endif /* #if ( configNUMBER_OF_CORES > 1 ) */
 | 
					    #endif /* #if ( configNUMBER_OF_CORES > 1 ) */
 | 
				
			||||||
@ -8664,14 +8664,14 @@ static void prvAddCurrentTaskToDelayedList( TickType_t xTicksToWait,
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
    void vApplicationGetTimerTaskMemory( StaticTask_t ** ppxTimerTaskTCBBuffer,
 | 
					    void vApplicationGetTimerTaskMemory( StaticTask_t ** ppxTimerTaskTCBBuffer,
 | 
				
			||||||
                                         StackType_t ** ppxTimerTaskStackBuffer,
 | 
					                                         StackType_t ** ppxTimerTaskStackBuffer,
 | 
				
			||||||
                                         uint32_t * pulTimerTaskStackSize )
 | 
					                                         configSTACK_DEPTH_TYPE * puxTimerTaskStackSize )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        static StaticTask_t xTimerTaskTCB;
 | 
					        static StaticTask_t xTimerTaskTCB;
 | 
				
			||||||
        static StackType_t uxTimerTaskStack[ configTIMER_TASK_STACK_DEPTH ];
 | 
					        static StackType_t uxTimerTaskStack[ configTIMER_TASK_STACK_DEPTH ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        *ppxTimerTaskTCBBuffer = &( xTimerTaskTCB );
 | 
					        *ppxTimerTaskTCBBuffer = &( xTimerTaskTCB );
 | 
				
			||||||
        *ppxTimerTaskStackBuffer = &( uxTimerTaskStack[ 0 ] );
 | 
					        *ppxTimerTaskStackBuffer = &( uxTimerTaskStack[ 0 ] );
 | 
				
			||||||
        *pulTimerTaskStackSize = configTIMER_TASK_STACK_DEPTH;
 | 
					        *puxTimerTaskStackSize = configTIMER_TASK_STACK_DEPTH;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif /* #if ( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configKERNEL_PROVIDED_STATIC_MEMORY == 1 ) && ( portUSING_MPU_WRAPPERS == 0 ) ) */
 | 
					#endif /* #if ( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configKERNEL_PROVIDED_STATIC_MEMORY == 1 ) && ( portUSING_MPU_WRAPPERS == 0 ) ) */
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										12
									
								
								timers.c
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								timers.c
									
									
									
									
									
								
							@ -254,12 +254,12 @@
 | 
				
			|||||||
                {
 | 
					                {
 | 
				
			||||||
                    StaticTask_t * pxTimerTaskTCBBuffer = NULL;
 | 
					                    StaticTask_t * pxTimerTaskTCBBuffer = NULL;
 | 
				
			||||||
                    StackType_t * pxTimerTaskStackBuffer = NULL;
 | 
					                    StackType_t * pxTimerTaskStackBuffer = NULL;
 | 
				
			||||||
                    uint32_t ulTimerTaskStackSize;
 | 
					                    configSTACK_DEPTH_TYPE uxTimerTaskStackSize;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    vApplicationGetTimerTaskMemory( &pxTimerTaskTCBBuffer, &pxTimerTaskStackBuffer, &ulTimerTaskStackSize );
 | 
					                    vApplicationGetTimerTaskMemory( &pxTimerTaskTCBBuffer, &pxTimerTaskStackBuffer, &uxTimerTaskStackSize );
 | 
				
			||||||
                    xTimerTaskHandle = xTaskCreateStaticAffinitySet( prvTimerTask,
 | 
					                    xTimerTaskHandle = xTaskCreateStaticAffinitySet( prvTimerTask,
 | 
				
			||||||
                                                                     configTIMER_SERVICE_TASK_NAME,
 | 
					                                                                     configTIMER_SERVICE_TASK_NAME,
 | 
				
			||||||
                                                                     ulTimerTaskStackSize,
 | 
					                                                                     uxTimerTaskStackSize,
 | 
				
			||||||
                                                                     NULL,
 | 
					                                                                     NULL,
 | 
				
			||||||
                                                                     ( ( UBaseType_t ) configTIMER_TASK_PRIORITY ) | portPRIVILEGE_BIT,
 | 
					                                                                     ( ( UBaseType_t ) configTIMER_TASK_PRIORITY ) | portPRIVILEGE_BIT,
 | 
				
			||||||
                                                                     pxTimerTaskStackBuffer,
 | 
					                                                                     pxTimerTaskStackBuffer,
 | 
				
			||||||
@ -289,12 +289,12 @@
 | 
				
			|||||||
                {
 | 
					                {
 | 
				
			||||||
                    StaticTask_t * pxTimerTaskTCBBuffer = NULL;
 | 
					                    StaticTask_t * pxTimerTaskTCBBuffer = NULL;
 | 
				
			||||||
                    StackType_t * pxTimerTaskStackBuffer = NULL;
 | 
					                    StackType_t * pxTimerTaskStackBuffer = NULL;
 | 
				
			||||||
                    uint32_t ulTimerTaskStackSize;
 | 
					                    configSTACK_DEPTH_TYPE uxTimerTaskStackSize;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    vApplicationGetTimerTaskMemory( &pxTimerTaskTCBBuffer, &pxTimerTaskStackBuffer, &ulTimerTaskStackSize );
 | 
					                    vApplicationGetTimerTaskMemory( &pxTimerTaskTCBBuffer, &pxTimerTaskStackBuffer, &uxTimerTaskStackSize );
 | 
				
			||||||
                    xTimerTaskHandle = xTaskCreateStatic( prvTimerTask,
 | 
					                    xTimerTaskHandle = xTaskCreateStatic( prvTimerTask,
 | 
				
			||||||
                                                          configTIMER_SERVICE_TASK_NAME,
 | 
					                                                          configTIMER_SERVICE_TASK_NAME,
 | 
				
			||||||
                                                          ulTimerTaskStackSize,
 | 
					                                                          uxTimerTaskStackSize,
 | 
				
			||||||
                                                          NULL,
 | 
					                                                          NULL,
 | 
				
			||||||
                                                          ( ( UBaseType_t ) configTIMER_TASK_PRIORITY ) | portPRIVILEGE_BIT,
 | 
					                                                          ( ( UBaseType_t ) configTIMER_TASK_PRIORITY ) | portPRIVILEGE_BIT,
 | 
				
			||||||
                                                          pxTimerTaskStackBuffer,
 | 
					                                                          pxTimerTaskStackBuffer,
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user