mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-12-12 06:35:19 -05:00
VF rewrite: Delete attributes.
This commit is contained in:
parent
e9c9b27ddb
commit
6af1321b43
2 changed files with 140 additions and 149 deletions
|
|
@ -29,6 +29,12 @@ rewrite "long unsigned int" "unsigned long int"
|
||||||
echo "Delete fixed-sized array typedefs"
|
echo "Delete fixed-sized array typedefs"
|
||||||
rewrite "typedef .*\[[0-9]*\];" ""
|
rewrite "typedef .*\[[0-9]*\];" ""
|
||||||
|
|
||||||
|
echo "Delete attributes"
|
||||||
|
#rewrite "\_\_attribute\_\_\(\(\_\_[a-z\_]*\_\_\)\)" ""
|
||||||
|
rewrite "__attribute__(([_a-z]*))" ""
|
||||||
|
# TODO: Why does matching `\s` or `:space:` not work on MacOs?
|
||||||
|
rewrite "__attribute__( ( [_a-z]* ) )" ""
|
||||||
|
|
||||||
#echo "VF RW: 'long unsigned int' -> 'unsinged long int'"
|
#echo "VF RW: 'long unsigned int' -> 'unsinged long int'"
|
||||||
#echo "backup : $VF_RW_WD/$SOURCE_FILE.backup-$BACKUP_IDX"
|
#echo "backup : $VF_RW_WD/$SOURCE_FILE.backup-$BACKUP_IDX"
|
||||||
#echo backup index $BACKUP_IDX
|
#echo backup index $BACKUP_IDX
|
||||||
|
|
|
||||||
|
|
@ -38,17 +38,8 @@
|
||||||
* This file contains defines to configure the VeriFast proof setup.
|
* This file contains defines to configure the VeriFast proof setup.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Prevent inclusion of MacOS system headers which VeriFast cannot parse:
|
|
||||||
// #define _SYS__PTHREAD_TYPES_H_
|
|
||||||
// # 30 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c" 2
|
// # 30 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c" 2
|
||||||
|
|
||||||
int test_start = 0;
|
|
||||||
//#include "_pthread_types.h"
|
|
||||||
int test_end = 1;
|
|
||||||
|
|
||||||
/* Standard includes. */
|
/* Standard includes. */
|
||||||
// # 1 "/Users/reitobia/programs/verifast-21.04-83-gfae956f7/bin/stdlib.h" 1
|
// # 1 "/Users/reitobia/programs/verifast-21.04-83-gfae956f7/bin/stdlib.h" 1
|
||||||
|
|
@ -152,7 +143,7 @@ long long llabs(long long x);
|
||||||
//@ requires LLONG_MIN < x;
|
//@ requires LLONG_MIN < x;
|
||||||
//@ ensures result == abs(x);
|
//@ ensures result == abs(x);
|
||||||
//@ terminates;
|
//@ terminates;
|
||||||
// # 37 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c" 2
|
// # 34 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c" 2
|
||||||
// # 1 "/Users/reitobia/programs/verifast-21.04-83-gfae956f7/bin/string.h" 1
|
// # 1 "/Users/reitobia/programs/verifast-21.04-83-gfae956f7/bin/string.h" 1
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -221,7 +212,7 @@ void* memset(void *array, char value, size_t size);
|
||||||
char *strdup(char *string);
|
char *strdup(char *string);
|
||||||
//@ requires [?f]string(string, ?cs);
|
//@ requires [?f]string(string, ?cs);
|
||||||
//@ ensures [f]string(string, cs) &*& result == 0 ? true : string(result, cs) &*& malloc_block_chars(result, length(cs) + 1);
|
//@ ensures [f]string(string, cs) &*& result == 0 ? true : string(result, cs) &*& malloc_block_chars(result, length(cs) + 1);
|
||||||
// # 38 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c" 2
|
// # 35 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c" 2
|
||||||
|
|
||||||
/* Defining MPU_WRAPPERS_INCLUDED_FROM_API_FILE prevents task.h from redefining
|
/* Defining MPU_WRAPPERS_INCLUDED_FROM_API_FILE prevents task.h from redefining
|
||||||
* all the API functions to use the MPU wrappers. That should only be done when
|
* all the API functions to use the MPU wrappers. That should only be done when
|
||||||
|
|
@ -520,12 +511,6 @@ typedef unsigned __int128 uint128_t;
|
||||||
* This file contains defines to configure the VeriFast proof setup.
|
* This file contains defines to configure the VeriFast proof setup.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Prevent inclusion of MacOS system headers which VeriFast cannot parse:
|
|
||||||
// #define _SYS__PTHREAD_TYPES_H_
|
|
||||||
// # 80 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/proof_setup/sys/cdefs.h" 2 3 4
|
// # 80 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/proof_setup/sys/cdefs.h" 2 3 4
|
||||||
// # 90 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/proof_setup/sys/cdefs.h" 3 4
|
// # 90 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/proof_setup/sys/cdefs.h" 3 4
|
||||||
/* This SDK is designed to work with clang and specific versions of
|
/* This SDK is designed to work with clang and specific versions of
|
||||||
|
|
@ -984,7 +969,7 @@ typedef unsigned __int128 uint128_t;
|
||||||
* multiple times, with and without NDEBUG defined.
|
* multiple times, with and without NDEBUG defined.
|
||||||
*/
|
*/
|
||||||
// # 82 "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h" 3 4
|
// # 82 "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h" 3 4
|
||||||
void __assert_rtn(const char *, const char *, int, const char *) __attribute__((__noreturn__)) __attribute__((__cold__)) __attribute__((__disable_tail_calls__));
|
void __assert_rtn(const char *, const char *, int, const char *) ;
|
||||||
// # 92 "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h" 3 4
|
// # 92 "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h" 3 4
|
||||||
/* 8462256: modified __assert_rtn() replaces deprecated __eprintf() */
|
/* 8462256: modified __assert_rtn() replaces deprecated __eprintf() */
|
||||||
// # 116 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/proof_setup/FreeRTOSConfig.h" 2
|
// # 116 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/proof_setup/FreeRTOSConfig.h" 2
|
||||||
|
|
@ -1282,7 +1267,7 @@ typedef void (* TaskFunction_t)( void * );
|
||||||
* multiple times, with and without NDEBUG defined.
|
* multiple times, with and without NDEBUG defined.
|
||||||
*/
|
*/
|
||||||
// # 82 "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h" 3 4
|
// # 82 "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h" 3 4
|
||||||
void __assert_rtn(const char *, const char *, int, const char *) __attribute__((__noreturn__)) __attribute__((__cold__)) __attribute__((__disable_tail_calls__));
|
void __assert_rtn(const char *, const char *, int, const char *) ;
|
||||||
// # 92 "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h" 3 4
|
// # 92 "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h" 3 4
|
||||||
/* 8462256: modified __assert_rtn() replaces deprecated __eprintf() */
|
/* 8462256: modified __assert_rtn() replaces deprecated __eprintf() */
|
||||||
// # 19 "/Users/reitobia/programs/pico-sdk/src/common/pico_base/include/pico/assert.h" 2
|
// # 19 "/Users/reitobia/programs/pico-sdk/src/common/pico_base/include/pico/assert.h" 2
|
||||||
|
|
@ -3557,7 +3542,7 @@ inline __always_inline static void __compiler_memory_barrier(void) {
|
||||||
* \ingroup pico_platform
|
* \ingroup pico_platform
|
||||||
* \see panic
|
* \see panic
|
||||||
*/
|
*/
|
||||||
void __attribute__((noreturn)) panic_unsupported(void);
|
void panic_unsupported(void);
|
||||||
|
|
||||||
/*! \brief Displays a panic message and halts execution
|
/*! \brief Displays a panic message and halts execution
|
||||||
* \ingroup pico_platform
|
* \ingroup pico_platform
|
||||||
|
|
@ -3568,7 +3553,7 @@ void __attribute__((noreturn)) panic_unsupported(void);
|
||||||
* @param fmt format string (printf-like)
|
* @param fmt format string (printf-like)
|
||||||
* @param ... printf-like arguments
|
* @param ... printf-like arguments
|
||||||
*/
|
*/
|
||||||
void __attribute__((noreturn)) panic(const char *fmt, ...);
|
void panic(const char *fmt, ...);
|
||||||
|
|
||||||
// PICO_CONFIG: PICO_NO_FPGA_CHECK, Remove the FPGA platform check for small code size reduction, type=bool, default=0, advanced=true, group=pico_runtime
|
// PICO_CONFIG: PICO_NO_FPGA_CHECK, Remove the FPGA platform check for small code size reduction, type=bool, default=0, advanced=true, group=pico_runtime
|
||||||
|
|
||||||
|
|
@ -5025,7 +5010,7 @@ typedef StaticStreamBuffer_t StaticMessageBuffer_t;
|
||||||
|
|
||||||
|
|
||||||
/* *INDENT-ON* */
|
/* *INDENT-ON* */
|
||||||
// # 46 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c" 2
|
// # 43 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c" 2
|
||||||
// # 1 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/task.h" 1
|
// # 1 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/task.h" 1
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel V10.4.3
|
* FreeRTOS Kernel V10.4.3
|
||||||
|
|
@ -8361,7 +8346,7 @@ void vTaskRemoveFromUnorderedEventList( ListItem_t * pxEventListItem,
|
||||||
* Sets the pointer to the current TCB to the TCB of the highest priority task
|
* Sets the pointer to the current TCB to the TCB of the highest priority task
|
||||||
* that is ready to run.
|
* that is ready to run.
|
||||||
*/
|
*/
|
||||||
__attribute__( ( used ) ) void vTaskSwitchContext( BaseType_t xCoreID ) ;
|
void vTaskSwitchContext( BaseType_t xCoreID ) ;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* THESE FUNCTIONS MUST NOT BE USED FROM APPLICATION CODE. THEY ARE USED BY
|
* THESE FUNCTIONS MUST NOT BE USED FROM APPLICATION CODE. THEY ARE USED BY
|
||||||
|
|
@ -8475,7 +8460,7 @@ void vTaskYieldWithinAPI( void );
|
||||||
|
|
||||||
|
|
||||||
/* *INDENT-ON* */
|
/* *INDENT-ON* */
|
||||||
// # 47 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c" 2
|
// # 44 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c" 2
|
||||||
// # 1 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/timers.h" 1
|
// # 1 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/timers.h" 1
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel V10.4.3
|
* FreeRTOS Kernel V10.4.3
|
||||||
|
|
@ -9794,7 +9779,7 @@ BaseType_t xTimerGenericCommandFromISR( TimerHandle_t xTimer,
|
||||||
|
|
||||||
|
|
||||||
/* *INDENT-ON* */
|
/* *INDENT-ON* */
|
||||||
// # 48 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c" 2
|
// # 45 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c" 2
|
||||||
// # 1 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/stack_macros.h" 1
|
// # 1 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/stack_macros.h" 1
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel V10.4.3
|
* FreeRTOS Kernel V10.4.3
|
||||||
|
|
@ -9855,7 +9840,7 @@ BaseType_t xTimerGenericCommandFromISR( TimerHandle_t xTimer,
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
/* Remove stack overflow macro if not being used. */
|
/* Remove stack overflow macro if not being used. */
|
||||||
// # 49 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c" 2
|
// # 46 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c" 2
|
||||||
|
|
||||||
/* Lint e9021, e961 and e750 are suppressed as a MISRA exception justified
|
/* Lint e9021, e961 and e750 are suppressed as a MISRA exception justified
|
||||||
* because the MPU ports require MPU_WRAPPERS_INCLUDED_FROM_API_FILE to be defined
|
* because the MPU ports require MPU_WRAPPERS_INCLUDED_FROM_API_FILE to be defined
|
||||||
|
|
@ -9865,7 +9850,7 @@ BaseType_t xTimerGenericCommandFromISR( TimerHandle_t xTimer,
|
||||||
|
|
||||||
/* Set configUSE_STATS_FORMATTING_FUNCTIONS to 2 to include the stats formatting
|
/* Set configUSE_STATS_FORMATTING_FUNCTIONS to 2 to include the stats formatting
|
||||||
* functions but without including stdio.h here. */
|
* functions but without including stdio.h here. */
|
||||||
// # 76 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 73 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/* Values that can be assigned to the ucNotifyState member of the TCB. */
|
/* Values that can be assigned to the ucNotifyState member of the TCB. */
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -9922,18 +9907,18 @@ BaseType_t xTimerGenericCommandFromISR( TimerHandle_t xTimer,
|
||||||
|
|
||||||
/* uxTopReadyPriority holds the priority of the highest priority ready
|
/* uxTopReadyPriority holds the priority of the highest priority ready
|
||||||
* state task. */
|
* state task. */
|
||||||
// # 140 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 137 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
/* Define away taskRESET_READY_PRIORITY() and portRESET_READY_PRIORITY() as
|
/* Define away taskRESET_READY_PRIORITY() and portRESET_READY_PRIORITY() as
|
||||||
* they are only required when a port optimised method of task selection is
|
* they are only required when a port optimised method of task selection is
|
||||||
* being used. */
|
* being used. */
|
||||||
// # 174 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 171 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
/* pxDelayedTaskList and pxOverflowDelayedTaskList are switched when the tick
|
/* pxDelayedTaskList and pxOverflowDelayedTaskList are switched when the tick
|
||||||
* count overflows. */
|
* count overflows. */
|
||||||
// # 192 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 189 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -9988,7 +9973,7 @@ typedef BaseType_t TaskRunning_t;
|
||||||
typedef struct tskTaskControlBlock /* The old naming convention is used to prevent breaking kernel aware debuggers. */
|
typedef struct tskTaskControlBlock /* The old naming convention is used to prevent breaking kernel aware debuggers. */
|
||||||
{
|
{
|
||||||
volatile StackType_t * pxTopOfStack; /*< Points to the location of the last item placed on the tasks stack. THIS MUST BE THE FIRST MEMBER OF THE TCB STRUCT. */
|
volatile StackType_t * pxTopOfStack; /*< Points to the location of the last item placed on the tasks stack. THIS MUST BE THE FIRST MEMBER OF THE TCB STRUCT. */
|
||||||
// # 255 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 252 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
ListItem_t xStateListItem; /*< The list that the state list item of a task is reference from denotes the state of that task (Ready, Blocked, Suspended ). */
|
ListItem_t xStateListItem; /*< The list that the state list item of a task is reference from denotes the state of that task (Ready, Blocked, Suspended ). */
|
||||||
ListItem_t xEventListItem; /*< Used to reference a task from an event list. */
|
ListItem_t xEventListItem; /*< Used to reference a task from an event list. */
|
||||||
UBaseType_t uxPriority; /*< The priority of the task. 0 is the lowest priority. */
|
UBaseType_t uxPriority; /*< The priority of the task. 0 is the lowest priority. */
|
||||||
|
|
@ -9996,7 +9981,7 @@ typedef struct tskTaskControlBlock /* The old naming convention is used to preve
|
||||||
volatile TaskRunning_t xTaskRunState; /*< Used to identify the core the task is running on, if any. */
|
volatile TaskRunning_t xTaskRunState; /*< Used to identify the core the task is running on, if any. */
|
||||||
BaseType_t xIsIdle; /*< Used to identify the idle tasks. */
|
BaseType_t xIsIdle; /*< Used to identify the idle tasks. */
|
||||||
char pcTaskName[ 16 ]; /*< Descriptive name given to the task when created. Facilitates debugging only. */ /*lint !e971 Unqualified char types are allowed for strings and single characters only. */
|
char pcTaskName[ 16 ]; /*< Descriptive name given to the task when created. Facilitates debugging only. */ /*lint !e971 Unqualified char types are allowed for strings and single characters only. */
|
||||||
// # 272 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 269 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
UBaseType_t uxCriticalNesting; /*< Holds the critical section nesting depth for ports that do not maintain their own count in the port layer. */
|
UBaseType_t uxCriticalNesting; /*< Holds the critical section nesting depth for ports that do not maintain their own count in the port layer. */
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -10016,7 +10001,7 @@ typedef struct tskTaskControlBlock /* The old naming convention is used to preve
|
||||||
|
|
||||||
|
|
||||||
void * pvThreadLocalStoragePointers[ 5 ];
|
void * pvThreadLocalStoragePointers[ 5 ];
|
||||||
// # 312 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 309 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
volatile uint32_t ulNotifiedValue[ 1 ];
|
volatile uint32_t ulNotifiedValue[ 1 ];
|
||||||
volatile uint8_t ucNotifyState[ 1 ];
|
volatile uint8_t ucNotifyState[ 1 ];
|
||||||
|
|
||||||
|
|
@ -10107,7 +10092,7 @@ const volatile UBaseType_t uxTopUsedPriority = 32 - 1U;
|
||||||
* must not be done by an ISR. Reads must be protected by either lock and may be done by
|
* must not be done by an ISR. Reads must be protected by either lock and may be done by
|
||||||
* either an ISR or a task. */
|
* either an ISR or a task. */
|
||||||
static volatile UBaseType_t uxSchedulerSuspended = ( UBaseType_t ) ( ( BaseType_t ) 0 );
|
static volatile UBaseType_t uxSchedulerSuspended = ( UBaseType_t ) ( ( BaseType_t ) 0 );
|
||||||
// # 412 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 409 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*lint -restore */
|
/*lint -restore */
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
@ -10260,7 +10245,7 @@ static void prvAddCurrentTaskToDelayedList( TickType_t xTicksToWait,
|
||||||
* will exit the Blocked state.
|
* will exit the Blocked state.
|
||||||
*/
|
*/
|
||||||
static void prvResetNextTaskUnblockTime( void ) ;
|
static void prvResetNextTaskUnblockTime( void ) ;
|
||||||
// # 576 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 573 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*
|
/*
|
||||||
* Called after a Task_t structure has been allocated either statically or
|
* Called after a Task_t structure has been allocated either statically or
|
||||||
* dynamically to fill in the structure's members.
|
* dynamically to fill in the structure's members.
|
||||||
|
|
@ -10292,9 +10277,9 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB ) ;
|
||||||
|
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
// # 626 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 623 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
// # 709 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 706 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static void prvYieldCore( BaseType_t xCoreID )
|
static void prvYieldCore( BaseType_t xCoreID )
|
||||||
|
|
@ -10336,8 +10321,8 @@ static void prvYieldForTask( TCB_t * pxTCB,
|
||||||
|
|
||||||
/* THIS FUNCTION MUST BE CALLED FROM A CRITICAL SECTION */
|
/* THIS FUNCTION MUST BE CALLED FROM A CRITICAL SECTION */
|
||||||
|
|
||||||
(__builtin_expect(!(xTaskGetCurrentTaskHandle()->uxCriticalNesting > 0U), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 750, "xTaskGetCurrentTaskHandle()->uxCriticalNesting > 0U") : (void)0);
|
(__builtin_expect(!(xTaskGetCurrentTaskHandle()->uxCriticalNesting > 0U), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 747, "xTaskGetCurrentTaskHandle()->uxCriticalNesting > 0U") : (void)0);
|
||||||
// # 763 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 760 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
xLowestPriority = ( BaseType_t ) pxTCB->uxPriority;
|
xLowestPriority = ( BaseType_t ) pxTCB->uxPriority;
|
||||||
|
|
||||||
if( xPreemptEqualPriority == ( ( BaseType_t ) 0 ) )
|
if( xPreemptEqualPriority == ( ( BaseType_t ) 0 ) )
|
||||||
|
|
@ -10376,7 +10361,7 @@ static void prvYieldForTask( TCB_t * pxTCB,
|
||||||
{
|
{
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
// # 817 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 814 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -10389,7 +10374,7 @@ static void prvYieldForTask( TCB_t * pxTCB,
|
||||||
prvYieldCore( xLowestPriorityCore );
|
prvYieldCore( xLowestPriorityCore );
|
||||||
xYieldCount++;
|
xYieldCount++;
|
||||||
}
|
}
|
||||||
// # 837 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 834 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
|
@ -10400,10 +10385,10 @@ static void prvYieldForTask( TCB_t * pxTCB,
|
||||||
UBaseType_t uxCurrentPriority = uxTopReadyPriority;
|
UBaseType_t uxCurrentPriority = uxTopReadyPriority;
|
||||||
BaseType_t xTaskScheduled = ( ( BaseType_t ) 0 );
|
BaseType_t xTaskScheduled = ( ( BaseType_t ) 0 );
|
||||||
BaseType_t xDecrementTopPriority = ( ( BaseType_t ) 1 );
|
BaseType_t xDecrementTopPriority = ( ( BaseType_t ) 1 );
|
||||||
// # 855 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 852 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
while( xTaskScheduled == ( ( BaseType_t ) 0 ) )
|
while( xTaskScheduled == ( ( BaseType_t ) 0 ) )
|
||||||
{
|
{
|
||||||
// # 869 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 866 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
if( ( ( ( &( pxReadyTasksLists[ uxCurrentPriority ] ) )->uxNumberOfItems == ( UBaseType_t ) 0 ) ? ( ( BaseType_t ) 1 ) : ( ( BaseType_t ) 0 ) ) == ( ( BaseType_t ) 0 ) )
|
if( ( ( ( &( pxReadyTasksLists[ uxCurrentPriority ] ) )->uxNumberOfItems == ( UBaseType_t ) 0 ) ? ( ( BaseType_t ) 1 ) : ( ( BaseType_t ) 0 ) ) == ( ( BaseType_t ) 0 ) )
|
||||||
{
|
{
|
||||||
List_t * const pxReadyList = &( pxReadyTasksLists[ uxCurrentPriority ] );
|
List_t * const pxReadyList = &( pxReadyTasksLists[ uxCurrentPriority ] );
|
||||||
|
|
@ -10433,7 +10418,7 @@ static void prvYieldForTask( TCB_t * pxTCB,
|
||||||
pxTCB = pxTaskItem->pvOwner;
|
pxTCB = pxTaskItem->pvOwner;
|
||||||
|
|
||||||
/*debug_printf("Attempting to schedule %s on core %d\n", pxTCB->pcTaskName, portGET_CORE_ID() ); */
|
/*debug_printf("Attempting to schedule %s on core %d\n", pxTCB->pcTaskName, portGET_CORE_ID() ); */
|
||||||
// # 914 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 911 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
if( pxTCB->xTaskRunState == ( TaskRunning_t ) ( -1 ) )
|
if( pxTCB->xTaskRunState == ( TaskRunning_t ) ( -1 ) )
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
@ -10454,7 +10439,7 @@ static void prvYieldForTask( TCB_t * pxTCB,
|
||||||
}
|
}
|
||||||
else if( pxTCB == pxCurrentTCBs[ xCoreID ] )
|
else if( pxTCB == pxCurrentTCBs[ xCoreID ] )
|
||||||
{
|
{
|
||||||
(__builtin_expect(!(( pxTCB->xTaskRunState == xCoreID ) || ( pxTCB->xTaskRunState == ( TaskRunning_t ) ( -2 ) )), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 934, "( pxTCB->xTaskRunState == xCoreID ) || ( pxTCB->xTaskRunState == ( TaskRunning_t ) ( -2 ) )") : (void)0);
|
(__builtin_expect(!(( pxTCB->xTaskRunState == xCoreID ) || ( pxTCB->xTaskRunState == ( TaskRunning_t ) ( -2 ) )), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 931, "( pxTCB->xTaskRunState == xCoreID ) || ( pxTCB->xTaskRunState == ( TaskRunning_t ) ( -2 ) )") : (void)0);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -10498,21 +10483,21 @@ static void prvYieldForTask( TCB_t * pxTCB,
|
||||||
return ( ( BaseType_t ) 0 );
|
return ( ( BaseType_t ) 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
(__builtin_expect(!(( uxCurrentPriority > ( ( UBaseType_t ) 0U ) ) || ( xTaskScheduled == ( ( BaseType_t ) 1 ) )), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 978, "( uxCurrentPriority > ( ( UBaseType_t ) 0U ) ) || ( xTaskScheduled == ( ( BaseType_t ) 1 ) )") : (void)0);
|
(__builtin_expect(!(( uxCurrentPriority > ( ( UBaseType_t ) 0U ) ) || ( xTaskScheduled == ( ( BaseType_t ) 1 ) )), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 975, "( uxCurrentPriority > ( ( UBaseType_t ) 0U ) ) || ( xTaskScheduled == ( ( BaseType_t ) 1 ) )") : (void)0);
|
||||||
uxCurrentPriority--;
|
uxCurrentPriority--;
|
||||||
}
|
}
|
||||||
|
|
||||||
(__builtin_expect(!(( ( 0 <= pxCurrentTCBs[ xCoreID ]->xTaskRunState ) && ( pxCurrentTCBs[ xCoreID ]->xTaskRunState < 1 ) )), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 982, "( ( 0 <= pxCurrentTCBs[ xCoreID ]->xTaskRunState ) && ( pxCurrentTCBs[ xCoreID ]->xTaskRunState < 1 ) )") : (void)0);
|
(__builtin_expect(!(( ( 0 <= pxCurrentTCBs[ xCoreID ]->xTaskRunState ) && ( pxCurrentTCBs[ xCoreID ]->xTaskRunState < 1 ) )), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 979, "( ( 0 <= pxCurrentTCBs[ xCoreID ]->xTaskRunState ) && ( pxCurrentTCBs[ xCoreID ]->xTaskRunState < 1 ) )") : (void)0);
|
||||||
// # 1058 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 1055 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
return ( ( BaseType_t ) 1 );
|
return ( ( BaseType_t ) 1 );
|
||||||
}
|
}
|
||||||
// # 1074 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 1071 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
// # 1152 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 1149 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
// # 1215 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 1212 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
// # 1281 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 1278 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -10523,7 +10508,7 @@ static void prvYieldForTask( TCB_t * pxTCB,
|
||||||
void * const pvParameters,
|
void * const pvParameters,
|
||||||
UBaseType_t uxPriority,
|
UBaseType_t uxPriority,
|
||||||
TaskHandle_t * const pxCreatedTask )
|
TaskHandle_t * const pxCreatedTask )
|
||||||
// # 1304 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 1301 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
{
|
{
|
||||||
TCB_t * pxNewTCB;
|
TCB_t * pxNewTCB;
|
||||||
BaseType_t xReturn;
|
BaseType_t xReturn;
|
||||||
|
|
@ -10531,7 +10516,7 @@ static void prvYieldForTask( TCB_t * pxTCB,
|
||||||
/* If the stack grows down then allocate the stack then the TCB so the stack
|
/* If the stack grows down then allocate the stack then the TCB so the stack
|
||||||
* does not grow into the TCB. Likewise if the stack grows up then allocate
|
* does not grow into the TCB. Likewise if the stack grows up then allocate
|
||||||
* the TCB then the stack. */
|
* the TCB then the stack. */
|
||||||
// # 1334 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 1331 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
{
|
{
|
||||||
StackType_t * pxStack;
|
StackType_t * pxStack;
|
||||||
|
|
||||||
|
|
@ -10564,9 +10549,9 @@ static void prvYieldForTask( TCB_t * pxTCB,
|
||||||
|
|
||||||
if( pxNewTCB != 0 )
|
if( pxNewTCB != 0 )
|
||||||
{
|
{
|
||||||
// # 1374 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 1371 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
prvInitialiseNewTask( pxTaskCode, pcName, ( uint32_t ) usStackDepth, pvParameters, uxPriority, pxCreatedTask, pxNewTCB, 0 );
|
prvInitialiseNewTask( pxTaskCode, pcName, ( uint32_t ) usStackDepth, pvParameters, uxPriority, pxCreatedTask, pxNewTCB, 0 );
|
||||||
// # 1383 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 1380 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
prvAddNewTaskToReadyList( pxNewTCB );
|
prvAddNewTaskToReadyList( pxNewTCB );
|
||||||
xReturn = ( ( ( BaseType_t ) 1 ) );
|
xReturn = ( ( ( BaseType_t ) 1 ) );
|
||||||
}
|
}
|
||||||
|
|
@ -10592,7 +10577,7 @@ static void prvInitialiseNewTask( TaskFunction_t pxTaskCode,
|
||||||
{
|
{
|
||||||
StackType_t * pxTopOfStack;
|
StackType_t * pxTopOfStack;
|
||||||
UBaseType_t x;
|
UBaseType_t x;
|
||||||
// # 1424 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 1421 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/* Avoid dependency on memset() if it is not required. */
|
/* Avoid dependency on memset() if it is not required. */
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
@ -10611,10 +10596,10 @@ static void prvInitialiseNewTask( TaskFunction_t pxTaskCode,
|
||||||
pxTopOfStack = ( StackType_t * ) ( ( ( uint32_t ) pxTopOfStack ) & ( ~( ( uint32_t ) ( 0x0007 ) ) ) ); /*lint !e923 !e9033 !e9078 MISRA exception. Avoiding casts between pointers and integers is not practical. Size differences accounted for using portPOINTER_SIZE_TYPE type. Checked by assert(). */
|
pxTopOfStack = ( StackType_t * ) ( ( ( uint32_t ) pxTopOfStack ) & ( ~( ( uint32_t ) ( 0x0007 ) ) ) ); /*lint !e923 !e9033 !e9078 MISRA exception. Avoiding casts between pointers and integers is not practical. Size differences accounted for using portPOINTER_SIZE_TYPE type. Checked by assert(). */
|
||||||
|
|
||||||
/* Check the alignment of the calculated top of stack is correct. */
|
/* Check the alignment of the calculated top of stack is correct. */
|
||||||
(__builtin_expect(!(( ( ( uint32_t ) pxTopOfStack & ( uint32_t ) ( 0x0007 ) ) == 0UL )), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 1442, "( ( ( uint32_t ) pxTopOfStack & ( uint32_t ) ( 0x0007 ) ) == 0UL )") : (void)0);
|
(__builtin_expect(!(( ( ( uint32_t ) pxTopOfStack & ( uint32_t ) ( 0x0007 ) ) == 0UL )), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 1439, "( ( ( uint32_t ) pxTopOfStack & ( uint32_t ) ( 0x0007 ) ) == 0UL )") : (void)0);
|
||||||
// # 1451 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 1448 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
}
|
}
|
||||||
// # 1465 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 1462 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/* Store the task name in the TCB. */
|
/* Store the task name in the TCB. */
|
||||||
if( pcName != 0 )
|
if( pcName != 0 )
|
||||||
{
|
{
|
||||||
|
|
@ -10680,7 +10665,7 @@ static void prvInitialiseNewTask( TaskFunction_t pxTaskCode,
|
||||||
{
|
{
|
||||||
pxNewTCB->uxCriticalNesting = ( UBaseType_t ) 0U;
|
pxNewTCB->uxCriticalNesting = ( UBaseType_t ) 0U;
|
||||||
}
|
}
|
||||||
// # 1549 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 1546 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
{
|
{
|
||||||
/* Avoid compiler warning about unreferenced parameter. */
|
/* Avoid compiler warning about unreferenced parameter. */
|
||||||
( void ) xRegions;
|
( void ) xRegions;
|
||||||
|
|
@ -10698,21 +10683,21 @@ static void prvInitialiseNewTask( TaskFunction_t pxTaskCode,
|
||||||
memset( ( void * ) &( pxNewTCB->ulNotifiedValue[ 0 ] ), 0x00, sizeof( pxNewTCB->ulNotifiedValue ) );
|
memset( ( void * ) &( pxNewTCB->ulNotifiedValue[ 0 ] ), 0x00, sizeof( pxNewTCB->ulNotifiedValue ) );
|
||||||
memset( ( void * ) &( pxNewTCB->ucNotifyState[ 0 ] ), 0x00, sizeof( pxNewTCB->ucNotifyState ) );
|
memset( ( void * ) &( pxNewTCB->ucNotifyState[ 0 ] ), 0x00, sizeof( pxNewTCB->ucNotifyState ) );
|
||||||
}
|
}
|
||||||
// # 1578 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 1575 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
{
|
{
|
||||||
pxNewTCB->ucDelayAborted = ( ( BaseType_t ) 0 );
|
pxNewTCB->ucDelayAborted = ( ( BaseType_t ) 0 );
|
||||||
}
|
}
|
||||||
// # 1596 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 1593 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/* Initialize the TCB stack to look as if the task was already running,
|
/* Initialize the TCB stack to look as if the task was already running,
|
||||||
* but had been interrupted by the scheduler. The return address is set
|
* but had been interrupted by the scheduler. The return address is set
|
||||||
* to the start of the task function. Once the stack has been initialised
|
* to the start of the task function. Once the stack has been initialised
|
||||||
* the top of stack variable is updated. */
|
* the top of stack variable is updated. */
|
||||||
// # 1624 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 1621 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
{
|
{
|
||||||
/* If the port has capability to detect stack overflow,
|
/* If the port has capability to detect stack overflow,
|
||||||
* pass the stack end address to the stack initialization
|
* pass the stack end address to the stack initialization
|
||||||
* function as well. */
|
* function as well. */
|
||||||
// # 1641 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 1638 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
{
|
{
|
||||||
pxNewTCB->pxTopOfStack = pxPortInitialiseStack( pxTopOfStack, pxTaskCode, pvParameters );
|
pxNewTCB->pxTopOfStack = pxPortInitialiseStack( pxTopOfStack, pxTaskCode, pvParameters );
|
||||||
}
|
}
|
||||||
|
|
@ -10917,7 +10902,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB )
|
||||||
|
|
||||||
if( xTaskRunningOnCore == xCoreID )
|
if( xTaskRunningOnCore == xCoreID )
|
||||||
{
|
{
|
||||||
(__builtin_expect(!(uxSchedulerSuspended == 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 1845, "uxSchedulerSuspended == 0") : (void)0);
|
(__builtin_expect(!(uxSchedulerSuspended == 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 1842, "uxSchedulerSuspended == 0") : (void)0);
|
||||||
vTaskYieldWithinAPI();
|
vTaskYieldWithinAPI();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -10940,12 +10925,12 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB )
|
||||||
TickType_t xTimeToWake;
|
TickType_t xTimeToWake;
|
||||||
BaseType_t xAlreadyYielded, xShouldDelay = ( ( BaseType_t ) 0 );
|
BaseType_t xAlreadyYielded, xShouldDelay = ( ( BaseType_t ) 0 );
|
||||||
|
|
||||||
(__builtin_expect(!(pxPreviousWakeTime), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 1868, "pxPreviousWakeTime") : (void)0);
|
(__builtin_expect(!(pxPreviousWakeTime), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 1865, "pxPreviousWakeTime") : (void)0);
|
||||||
(__builtin_expect(!(( xTimeIncrement > 0U )), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 1869, "( xTimeIncrement > 0U )") : (void)0);
|
(__builtin_expect(!(( xTimeIncrement > 0U )), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 1866, "( xTimeIncrement > 0U )") : (void)0);
|
||||||
|
|
||||||
vTaskSuspendAll();
|
vTaskSuspendAll();
|
||||||
{
|
{
|
||||||
(__builtin_expect(!(uxSchedulerSuspended == 1), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 1873, "uxSchedulerSuspended == 1") : (void)0);
|
(__builtin_expect(!(uxSchedulerSuspended == 1), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 1870, "uxSchedulerSuspended == 1") : (void)0);
|
||||||
|
|
||||||
/* Minor optimisation. The tick count cannot change in this
|
/* Minor optimisation. The tick count cannot change in this
|
||||||
* block. */
|
* block. */
|
||||||
|
|
@ -11031,7 +11016,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB )
|
||||||
{
|
{
|
||||||
vTaskSuspendAll();
|
vTaskSuspendAll();
|
||||||
{
|
{
|
||||||
(__builtin_expect(!(uxSchedulerSuspended == 1), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 1959, "uxSchedulerSuspended == 1") : (void)0);
|
(__builtin_expect(!(uxSchedulerSuspended == 1), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 1956, "uxSchedulerSuspended == 1") : (void)0);
|
||||||
;
|
;
|
||||||
|
|
||||||
/* A task that is removed from the event list while the
|
/* A task that is removed from the event list while the
|
||||||
|
|
@ -11073,7 +11058,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB )
|
||||||
List_t const * pxStateList, * pxDelayedList, * pxOverflowedDelayedList;
|
List_t const * pxStateList, * pxDelayedList, * pxOverflowedDelayedList;
|
||||||
const TCB_t * const pxTCB = xTask;
|
const TCB_t * const pxTCB = xTask;
|
||||||
|
|
||||||
(__builtin_expect(!(pxTCB), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 2001, "pxTCB") : (void)0);
|
(__builtin_expect(!(pxTCB), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 1998, "pxTCB") : (void)0);
|
||||||
|
|
||||||
vTaskEnterCritical();
|
vTaskEnterCritical();
|
||||||
{
|
{
|
||||||
|
|
@ -11235,7 +11220,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB )
|
||||||
BaseType_t xYieldForTask = ( ( BaseType_t ) 0 );
|
BaseType_t xYieldForTask = ( ( BaseType_t ) 0 );
|
||||||
BaseType_t xCoreID;
|
BaseType_t xCoreID;
|
||||||
|
|
||||||
(__builtin_expect(!(( uxNewPriority < 32 )), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 2163, "( uxNewPriority < 32 )") : (void)0);
|
(__builtin_expect(!(( uxNewPriority < 32 )), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 2160, "( uxNewPriority < 32 )") : (void)0);
|
||||||
|
|
||||||
/* Ensure the new priority is valid. */
|
/* Ensure the new priority is valid. */
|
||||||
if( uxNewPriority >= ( UBaseType_t ) 32 )
|
if( uxNewPriority >= ( UBaseType_t ) 32 )
|
||||||
|
|
@ -11389,13 +11374,13 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB )
|
||||||
|
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
// # 2351 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 2348 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
// # 2374 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 2371 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
// # 2392 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 2389 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
// # 2420 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 2417 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -11472,7 +11457,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB )
|
||||||
if( xTaskRunningOnCore == 0 )
|
if( xTaskRunningOnCore == 0 )
|
||||||
{
|
{
|
||||||
/* The current task has just been suspended. */
|
/* The current task has just been suspended. */
|
||||||
(__builtin_expect(!(uxSchedulerSuspended == 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 2496, "uxSchedulerSuspended == 0") : (void)0);
|
(__builtin_expect(!(uxSchedulerSuspended == 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 2493, "uxSchedulerSuspended == 0") : (void)0);
|
||||||
vTaskYieldWithinAPI();
|
vTaskYieldWithinAPI();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -11486,7 +11471,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB )
|
||||||
{
|
{
|
||||||
vTaskExitCritical();
|
vTaskExitCritical();
|
||||||
|
|
||||||
(__builtin_expect(!(pxTCB == pxCurrentTCBs[ xTaskRunningOnCore ]), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 2510, "pxTCB == pxCurrentTCBs[ xTaskRunningOnCore ]") : (void)0);
|
(__builtin_expect(!(pxTCB == pxCurrentTCBs[ xTaskRunningOnCore ]), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 2507, "pxTCB == pxCurrentTCBs[ xTaskRunningOnCore ]") : (void)0);
|
||||||
|
|
||||||
/* The scheduler is not running, but the task that was pointed
|
/* The scheduler is not running, but the task that was pointed
|
||||||
* to by pxCurrentTCB has just been suspended and pxCurrentTCB
|
* to by pxCurrentTCB has just been suspended and pxCurrentTCB
|
||||||
|
|
@ -11533,7 +11518,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB )
|
||||||
/* Accesses xPendingReadyList so must be called from a critical section. */
|
/* Accesses xPendingReadyList so must be called from a critical section. */
|
||||||
|
|
||||||
/* It does not make sense to check if the calling task is suspended. */
|
/* It does not make sense to check if the calling task is suspended. */
|
||||||
(__builtin_expect(!(xTask), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 2557, "xTask") : (void)0);
|
(__builtin_expect(!(xTask), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 2554, "xTask") : (void)0);
|
||||||
|
|
||||||
/* Is the task being resumed actually in the suspended list? */
|
/* Is the task being resumed actually in the suspended list? */
|
||||||
if( ( ( ( &( pxTCB->xStateListItem ) )->pxContainer == ( &xSuspendedTaskList ) ) ? ( ( ( BaseType_t ) 1 ) ) : ( ( ( BaseType_t ) 0 ) ) ) != ( ( BaseType_t ) 0 ) )
|
if( ( ( ( &( pxTCB->xStateListItem ) )->pxContainer == ( &xSuspendedTaskList ) ) ? ( ( ( BaseType_t ) 1 ) ) : ( ( ( BaseType_t ) 0 ) ) ) != ( ( BaseType_t ) 0 ) )
|
||||||
|
|
@ -11575,7 +11560,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB )
|
||||||
TCB_t * const pxTCB = xTaskToResume;
|
TCB_t * const pxTCB = xTaskToResume;
|
||||||
|
|
||||||
/* It does not make sense to resume the calling task. */
|
/* It does not make sense to resume the calling task. */
|
||||||
(__builtin_expect(!(xTaskToResume), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 2599, "xTaskToResume") : (void)0);
|
(__builtin_expect(!(xTaskToResume), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 2596, "xTaskToResume") : (void)0);
|
||||||
|
|
||||||
/* The parameter cannot be NULL as it is impossible to resume the
|
/* The parameter cannot be NULL as it is impossible to resume the
|
||||||
* currently executing task. It is also impossible to resume a task
|
* currently executing task. It is also impossible to resume a task
|
||||||
|
|
@ -11627,7 +11612,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB )
|
||||||
TCB_t * const pxTCB = xTaskToResume;
|
TCB_t * const pxTCB = xTaskToResume;
|
||||||
UBaseType_t uxSavedInterruptStatus;
|
UBaseType_t uxSavedInterruptStatus;
|
||||||
|
|
||||||
(__builtin_expect(!(xTaskToResume), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 2651, "xTaskToResume") : (void)0);
|
(__builtin_expect(!(xTaskToResume), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 2648, "xTaskToResume") : (void)0);
|
||||||
|
|
||||||
/* RTOS ports that support interrupt nesting have the concept of a
|
/* RTOS ports that support interrupt nesting have the concept of a
|
||||||
* maximum system call (or maximum API call) interrupt priority.
|
* maximum system call (or maximum API call) interrupt priority.
|
||||||
|
|
@ -11748,7 +11733,7 @@ static BaseType_t prvCreateIdleTasks( void )
|
||||||
{
|
{
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
// # 2819 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 2816 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
{
|
{
|
||||||
if( xCoreID == 0 )
|
if( xCoreID == 0 )
|
||||||
{
|
{
|
||||||
|
|
@ -11760,7 +11745,7 @@ static BaseType_t prvCreateIdleTasks( void )
|
||||||
( ( UBaseType_t ) 0x00 ), /* In effect ( tskIDLE_PRIORITY | portPRIVILEGE_BIT ), but tskIDLE_PRIORITY is zero. */
|
( ( UBaseType_t ) 0x00 ), /* In effect ( tskIDLE_PRIORITY | portPRIVILEGE_BIT ), but tskIDLE_PRIORITY is zero. */
|
||||||
&xIdleTaskHandle[ xCoreID ] ); /*lint !e961 MISRA exception, justified as it is not a redundant explicit cast to all supported compilers. */
|
&xIdleTaskHandle[ xCoreID ] ); /*lint !e961 MISRA exception, justified as it is not a redundant explicit cast to all supported compilers. */
|
||||||
}
|
}
|
||||||
// # 2842 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 2839 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -11797,7 +11782,7 @@ void vTaskStartScheduler( void )
|
||||||
* so interrupts will automatically get re-enabled when the first task
|
* so interrupts will automatically get re-enabled when the first task
|
||||||
* starts to run. */
|
* starts to run. */
|
||||||
({ uint32_t ulState; __asm volatile ("mrs %0, PRIMASK" : "=r" (ulState)::); __asm volatile ( " cpsid i " ::: "memory" ); ulState;});
|
({ uint32_t ulState; __asm volatile ("mrs %0, PRIMASK" : "=r" (ulState)::); __asm volatile ( " cpsid i " ::: "memory" ); ulState;});
|
||||||
// # 2892 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 2889 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
xNextTaskUnblockTime = ( TickType_t ) 0xffffffffUL;
|
xNextTaskUnblockTime = ( TickType_t ) 0xffffffffUL;
|
||||||
xSchedulerRunning = ( ( BaseType_t ) 1 );
|
xSchedulerRunning = ( ( BaseType_t ) 1 );
|
||||||
xTickCount = ( TickType_t ) 0;
|
xTickCount = ( TickType_t ) 0;
|
||||||
|
|
@ -11829,7 +11814,7 @@ void vTaskStartScheduler( void )
|
||||||
/* This line will only be reached if the kernel could not be started,
|
/* This line will only be reached if the kernel could not be started,
|
||||||
* because there was not enough FreeRTOS heap to create the idle task
|
* because there was not enough FreeRTOS heap to create the idle task
|
||||||
* or the timer task. */
|
* or the timer task. */
|
||||||
(__builtin_expect(!(xReturn != ( -1 )), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 2923, "xReturn != ( -1 )") : (void)0);
|
(__builtin_expect(!(xReturn != ( -1 )), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 2920, "xReturn != ( -1 )") : (void)0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Prevent compiler warnings if INCLUDE_xTaskGetIdleTaskHandle is set to 0,
|
/* Prevent compiler warnings if INCLUDE_xTaskGetIdleTaskHandle is set to 0,
|
||||||
|
|
@ -11894,7 +11879,7 @@ void vTaskSuspendAll( void )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*----------------------------------------------------------*/
|
/*----------------------------------------------------------*/
|
||||||
// # 3050 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 3047 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*----------------------------------------------------------*/
|
/*----------------------------------------------------------*/
|
||||||
|
|
||||||
BaseType_t xTaskResumeAll( void )
|
BaseType_t xTaskResumeAll( void )
|
||||||
|
|
@ -11917,7 +11902,7 @@ BaseType_t xTaskResumeAll( void )
|
||||||
|
|
||||||
/* If uxSchedulerSuspended is zero then this function does not match a
|
/* If uxSchedulerSuspended is zero then this function does not match a
|
||||||
* previous call to vTaskSuspendAll(). */
|
* previous call to vTaskSuspendAll(). */
|
||||||
(__builtin_expect(!(uxSchedulerSuspended), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 3072, "uxSchedulerSuspended") : (void)0);
|
(__builtin_expect(!(uxSchedulerSuspended), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 3069, "uxSchedulerSuspended") : (void)0);
|
||||||
|
|
||||||
--uxSchedulerSuspended;
|
--uxSchedulerSuspended;
|
||||||
vPortRecursiveLock(1, spin_lock_instance(15), ( ( BaseType_t ) 0 ));
|
vPortRecursiveLock(1, spin_lock_instance(15), ( ( BaseType_t ) 0 ));
|
||||||
|
|
@ -12075,7 +12060,7 @@ char * pcTaskGetName( TaskHandle_t xTaskToQuery ) /*lint !e971 Unqualified char
|
||||||
/* If null is passed in here then the name of the calling task is being
|
/* If null is passed in here then the name of the calling task is being
|
||||||
* queried. */
|
* queried. */
|
||||||
pxTCB = ( ( ( xTaskToQuery ) == 0 ) ? xTaskGetCurrentTaskHandle() : ( xTaskToQuery ) );
|
pxTCB = ( ( ( xTaskToQuery ) == 0 ) ? xTaskGetCurrentTaskHandle() : ( xTaskToQuery ) );
|
||||||
(__builtin_expect(!(pxTCB), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 3230, "pxTCB") : (void)0);
|
(__builtin_expect(!(pxTCB), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 3227, "pxTCB") : (void)0);
|
||||||
return &( pxTCB->pcTaskName[ 0 ] );
|
return &( pxTCB->pcTaskName[ 0 ] );
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
@ -12157,7 +12142,7 @@ char * pcTaskGetName( TaskHandle_t xTaskToQuery ) /*lint !e971 Unqualified char
|
||||||
TCB_t * pxTCB;
|
TCB_t * pxTCB;
|
||||||
|
|
||||||
/* Task names will be truncated to configMAX_TASK_NAME_LEN - 1 bytes. */
|
/* Task names will be truncated to configMAX_TASK_NAME_LEN - 1 bytes. */
|
||||||
(__builtin_expect(!(strlen( pcNameToQuery ) < 16), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 3312, "strlen( pcNameToQuery ) < 16") : (void)0);
|
(__builtin_expect(!(strlen( pcNameToQuery ) < 16), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 3309, "strlen( pcNameToQuery ) < 16") : (void)0);
|
||||||
|
|
||||||
vTaskSuspendAll();
|
vTaskSuspendAll();
|
||||||
{
|
{
|
||||||
|
|
@ -12253,7 +12238,7 @@ char * pcTaskGetName( TaskHandle_t xTaskToQuery ) /*lint !e971 Unqualified char
|
||||||
* each task in the Suspended state. */
|
* each task in the Suspended state. */
|
||||||
uxTask += prvListTasksWithinSingleList( &( pxTaskStatusArray[ uxTask ] ), &xSuspendedTaskList, eSuspended );
|
uxTask += prvListTasksWithinSingleList( &( pxTaskStatusArray[ uxTask ] ), &xSuspendedTaskList, eSuspended );
|
||||||
}
|
}
|
||||||
// # 3422 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 3419 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
{
|
{
|
||||||
if( pulTotalRunTime != 0 )
|
if( pulTotalRunTime != 0 )
|
||||||
{
|
{
|
||||||
|
|
@ -12281,7 +12266,7 @@ char * pcTaskGetName( TaskHandle_t xTaskToQuery ) /*lint !e971 Unqualified char
|
||||||
{
|
{
|
||||||
/* If xTaskGetIdleTaskHandle() is called before the scheduler has been
|
/* If xTaskGetIdleTaskHandle() is called before the scheduler has been
|
||||||
* started, then xIdleTaskHandle will be NULL. */
|
* started, then xIdleTaskHandle will be NULL. */
|
||||||
(__builtin_expect(!(( xIdleTaskHandle != 0 )), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 3449, "( xIdleTaskHandle != 0 )") : (void)0);
|
(__builtin_expect(!(( xIdleTaskHandle != 0 )), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 3446, "( xIdleTaskHandle != 0 )") : (void)0);
|
||||||
return &( xIdleTaskHandle[ 0 ] );
|
return &( xIdleTaskHandle[ 0 ] );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -12292,7 +12277,7 @@ char * pcTaskGetName( TaskHandle_t xTaskToQuery ) /*lint !e971 Unqualified char
|
||||||
* This is to ensure vTaskStepTick() is available when user defined low power mode
|
* This is to ensure vTaskStepTick() is available when user defined low power mode
|
||||||
* implementations require configUSE_TICKLESS_IDLE to be set to a value other than
|
* implementations require configUSE_TICKLESS_IDLE to be set to a value other than
|
||||||
* 1. */
|
* 1. */
|
||||||
// # 3473 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 3470 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*----------------------------------------------------------*/
|
/*----------------------------------------------------------*/
|
||||||
|
|
||||||
BaseType_t xTaskCatchUpTicks( TickType_t xTicksToCatchUp )
|
BaseType_t xTaskCatchUpTicks( TickType_t xTicksToCatchUp )
|
||||||
|
|
@ -12301,7 +12286,7 @@ BaseType_t xTaskCatchUpTicks( TickType_t xTicksToCatchUp )
|
||||||
|
|
||||||
/* Must not be called with the scheduler suspended as the implementation
|
/* Must not be called with the scheduler suspended as the implementation
|
||||||
* relies on xPendedTicks being wound down to 0 in xTaskResumeAll(). */
|
* relies on xPendedTicks being wound down to 0 in xTaskResumeAll(). */
|
||||||
(__builtin_expect(!(uxSchedulerSuspended == 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 3481, "uxSchedulerSuspended == 0") : (void)0);
|
(__builtin_expect(!(uxSchedulerSuspended == 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 3478, "uxSchedulerSuspended == 0") : (void)0);
|
||||||
|
|
||||||
/* Use xPendedTicks to mimic xTicksToCatchUp number of ticks occurring when
|
/* Use xPendedTicks to mimic xTicksToCatchUp number of ticks occurring when
|
||||||
* the scheduler is suspended so the ticks are executed in xTaskResumeAll(). */
|
* the scheduler is suspended so the ticks are executed in xTaskResumeAll(). */
|
||||||
|
|
@ -12320,7 +12305,7 @@ BaseType_t xTaskCatchUpTicks( TickType_t xTicksToCatchUp )
|
||||||
TCB_t * pxTCB = xTask;
|
TCB_t * pxTCB = xTask;
|
||||||
BaseType_t xReturn;
|
BaseType_t xReturn;
|
||||||
|
|
||||||
(__builtin_expect(!(pxTCB), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 3500, "pxTCB") : (void)0);
|
(__builtin_expect(!(pxTCB), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 3497, "pxTCB") : (void)0);
|
||||||
|
|
||||||
vTaskSuspendAll();
|
vTaskSuspendAll();
|
||||||
{
|
{
|
||||||
|
|
@ -12419,7 +12404,7 @@ BaseType_t xTaskIncrementTick( void )
|
||||||
|
|
||||||
if( xConstTickCount == ( TickType_t ) 0U ) /*lint !e774 'if' does not always evaluate to false as it is looking for an overflow. */
|
if( xConstTickCount == ( TickType_t ) 0U ) /*lint !e774 'if' does not always evaluate to false as it is looking for an overflow. */
|
||||||
{
|
{
|
||||||
{ List_t * pxTemp; (__builtin_expect(!(( ( ( ( pxDelayedTaskList )->uxNumberOfItems == ( UBaseType_t ) 0 ) ? ( ( BaseType_t ) 1 ) : ( ( BaseType_t ) 0 ) ) )), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 3599, "( ( ( ( pxDelayedTaskList )->uxNumberOfItems == ( UBaseType_t ) 0 ) ? ( ( BaseType_t ) 1 ) : ( ( BaseType_t ) 0 ) ) )") : (void)0); pxTemp = pxDelayedTaskList; pxDelayedTaskList = pxOverflowDelayedTaskList; pxOverflowDelayedTaskList = pxTemp; xNumOfOverflows++; prvResetNextTaskUnblockTime(); };
|
{ List_t * pxTemp; (__builtin_expect(!(( ( ( ( pxDelayedTaskList )->uxNumberOfItems == ( UBaseType_t ) 0 ) ? ( ( BaseType_t ) 1 ) : ( ( BaseType_t ) 0 ) ) )), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 3596, "( ( ( ( pxDelayedTaskList )->uxNumberOfItems == ( UBaseType_t ) 0 ) ? ( ( BaseType_t ) 1 ) : ( ( BaseType_t ) 0 ) ) )") : (void)0); pxTemp = pxDelayedTaskList; pxDelayedTaskList = pxOverflowDelayedTaskList; pxOverflowDelayedTaskList = pxTemp; xNumOfOverflows++; prvResetNextTaskUnblockTime(); };
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -12602,13 +12587,13 @@ BaseType_t xTaskIncrementTick( void )
|
||||||
return xSwitchRequired;
|
return xSwitchRequired;
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
// # 3811 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 3808 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
// # 3835 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 3832 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
// # 3860 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 3857 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
// # 3893 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 3890 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
void vTaskSwitchContext( BaseType_t xCoreID )
|
void vTaskSwitchContext( BaseType_t xCoreID )
|
||||||
|
|
@ -12626,7 +12611,7 @@ void vTaskSwitchContext( BaseType_t xCoreID )
|
||||||
{
|
{
|
||||||
/* vTaskSwitchContext() must never be called from within a critical section.
|
/* vTaskSwitchContext() must never be called from within a critical section.
|
||||||
* This is not necessarily true for vanilla FreeRTOS, but it is for this SMP port. */
|
* This is not necessarily true for vanilla FreeRTOS, but it is for this SMP port. */
|
||||||
(__builtin_expect(!(xTaskGetCurrentTaskHandle()->uxCriticalNesting == 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 3910, "xTaskGetCurrentTaskHandle()->uxCriticalNesting == 0") : (void)0);
|
(__builtin_expect(!(xTaskGetCurrentTaskHandle()->uxCriticalNesting == 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 3907, "xTaskGetCurrentTaskHandle()->uxCriticalNesting == 0") : (void)0);
|
||||||
|
|
||||||
if( uxSchedulerSuspended != ( UBaseType_t ) ( ( BaseType_t ) 0 ) )
|
if( uxSchedulerSuspended != ( UBaseType_t ) ( ( BaseType_t ) 0 ) )
|
||||||
{
|
{
|
||||||
|
|
@ -12638,7 +12623,7 @@ void vTaskSwitchContext( BaseType_t xCoreID )
|
||||||
{
|
{
|
||||||
xYieldPendings[ xCoreID ] = ( ( BaseType_t ) 0 );
|
xYieldPendings[ xCoreID ] = ( ( BaseType_t ) 0 );
|
||||||
;
|
;
|
||||||
// # 3951 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 3948 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/* Check for stack overflow, if configured. */
|
/* Check for stack overflow, if configured. */
|
||||||
{ const uint32_t * const pulStack = ( uint32_t * ) xTaskGetCurrentTaskHandle()->pxStack; const uint32_t ulCheckValue = ( uint32_t ) 0xa5a5a5a5; if( ( pulStack[ 0 ] != ulCheckValue ) || ( pulStack[ 1 ] != ulCheckValue ) || ( pulStack[ 2 ] != ulCheckValue ) || ( pulStack[ 3 ] != ulCheckValue ) ) { vApplicationStackOverflowHook( ( TaskHandle_t ) xTaskGetCurrentTaskHandle(), xTaskGetCurrentTaskHandle()->pcTaskName ); } };
|
{ const uint32_t * const pulStack = ( uint32_t * ) xTaskGetCurrentTaskHandle()->pxStack; const uint32_t ulCheckValue = ( uint32_t ) 0xa5a5a5a5; if( ( pulStack[ 0 ] != ulCheckValue ) || ( pulStack[ 1 ] != ulCheckValue ) || ( pulStack[ 2 ] != ulCheckValue ) || ( pulStack[ 3 ] != ulCheckValue ) ) { vApplicationStackOverflowHook( ( TaskHandle_t ) xTaskGetCurrentTaskHandle(), xTaskGetCurrentTaskHandle()->pcTaskName ); } };
|
||||||
|
|
||||||
|
|
@ -12655,7 +12640,7 @@ void vTaskSwitchContext( BaseType_t xCoreID )
|
||||||
;
|
;
|
||||||
|
|
||||||
/* After the new task is switched in, update the global errno. */
|
/* After the new task is switched in, update the global errno. */
|
||||||
// # 3985 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 3982 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
vPortRecursiveLock(0, spin_lock_instance(14), ( ( BaseType_t ) 0 ));
|
vPortRecursiveLock(0, spin_lock_instance(14), ( ( BaseType_t ) 0 ));
|
||||||
|
|
@ -12666,7 +12651,7 @@ void vTaskSwitchContext( BaseType_t xCoreID )
|
||||||
void vTaskPlaceOnEventList( List_t * const pxEventList,
|
void vTaskPlaceOnEventList( List_t * const pxEventList,
|
||||||
const TickType_t xTicksToWait )
|
const TickType_t xTicksToWait )
|
||||||
{
|
{
|
||||||
(__builtin_expect(!(pxEventList), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 3995, "pxEventList") : (void)0);
|
(__builtin_expect(!(pxEventList), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 3992, "pxEventList") : (void)0);
|
||||||
|
|
||||||
/* THIS FUNCTION MUST BE CALLED WITH EITHER INTERRUPTS DISABLED OR THE
|
/* THIS FUNCTION MUST BE CALLED WITH EITHER INTERRUPTS DISABLED OR THE
|
||||||
* SCHEDULER SUSPENDED AND THE QUEUE BEING ACCESSED LOCKED. */
|
* SCHEDULER SUSPENDED AND THE QUEUE BEING ACCESSED LOCKED. */
|
||||||
|
|
@ -12685,11 +12670,11 @@ void vTaskPlaceOnUnorderedEventList( List_t * pxEventList,
|
||||||
const TickType_t xItemValue,
|
const TickType_t xItemValue,
|
||||||
const TickType_t xTicksToWait )
|
const TickType_t xTicksToWait )
|
||||||
{
|
{
|
||||||
(__builtin_expect(!(pxEventList), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4014, "pxEventList") : (void)0);
|
(__builtin_expect(!(pxEventList), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4011, "pxEventList") : (void)0);
|
||||||
|
|
||||||
/* THIS FUNCTION MUST BE CALLED WITH THE SCHEDULER SUSPENDED. It is used by
|
/* THIS FUNCTION MUST BE CALLED WITH THE SCHEDULER SUSPENDED. It is used by
|
||||||
* the event groups implementation. */
|
* the event groups implementation. */
|
||||||
(__builtin_expect(!(uxSchedulerSuspended != 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4018, "uxSchedulerSuspended != 0") : (void)0);
|
(__builtin_expect(!(uxSchedulerSuspended != 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4015, "uxSchedulerSuspended != 0") : (void)0);
|
||||||
|
|
||||||
/* Store the item value in the event list item. It is safe to access the
|
/* Store the item value in the event list item. It is safe to access the
|
||||||
* event list item here as interrupts won't access the event list item of a
|
* event list item here as interrupts won't access the event list item of a
|
||||||
|
|
@ -12713,7 +12698,7 @@ void vTaskPlaceOnUnorderedEventList( List_t * pxEventList,
|
||||||
TickType_t xTicksToWait,
|
TickType_t xTicksToWait,
|
||||||
const BaseType_t xWaitIndefinitely )
|
const BaseType_t xWaitIndefinitely )
|
||||||
{
|
{
|
||||||
(__builtin_expect(!(pxEventList), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4042, "pxEventList") : (void)0);
|
(__builtin_expect(!(pxEventList), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4039, "pxEventList") : (void)0);
|
||||||
|
|
||||||
/* This function should not be called by application code hence the
|
/* This function should not be called by application code hence the
|
||||||
* 'Restricted' in its name. It is not part of the public API. It is
|
* 'Restricted' in its name. It is not part of the public API. It is
|
||||||
|
|
@ -12761,14 +12746,14 @@ BaseType_t xTaskRemoveFromEventList( const List_t * const pxEventList )
|
||||||
* This function assumes that a check has already been made to ensure that
|
* This function assumes that a check has already been made to ensure that
|
||||||
* pxEventList is not empty. */
|
* pxEventList is not empty. */
|
||||||
pxUnblockedTCB = ( ( &( ( pxEventList )->xListEnd ) )->pxNext->pvOwner ); /*lint !e9079 void * is used as this macro is used with timers and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */
|
pxUnblockedTCB = ( ( &( ( pxEventList )->xListEnd ) )->pxNext->pvOwner ); /*lint !e9079 void * is used as this macro is used with timers and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */
|
||||||
(__builtin_expect(!(pxUnblockedTCB), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4090, "pxUnblockedTCB") : (void)0);
|
(__builtin_expect(!(pxUnblockedTCB), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4087, "pxUnblockedTCB") : (void)0);
|
||||||
( void ) uxListRemove( &( pxUnblockedTCB->xEventListItem ) );
|
( void ) uxListRemove( &( pxUnblockedTCB->xEventListItem ) );
|
||||||
|
|
||||||
if( uxSchedulerSuspended == ( UBaseType_t ) ( ( BaseType_t ) 0 ) )
|
if( uxSchedulerSuspended == ( UBaseType_t ) ( ( BaseType_t ) 0 ) )
|
||||||
{
|
{
|
||||||
( void ) uxListRemove( &( pxUnblockedTCB->xStateListItem ) );
|
( void ) uxListRemove( &( pxUnblockedTCB->xStateListItem ) );
|
||||||
; { if( ( ( pxUnblockedTCB )->uxPriority ) > uxTopReadyPriority ) { uxTopReadyPriority = ( ( pxUnblockedTCB )->uxPriority ); } }; vListInsertEnd( &( pxReadyTasksLists[ ( pxUnblockedTCB )->uxPriority ] ), &( ( pxUnblockedTCB )->xStateListItem ) ); ;
|
; { if( ( ( pxUnblockedTCB )->uxPriority ) > uxTopReadyPriority ) { uxTopReadyPriority = ( ( pxUnblockedTCB )->uxPriority ); } }; vListInsertEnd( &( pxReadyTasksLists[ ( pxUnblockedTCB )->uxPriority ] ), &( ( pxUnblockedTCB )->xStateListItem ) ); ;
|
||||||
// # 4111 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 4108 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -12798,7 +12783,7 @@ void vTaskRemoveFromUnorderedEventList( ListItem_t * pxEventListItem,
|
||||||
|
|
||||||
/* THIS FUNCTION MUST BE CALLED WITH THE SCHEDULER SUSPENDED. It is used by
|
/* THIS FUNCTION MUST BE CALLED WITH THE SCHEDULER SUSPENDED. It is used by
|
||||||
* the event flags implementation. */
|
* the event flags implementation. */
|
||||||
(__builtin_expect(!(uxSchedulerSuspended != ( ( BaseType_t ) 0 )), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4140, "uxSchedulerSuspended != ( ( BaseType_t ) 0 )") : (void)0);
|
(__builtin_expect(!(uxSchedulerSuspended != ( ( BaseType_t ) 0 )), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4137, "uxSchedulerSuspended != ( ( BaseType_t ) 0 )") : (void)0);
|
||||||
|
|
||||||
/* Store the new item value in the event list. */
|
/* Store the new item value in the event list. */
|
||||||
( ( pxEventListItem )->xItemValue = ( xItemValue | 0x80000000UL ) );
|
( ( pxEventListItem )->xItemValue = ( xItemValue | 0x80000000UL ) );
|
||||||
|
|
@ -12806,9 +12791,9 @@ void vTaskRemoveFromUnorderedEventList( ListItem_t * pxEventListItem,
|
||||||
/* Remove the event list form the event flag. Interrupts do not access
|
/* Remove the event list form the event flag. Interrupts do not access
|
||||||
* event flags. */
|
* event flags. */
|
||||||
pxUnblockedTCB = ( ( pxEventListItem )->pvOwner ); /*lint !e9079 void * is used as this macro is used with timers and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */
|
pxUnblockedTCB = ( ( pxEventListItem )->pvOwner ); /*lint !e9079 void * is used as this macro is used with timers and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */
|
||||||
(__builtin_expect(!(pxUnblockedTCB), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4148, "pxUnblockedTCB") : (void)0);
|
(__builtin_expect(!(pxUnblockedTCB), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4145, "pxUnblockedTCB") : (void)0);
|
||||||
( void ) uxListRemove( pxEventListItem );
|
( void ) uxListRemove( pxEventListItem );
|
||||||
// # 4165 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 4162 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/* Remove the task from the delayed list and add it to the ready list. The
|
/* Remove the task from the delayed list and add it to the ready list. The
|
||||||
* scheduler is suspended so interrupts will not be accessing the ready
|
* scheduler is suspended so interrupts will not be accessing the ready
|
||||||
* lists. */
|
* lists. */
|
||||||
|
|
@ -12827,7 +12812,7 @@ void vTaskRemoveFromUnorderedEventList( ListItem_t * pxEventListItem,
|
||||||
|
|
||||||
void vTaskSetTimeOutState( TimeOut_t * const pxTimeOut )
|
void vTaskSetTimeOutState( TimeOut_t * const pxTimeOut )
|
||||||
{
|
{
|
||||||
(__builtin_expect(!(pxTimeOut), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4183, "pxTimeOut") : (void)0);
|
(__builtin_expect(!(pxTimeOut), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4180, "pxTimeOut") : (void)0);
|
||||||
vTaskEnterCritical();
|
vTaskEnterCritical();
|
||||||
{
|
{
|
||||||
pxTimeOut->xOverflowCount = xNumOfOverflows;
|
pxTimeOut->xOverflowCount = xNumOfOverflows;
|
||||||
|
|
@ -12850,8 +12835,8 @@ BaseType_t xTaskCheckForTimeOut( TimeOut_t * const pxTimeOut,
|
||||||
{
|
{
|
||||||
BaseType_t xReturn;
|
BaseType_t xReturn;
|
||||||
|
|
||||||
(__builtin_expect(!(pxTimeOut), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4206, "pxTimeOut") : (void)0);
|
(__builtin_expect(!(pxTimeOut), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4203, "pxTimeOut") : (void)0);
|
||||||
(__builtin_expect(!(pxTicksToWait), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4207, "pxTicksToWait") : (void)0);
|
(__builtin_expect(!(pxTicksToWait), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4204, "pxTicksToWait") : (void)0);
|
||||||
|
|
||||||
vTaskEnterCritical();
|
vTaskEnterCritical();
|
||||||
{
|
{
|
||||||
|
|
@ -12966,7 +12951,7 @@ void vTaskMissedYield( void )
|
||||||
*
|
*
|
||||||
* @todo additional conditional compiles to remove this function.
|
* @todo additional conditional compiles to remove this function.
|
||||||
*/
|
*/
|
||||||
// # 4382 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 4379 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*
|
/*
|
||||||
* -----------------------------------------------------------
|
* -----------------------------------------------------------
|
||||||
* The Idle task.
|
* The Idle task.
|
||||||
|
|
@ -12996,7 +12981,7 @@ static void prvIdleTask( void * pvParameters )
|
||||||
/* See if any tasks have deleted themselves - if so then the idle task
|
/* See if any tasks have deleted themselves - if so then the idle task
|
||||||
* is responsible for freeing the deleted task's TCB and stack. */
|
* is responsible for freeing the deleted task's TCB and stack. */
|
||||||
prvCheckTasksWaitingTermination();
|
prvCheckTasksWaitingTermination();
|
||||||
// # 4423 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 4420 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
{
|
{
|
||||||
/* When using preemption tasks of equal priority will be
|
/* When using preemption tasks of equal priority will be
|
||||||
* timesliced. If a task that is sharing the idle priority is ready
|
* timesliced. If a task that is sharing the idle priority is ready
|
||||||
|
|
@ -13017,16 +13002,16 @@ static void prvIdleTask( void * pvParameters )
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// # 4459 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 4456 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/* This conditional compilation should use inequality to 0, not equality
|
/* This conditional compilation should use inequality to 0, not equality
|
||||||
* to 1. This is to ensure portSUPPRESS_TICKS_AND_SLEEP() is called when
|
* to 1. This is to ensure portSUPPRESS_TICKS_AND_SLEEP() is called when
|
||||||
* user defined low power mode implementations require
|
* user defined low power mode implementations require
|
||||||
* configUSE_TICKLESS_IDLE to be set to a value other than 1. */
|
* configUSE_TICKLESS_IDLE to be set to a value other than 1. */
|
||||||
// # 4524 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 4521 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
// # 4574 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 4571 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -13040,7 +13025,7 @@ static void prvIdleTask( void * pvParameters )
|
||||||
if( xIndex < 5 )
|
if( xIndex < 5 )
|
||||||
{
|
{
|
||||||
pxTCB = ( ( ( xTaskToSet ) == 0 ) ? xTaskGetCurrentTaskHandle() : ( xTaskToSet ) );
|
pxTCB = ( ( ( xTaskToSet ) == 0 ) ? xTaskGetCurrentTaskHandle() : ( xTaskToSet ) );
|
||||||
(__builtin_expect(!(pxTCB != 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4587, "pxTCB != 0") : (void)0);
|
(__builtin_expect(!(pxTCB != 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 4584, "pxTCB != 0") : (void)0);
|
||||||
pxTCB->pvThreadLocalStoragePointers[ xIndex ] = pvValue;
|
pxTCB->pvThreadLocalStoragePointers[ xIndex ] = pvValue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -13071,7 +13056,7 @@ static void prvIdleTask( void * pvParameters )
|
||||||
|
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
// # 4634 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 4631 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static void prvInitialiseTaskLists( void )
|
static void prvInitialiseTaskLists( void )
|
||||||
|
|
@ -13173,7 +13158,7 @@ static void prvCheckTasksWaitingTermination( void )
|
||||||
{
|
{
|
||||||
pxTaskStatus->uxBasePriority = pxTCB->uxBasePriority;
|
pxTaskStatus->uxBasePriority = pxTCB->uxBasePriority;
|
||||||
}
|
}
|
||||||
// # 4746 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 4743 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
{
|
{
|
||||||
pxTaskStatus->ulRunTimeCounter = 0;
|
pxTaskStatus->ulRunTimeCounter = 0;
|
||||||
}
|
}
|
||||||
|
|
@ -13294,7 +13279,7 @@ static void prvCheckTasksWaitingTermination( void )
|
||||||
|
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
// # 4905 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 4902 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -13351,7 +13336,7 @@ static void prvCheckTasksWaitingTermination( void )
|
||||||
vPortFree( pxTCB->pxStack );
|
vPortFree( pxTCB->pxStack );
|
||||||
vPortFree( pxTCB );
|
vPortFree( pxTCB );
|
||||||
}
|
}
|
||||||
// # 4988 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 4985 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -13542,8 +13527,8 @@ static void prvResetNextTaskUnblockTime( void )
|
||||||
* If the mutex is held by a task then it cannot be given from an
|
* If the mutex is held by a task then it cannot be given from an
|
||||||
* interrupt, and if a mutex is given by the holding task then it must
|
* interrupt, and if a mutex is given by the holding task then it must
|
||||||
* be the running state task. */
|
* be the running state task. */
|
||||||
(__builtin_expect(!(pxTCB == xTaskGetCurrentTaskHandle()), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 5178, "pxTCB == xTaskGetCurrentTaskHandle()") : (void)0);
|
(__builtin_expect(!(pxTCB == xTaskGetCurrentTaskHandle()), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 5175, "pxTCB == xTaskGetCurrentTaskHandle()") : (void)0);
|
||||||
(__builtin_expect(!(pxTCB->uxMutexesHeld), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 5179, "pxTCB->uxMutexesHeld") : (void)0);
|
(__builtin_expect(!(pxTCB->uxMutexesHeld), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 5176, "pxTCB->uxMutexesHeld") : (void)0);
|
||||||
( pxTCB->uxMutexesHeld )--;
|
( pxTCB->uxMutexesHeld )--;
|
||||||
|
|
||||||
/* Has the holder of the mutex inherited the priority of another
|
/* Has the holder of the mutex inherited the priority of another
|
||||||
|
|
@ -13622,7 +13607,7 @@ static void prvResetNextTaskUnblockTime( void )
|
||||||
{
|
{
|
||||||
/* If pxMutexHolder is not NULL then the holder must hold at least
|
/* If pxMutexHolder is not NULL then the holder must hold at least
|
||||||
* one mutex. */
|
* one mutex. */
|
||||||
(__builtin_expect(!(pxTCB->uxMutexesHeld), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 5258, "pxTCB->uxMutexesHeld") : (void)0);
|
(__builtin_expect(!(pxTCB->uxMutexesHeld), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 5255, "pxTCB->uxMutexesHeld") : (void)0);
|
||||||
|
|
||||||
/* Determine the priority to which the priority of the task that
|
/* Determine the priority to which the priority of the task that
|
||||||
* holds the mutex should be set. This will be the greater of the
|
* holds the mutex should be set. This will be the greater of the
|
||||||
|
|
@ -13649,7 +13634,7 @@ static void prvResetNextTaskUnblockTime( void )
|
||||||
/* If a task has timed out because it already holds the
|
/* If a task has timed out because it already holds the
|
||||||
* mutex it was trying to obtain then it cannot of inherited
|
* mutex it was trying to obtain then it cannot of inherited
|
||||||
* its own priority. */
|
* its own priority. */
|
||||||
(__builtin_expect(!(pxTCB != xTaskGetCurrentTaskHandle()), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 5285, "pxTCB != xTaskGetCurrentTaskHandle()") : (void)0);
|
(__builtin_expect(!(pxTCB != xTaskGetCurrentTaskHandle()), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 5282, "pxTCB != xTaskGetCurrentTaskHandle()") : (void)0);
|
||||||
|
|
||||||
/* Disinherit the priority, remembering the previous
|
/* Disinherit the priority, remembering the previous
|
||||||
* priority to facilitate determining the subject task's
|
* priority to facilitate determining the subject task's
|
||||||
|
|
@ -13780,7 +13765,7 @@ void vTaskYieldWithinAPI( void )
|
||||||
{
|
{
|
||||||
/* If pxCurrentTCB->uxCriticalNesting is zero then this function
|
/* If pxCurrentTCB->uxCriticalNesting is zero then this function
|
||||||
* does not match a previous call to vTaskEnterCritical(). */
|
* does not match a previous call to vTaskEnterCritical(). */
|
||||||
(__builtin_expect(!(xTaskGetCurrentTaskHandle()->uxCriticalNesting > 0U), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 5416, "xTaskGetCurrentTaskHandle()->uxCriticalNesting > 0U") : (void)0);
|
(__builtin_expect(!(xTaskGetCurrentTaskHandle()->uxCriticalNesting > 0U), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 5413, "xTaskGetCurrentTaskHandle()->uxCriticalNesting > 0U") : (void)0);
|
||||||
|
|
||||||
if( xTaskGetCurrentTaskHandle()->uxCriticalNesting > 0U )
|
if( xTaskGetCurrentTaskHandle()->uxCriticalNesting > 0U )
|
||||||
{
|
{
|
||||||
|
|
@ -13830,11 +13815,11 @@ void vTaskYieldWithinAPI( void )
|
||||||
|
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
// # 5492 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 5489 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
// # 5598 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 5595 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*----------------------------------------------------------*/
|
/*----------------------------------------------------------*/
|
||||||
// # 5725 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 5722 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
TickType_t uxTaskResetEventItemValue( void )
|
TickType_t uxTaskResetEventItemValue( void )
|
||||||
|
|
@ -13876,7 +13861,7 @@ TickType_t uxTaskResetEventItemValue( void )
|
||||||
{
|
{
|
||||||
uint32_t ulReturn;
|
uint32_t ulReturn;
|
||||||
|
|
||||||
(__builtin_expect(!(uxIndexToWait < 1), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 5766, "uxIndexToWait < 1") : (void)0);
|
(__builtin_expect(!(uxIndexToWait < 1), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 5763, "uxIndexToWait < 1") : (void)0);
|
||||||
|
|
||||||
vTaskEnterCritical();
|
vTaskEnterCritical();
|
||||||
{
|
{
|
||||||
|
|
@ -13950,7 +13935,7 @@ TickType_t uxTaskResetEventItemValue( void )
|
||||||
{
|
{
|
||||||
BaseType_t xReturn;
|
BaseType_t xReturn;
|
||||||
|
|
||||||
(__builtin_expect(!(uxIndexToWait < 1), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 5840, "uxIndexToWait < 1") : (void)0);
|
(__builtin_expect(!(uxIndexToWait < 1), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 5837, "uxIndexToWait < 1") : (void)0);
|
||||||
|
|
||||||
vTaskEnterCritical();
|
vTaskEnterCritical();
|
||||||
{
|
{
|
||||||
|
|
@ -14038,8 +14023,8 @@ TickType_t uxTaskResetEventItemValue( void )
|
||||||
BaseType_t xReturn = ( ( ( BaseType_t ) 1 ) );
|
BaseType_t xReturn = ( ( ( BaseType_t ) 1 ) );
|
||||||
uint8_t ucOriginalNotifyState;
|
uint8_t ucOriginalNotifyState;
|
||||||
|
|
||||||
(__builtin_expect(!(uxIndexToNotify < 1), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 5928, "uxIndexToNotify < 1") : (void)0);
|
(__builtin_expect(!(uxIndexToNotify < 1), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 5925, "uxIndexToNotify < 1") : (void)0);
|
||||||
(__builtin_expect(!(xTaskToNotify), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 5929, "xTaskToNotify") : (void)0);
|
(__builtin_expect(!(xTaskToNotify), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 5926, "xTaskToNotify") : (void)0);
|
||||||
pxTCB = xTaskToNotify;
|
pxTCB = xTaskToNotify;
|
||||||
|
|
||||||
vTaskEnterCritical();
|
vTaskEnterCritical();
|
||||||
|
|
@ -14092,7 +14077,7 @@ TickType_t uxTaskResetEventItemValue( void )
|
||||||
/* Should not get here if all enums are handled.
|
/* Should not get here if all enums are handled.
|
||||||
* Artificially force an assert by testing a value the
|
* Artificially force an assert by testing a value the
|
||||||
* compiler can't assume is const. */
|
* compiler can't assume is const. */
|
||||||
(__builtin_expect(!(xTickCount == ( TickType_t ) 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 5982, "xTickCount == ( TickType_t ) 0") : (void)0);
|
(__builtin_expect(!(xTickCount == ( TickType_t ) 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 5979, "xTickCount == ( TickType_t ) 0") : (void)0);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -14107,8 +14092,8 @@ TickType_t uxTaskResetEventItemValue( void )
|
||||||
; { if( ( ( pxTCB )->uxPriority ) > uxTopReadyPriority ) { uxTopReadyPriority = ( ( pxTCB )->uxPriority ); } }; vListInsertEnd( &( pxReadyTasksLists[ ( pxTCB )->uxPriority ] ), &( ( pxTCB )->xStateListItem ) ); ;
|
; { if( ( ( pxTCB )->uxPriority ) > uxTopReadyPriority ) { uxTopReadyPriority = ( ( pxTCB )->uxPriority ); } }; vListInsertEnd( &( pxReadyTasksLists[ ( pxTCB )->uxPriority ] ), &( ( pxTCB )->xStateListItem ) ); ;
|
||||||
|
|
||||||
/* The task should not have been on an event list. */
|
/* The task should not have been on an event list. */
|
||||||
(__builtin_expect(!(( ( &( pxTCB->xEventListItem ) )->pxContainer ) == 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 5997, "( ( &( pxTCB->xEventListItem ) )->pxContainer ) == 0") : (void)0);
|
(__builtin_expect(!(( ( &( pxTCB->xEventListItem ) )->pxContainer ) == 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 5994, "( ( &( pxTCB->xEventListItem ) )->pxContainer ) == 0") : (void)0);
|
||||||
// # 6016 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 6013 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
{
|
{
|
||||||
prvYieldForTask( pxTCB, ( ( BaseType_t ) 0 ) );
|
prvYieldForTask( pxTCB, ( ( BaseType_t ) 0 ) );
|
||||||
}
|
}
|
||||||
|
|
@ -14141,8 +14126,8 @@ TickType_t uxTaskResetEventItemValue( void )
|
||||||
BaseType_t xReturn = ( ( ( BaseType_t ) 1 ) );
|
BaseType_t xReturn = ( ( ( BaseType_t ) 1 ) );
|
||||||
UBaseType_t uxSavedInterruptStatus;
|
UBaseType_t uxSavedInterruptStatus;
|
||||||
|
|
||||||
(__builtin_expect(!(xTaskToNotify), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6048, "xTaskToNotify") : (void)0);
|
(__builtin_expect(!(xTaskToNotify), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6045, "xTaskToNotify") : (void)0);
|
||||||
(__builtin_expect(!(uxIndexToNotify < 1), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6049, "uxIndexToNotify < 1") : (void)0);
|
(__builtin_expect(!(uxIndexToNotify < 1), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6046, "uxIndexToNotify < 1") : (void)0);
|
||||||
|
|
||||||
/* RTOS ports that support interrupt nesting have the concept of a
|
/* RTOS ports that support interrupt nesting have the concept of a
|
||||||
* maximum system call (or maximum API call) interrupt priority.
|
* maximum system call (or maximum API call) interrupt priority.
|
||||||
|
|
@ -14213,7 +14198,7 @@ TickType_t uxTaskResetEventItemValue( void )
|
||||||
/* Should not get here if all enums are handled.
|
/* Should not get here if all enums are handled.
|
||||||
* Artificially force an assert by testing a value the
|
* Artificially force an assert by testing a value the
|
||||||
* compiler can't assume is const. */
|
* compiler can't assume is const. */
|
||||||
(__builtin_expect(!(xTickCount == ( TickType_t ) 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6120, "xTickCount == ( TickType_t ) 0") : (void)0);
|
(__builtin_expect(!(xTickCount == ( TickType_t ) 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6117, "xTickCount == ( TickType_t ) 0") : (void)0);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -14224,7 +14209,7 @@ TickType_t uxTaskResetEventItemValue( void )
|
||||||
if( ucOriginalNotifyState == ( ( uint8_t ) 1 ) )
|
if( ucOriginalNotifyState == ( ( uint8_t ) 1 ) )
|
||||||
{
|
{
|
||||||
/* The task should not have been on an event list. */
|
/* The task should not have been on an event list. */
|
||||||
(__builtin_expect(!(( ( &( pxTCB->xEventListItem ) )->pxContainer ) == 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6131, "( ( &( pxTCB->xEventListItem ) )->pxContainer ) == 0") : (void)0);
|
(__builtin_expect(!(( ( &( pxTCB->xEventListItem ) )->pxContainer ) == 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6128, "( ( &( pxTCB->xEventListItem ) )->pxContainer ) == 0") : (void)0);
|
||||||
|
|
||||||
if( uxSchedulerSuspended == ( UBaseType_t ) ( ( BaseType_t ) 0 ) )
|
if( uxSchedulerSuspended == ( UBaseType_t ) ( ( BaseType_t ) 0 ) )
|
||||||
{
|
{
|
||||||
|
|
@ -14269,8 +14254,8 @@ TickType_t uxTaskResetEventItemValue( void )
|
||||||
uint8_t ucOriginalNotifyState;
|
uint8_t ucOriginalNotifyState;
|
||||||
UBaseType_t uxSavedInterruptStatus;
|
UBaseType_t uxSavedInterruptStatus;
|
||||||
|
|
||||||
(__builtin_expect(!(xTaskToNotify), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6176, "xTaskToNotify") : (void)0);
|
(__builtin_expect(!(xTaskToNotify), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6173, "xTaskToNotify") : (void)0);
|
||||||
(__builtin_expect(!(uxIndexToNotify < 1), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6177, "uxIndexToNotify < 1") : (void)0);
|
(__builtin_expect(!(uxIndexToNotify < 1), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6174, "uxIndexToNotify < 1") : (void)0);
|
||||||
|
|
||||||
/* RTOS ports that support interrupt nesting have the concept of a
|
/* RTOS ports that support interrupt nesting have the concept of a
|
||||||
* maximum system call (or maximum API call) interrupt priority.
|
* maximum system call (or maximum API call) interrupt priority.
|
||||||
|
|
@ -14308,7 +14293,7 @@ TickType_t uxTaskResetEventItemValue( void )
|
||||||
if( ucOriginalNotifyState == ( ( uint8_t ) 1 ) )
|
if( ucOriginalNotifyState == ( ( uint8_t ) 1 ) )
|
||||||
{
|
{
|
||||||
/* The task should not have been on an event list. */
|
/* The task should not have been on an event list. */
|
||||||
(__builtin_expect(!(( ( &( pxTCB->xEventListItem ) )->pxContainer ) == 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6215, "( ( &( pxTCB->xEventListItem ) )->pxContainer ) == 0") : (void)0);
|
(__builtin_expect(!(( ( &( pxTCB->xEventListItem ) )->pxContainer ) == 0), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6212, "( ( &( pxTCB->xEventListItem ) )->pxContainer ) == 0") : (void)0);
|
||||||
|
|
||||||
if( uxSchedulerSuspended == ( UBaseType_t ) ( ( BaseType_t ) 0 ) )
|
if( uxSchedulerSuspended == ( UBaseType_t ) ( ( BaseType_t ) 0 ) )
|
||||||
{
|
{
|
||||||
|
|
@ -14349,7 +14334,7 @@ TickType_t uxTaskResetEventItemValue( void )
|
||||||
TCB_t * pxTCB;
|
TCB_t * pxTCB;
|
||||||
BaseType_t xReturn;
|
BaseType_t xReturn;
|
||||||
|
|
||||||
(__builtin_expect(!(uxIndexToClear < 1), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6256, "uxIndexToClear < 1") : (void)0);
|
(__builtin_expect(!(uxIndexToClear < 1), 0) ? __assert_rtn ((const char *)-1L, "tasks.c", 6253, "uxIndexToClear < 1") : (void)0);
|
||||||
|
|
||||||
/* If null is passed in here then it is the calling task that is having
|
/* If null is passed in here then it is the calling task that is having
|
||||||
* its notification state cleared. */
|
* its notification state cleared. */
|
||||||
|
|
@ -14402,7 +14387,7 @@ TickType_t uxTaskResetEventItemValue( void )
|
||||||
|
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
// # 6325 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 6322 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static void prvAddCurrentTaskToDelayedList( TickType_t xTicksToWait,
|
static void prvAddCurrentTaskToDelayedList( TickType_t xTicksToWait,
|
||||||
|
|
@ -14478,7 +14463,7 @@ static void prvAddCurrentTaskToDelayedList( TickType_t xTicksToWait,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// # 6437 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
// # 6434 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c"
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Code below here allows additional code to be inserted into this source file,
|
/* Code below here allows additional code to be inserted into this source file,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue