Quality RTOS & Embedded Software

 Real time embedded FreeRTOS RSS feed 
Quick Start Supported MCUs PDF Books Trace Tools Ecosystem TCP & FAT




Loading

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.


[ Back to the top ]    [ About FreeRTOS ]    [ Sitemap ]    [ ]




Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.

Latest News

FreeRTOS kernel V10 is available for immediate download. Now MIT licensed.


FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

IAR Partner

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers

STMicro RTOS partner supporting ARM7, ARM Cortex-M3, ARM Cortex-M4 and ARM Cortex-M0

Texas Instruments MCU Developer Network RTOS partner for ARM and MSP430 microcontrollers

OpenRTOS and SafeRTOS