V9.0.0 "bugs"

mjhuslig wrote on Sunday, June 12, 2016:

I am pretty new at this but I found two ‘problems’ with the v9 code.

In the FreeRTOS.h file there are two instances of #ifndef configMAX_PRIORITIES. The second instance is not actually verifying the value.

Just before line 1906 of tasks.c I had to add a line #if ( configGENERATE_RUN_TIME_STATS == 1 ) with an #endif following line 1906 in order to compile.


westmorelandeng wrote on Sunday, June 12, 2016:

Hello Mike,

Which port are you running?

It could help for us to see the options you have enabled in your FreeRTOSConfig.h file.

I have been running v9 since RC1 and haven’t run into what you’ve mentioned - but this could be due to what features you have enabled/disabled.

John W.

rtel wrote on Sunday, June 12, 2016:

Thank you for taking the time to provide this feedback.

The second instance of configMAX_PRIORITIES has been changed to:

#if configMAX_PRIORITIES < 1

I think your second issue is probably a misconfiguration, and could have been corrected by simply removing the definition of portCONFIGURE_TIMER_FOR_RUN_TIME_STATS from your FreeRTOSConfig.h file - but as per John W’s post, without seeing your FreeRTOSConfig.h file I can’t be sure.

mjhuslig wrote on Monday, June 13, 2016:

Thank you both.

I have changed the FreeRTOS.h file to have.

#ifndef configMAX_PRIORITIES
 #error Missing definition:  configMAX_PRIORITIES must be defined in FreeRTOSConfig.h.  See the Configuration section of the FreeRTOS API documentation for details.
#elif configMAX_PRIORITIES < 1
#error configMAX_PRIORITIES must be defined to be greater than or equal to 1.

My other problem was indeed an improper FreeRTOSConfig.h file. I had copied it over from the CORTEX_Kinetis_K60_Tower_IAR demo project:

#define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() vMainConfigureTimerForRunTimeStats()
#define portGET_RUN_TIME_COUNTER_VALUE() ulMainGetRunTimeCounterValue()

but I hadn’t defined the two functions in code.