Compiling FreeRTOS v8.1.2 in MDK-ARM (Keil v5)

qyw wrote on Wednesday, October 08, 2014:

I have met some issue:
…\FreeRTOSV8.1.2\portable\RVDS\ARM_CM4F\portmacro.h(151): error: #18: expected a “)”
error: token is not a valid binary operator in a preprocessor subexpression.

The solution was to change line 96 in FreeRTOSConfig.h:
#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 8 )
#define configMAX_PRIORITIES 8
I think it is not good idea to do so. Does anybody have nice solution?

rtel wrote on Wednesday, October 08, 2014:

This is presumably because the constant is used in a pre-processor directive, and the pre-processor directive does not understand the casting. It is best just to remove the casting from the constants definition in this case (as you have done).

Regards.

qyw wrote on Wednesday, October 08, 2014:

Thank you.