From da2428fbb1053e79b00bfe6cb62580ee0416481a Mon Sep 17 00:00:00 2001 From: vinceburns <38167699+vinceburns@users.noreply.github.com> Date: Mon, 31 Jul 2023 00:29:11 -0500 Subject: [PATCH] Feature: Add top/end of stack to task info report whenever it is available. (#729) (#730) pxTopOfStack is always available and pxEndOfStack is available whenever you have: (portSTACK_GROWTH > 0) or ( configRECORD_STACK_HIGH_ADDRESS == 1) Include it in the info report whenever it is available to the tcb. Co-authored-by: Vince Burns --- include/task.h | 2 +- tasks.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/task.h b/include/task.h index d0441f439..97809fc33 100644 --- a/include/task.h +++ b/include/task.h @@ -167,7 +167,7 @@ typedef struct xTASK_STATUS UBaseType_t uxBasePriority; /* The priority to which the task will return if the task's current priority has been inherited to avoid unbounded priority inversion when obtaining a mutex. Only valid if configUSE_MUTEXES is defined as 1 in FreeRTOSConfig.h. */ configRUN_TIME_COUNTER_TYPE ulRunTimeCounter; /* The total run time allocated to the task so far, as defined by the run time stats clock. See https://www.FreeRTOS.org/rtos-run-time-stats.html. Only valid when configGENERATE_RUN_TIME_STATS is defined as 1 in FreeRTOSConfig.h. */ StackType_t * pxStackBase; /* Points to the lowest address of the task's stack area. */ - #if ( ( portSTACK_GROWTH > 0 ) && ( configRECORD_STACK_HIGH_ADDRESS == 1 ) ) + #if ( ( portSTACK_GROWTH > 0 ) || ( configRECORD_STACK_HIGH_ADDRESS == 1 ) ) StackType_t * pxTopOfStack; /* Points to the top address of the task's stack area. */ StackType_t * pxEndOfStack; /* Points to the end address of the task's stack area. */ #endif diff --git a/tasks.c b/tasks.c index d08bb2cdc..6670faa95 100644 --- a/tasks.c +++ b/tasks.c @@ -5545,7 +5545,7 @@ static void prvCheckTasksWaitingTermination( void ) pxTaskStatus->pcTaskName = ( const char * ) &( pxTCB->pcTaskName[ 0 ] ); pxTaskStatus->uxCurrentPriority = pxTCB->uxPriority; pxTaskStatus->pxStackBase = pxTCB->pxStack; - #if ( ( portSTACK_GROWTH > 0 ) && ( configRECORD_STACK_HIGH_ADDRESS == 1 ) ) + #if ( ( portSTACK_GROWTH > 0 ) || ( configRECORD_STACK_HIGH_ADDRESS == 1 ) ) pxTaskStatus->pxTopOfStack = pxTCB->pxTopOfStack; pxTaskStatus->pxEndOfStack = pxTCB->pxEndOfStack; #endif