TaskSELECT_HIGHEST_PRIORITY_TASK TASK.C LINE2148

I am using freeRTOS V8 in code composer studio v5. Cortez-R4TICCS5. And the compiler check this warning:
 #205 function declared implicity
This warning refers to: task.c line 2148 taskSELECTHIGHESTPRIORITY_TASK(); Regards, Luis.

TaskSELECT_HIGHEST_PRIORITY_TASK TASK.C LINE2148

taskSELECTHIGHESTPRIORITY_TASK() is not a function, but a macro, which is defined at the top of tasks.c, which is also the file the macro is called from, so I don’t know why the compiler would output such a warning. What taskSELECTHIGHESTPRIORITYTASK() actually does depends on the value of configUSEPORTOPTIMISEDTASKSELECTION in FreeRTOSConfig.h. Do you define configUSEPORTOPTIMISEDTASK_SELECTION in FreeRTOSConfig.h? If so, what is is set to? Regards.

TaskSELECT_HIGHEST_PRIORITY_TASK TASK.C LINE2148

Thanks, configUSEPORTOPTIMISEDTASKSELECTION is already define in FreeRTOSConfig.h With configUSEPORTOPTIMISEDTASKSELECTION set to 1 the warning appears, but set to 0 there is not warning. The compiler version of CCS5 is TI v4.9.5. and the device i am working is a TI RM48l950.

TaskSELECT_HIGHEST_PRIORITY_TASK TASK.C LINE2148

Some print screens…

TaskSELECT_HIGHEST_PRIORITY_TASK TASK.C LINE2148

Some print screens…

TaskSELECT_HIGHEST_PRIORITY_TASK TASK.C LINE2148

__clz() is a compiler intrinsic – that is – it is provided by the compiler not by FreeRTOS. I’m not sure why it is not finding the definition, maybe it is just related to a compiler version updated? It might be that the name of the intrinsic has changed, try looking it up in the compiler’s documentation. Alternatives would be to: 1) Ask TI about it, maybe on an TMS570/RM48 forum, or on a CCS forum. 2) Implement the function yourself. You just need a few lines of assembly code that executes the clz instruction and returns the result. 3) Just set configUSEPORTOPTIMISEDTASKSELECTION to 0. Regards.