Suggested FreeRTOS code change

Posted by Ken Pettit on May 22, 2012
Hi Richard,

While debugging the TI CCS4 Cortex-LM4F port, I noticed 2 things:

1. There is no string, identifier or function call for the FreeRTOS version. Seems like this would be a useful thing to have.
2. The vTaskList routine doesn't accommodate task names of varying lengths. I fixed this in my local version of task.c by modifying the 'prvListTaskWithinSingleList' function as below. Would be nice if this were in the released version of FreeRTOS. NOTE: Similar change in the function 'prvGenerateRunTimeStatsForTasksInList'.


/* Copy task name to the output string */
sprintf( pcStatusString, ( char *) "%%-%us", configMAX_TASK_NAME_LEN);
sprintf( &pcStatusString[10], pcStatusString, pxNextTCB->pcTaskName);
strcat( (char *) pcWriteBuffer, (char *) &pcStatusString[10]);

/* Copy remaining items to output string */
sprintf( pcStatusString, ( char * ) "\t\t%c\t%u\t%u\t%u\r\n", cStatus, ( unsigned int ) pxNextTCB->uxPriority, usStackRemaining, ( unsigned int ) pxNextTCB->uxTCBNumber );
strcat( ( char * ) pcWriteBuffer, ( char * ) pcStatusString );



RE: Suggested FreeRTOS code change

Posted by Richard Damon on May 23, 2012
In tasks.h is the define:

#define tskKERNEL_VERSION_NUMBER "V7.1.0"