FreeRTOS Support Archive
The FreeRTOS support forum is used to obtain active support directly from Real
Time Engineers Ltd. In return for using our top quality software and services for
free, we request you play fair and do your bit to help others too! Sign up
to receive notifications of new support topics then help where you can.
This is a read only archive of threads posted to the FreeRTOS support forum.
The archive is updated every week, so will not always contain the very latest posts.
Use these archive pages to search previous posts. Use the Live FreeRTOS Forum
link to reply to a post, or start a new support thread.
[FreeRTOS Home] [Live FreeRTOS Forum] [FAQ] [Archive Top] [January 2005 Threads] IAR AVR 3.20 compile warning? why?Posted by Nobody/Anonymous on January 4, 2005 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 ] = '\0'; }
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
RE: IAR AVR 3.20 compile warning? why?Posted by Richard on January 4, 2005 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.
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.
|