IAR AVR 3.20 compile warning? why?

Hello I compiled your RTOS 2.5.4 for AVR-IAR but this warnings occured i n Tasks.c file,how overcome these bugs?(the problem is to be "signed" or not to be) I used IAR v3.20 for AVR static void prvInitialiseTCBVariables( tskTCB *pxTCB, unsigned portSHORT usStackDepth, const signed portCHAR * const pcName, unsigned portCHAR ucPriority ) {     pxTCB->usStackDepth = usStackDepth;     /* Make sure the name is not too long before copying it into the TCB. */ -–>    if( strlen( pcName ) < ( unsigned portSHORT ) tskMAX_TASK_NAME_LEN )     {         portENTER_CRITICAL(); -–>            strcpy( pxTCB->pcTaskName, pcName );         portEXIT_CRITICAL();     }     else     {         portENTER_CRITICAL(); -–>            strncpy( pxTCB->pcTaskName, pcName, ( unsigned portSHORT ) tskMAX_TASK_NAME_LEN );         portEXIT_CRITICAL();         pxTCB->pcTaskName[ ( unsigned portSHORT ) tskMAX_TASK_NAME_LEN – ( unsigned portSHORT ) 1 ] = ‘’;     } Warning[Pe167]: argument of type "signed char const *" is incompatible with parameter of type "char const *" Warning[Pe167]: argument of type "signed char *" is incompatible with parameter of type "char *" Warning[Pe167]: argument of type "signed char const *" is incompatible with parameter of type "char const *" Warning[Pe167]: argument of type "signed char *" is incompatible with parameter of type "char *" Warning[Pe167]: argument of type "signed char const *" is incompatible with parameter of type "char const *" Best Regards Yaaavar

IAR AVR 3.20 compile warning? why?

The IAR compiler is unusual in that it has particularly pedantic checking – but then supplies libraries that have ‘char’ types (as defined by the C standard) compiled as ‘unsigned char’, hence the warnings. The FreeRTOS source code is compiled with a lot of different compilers so cannot deviate from the standard to remove warnings for one particular compiler.  This is the only port that generates compilation warnings. You can either modify the source code to typecast and in so doing remove the warnings, or modify the project to suppress the warnings, or ignore them. This problem is listed on the port WEB page – see the section "6.  Compiler Warnings". Unfortunately the IAR port is not supported any more as I no longer have access to the compiler.  The limitations with the IAR inline assembler make the port less than optimal anyway, with GCC providing a much cleaner solution.