Quality RTOS & Embedded Software

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




Loading

Problem with Linux AVR compile

Posted by Nobody/Anonymous on September 16, 2006
I'm just trying to get the basic ATMega323 demo file to compile but I keep runing into this:

Compiling: serial/serial.c
avr-gcc -c -mmcu=atmega323 -I. -D GCC_MEGA_AVR -I. -I../../Source/include -I../Common/include -g -Os -fsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wextra -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wsign-compare -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wunused -Wa,-adhlns=serial/serial.lst -std=gnu99 serial/serial.c -o serial/serial.o
serial/serial.c:194: warning: return type defaults to `int'
serial/serial.c:194: warning: function declaration isn't a prototype
serial/serial.c: In function `SIGNAL':
serial/serial.c:194: warning: type of "__vector_13" defaults to "int"
serial/serial.c: At top level:
serial/serial.c:210: warning: return type defaults to `int'
serial/serial.c:210: warning: function declaration isn't a prototype
serial/serial.c:210: error: redefinition of 'SIGNAL'
serial/serial.c:194: error: previous definition of 'SIGNAL' was here
serial/serial.c: In function `SIGNAL':
serial/serial.c:210: warning: type of "__vector_14" defaults to "int"
serial/serial.c: At top level:
serial/serial.c:210: warning: unused parameter '__vector_14'
make: *** [serial/serial.o] Error 1

my gcc version is 3.4.3 and I'm runing Ubuntu 6.06LTS.

I'm trying to get this to compile before I start converting for a ATmega128. Besides switching the the clock speed and the Heap size and the UARTs used, this should run out of the box right?

Thanks for your help!

--Jessew

RE: Problem with Linux AVR compile

Posted by Nobody/Anonymous on September 17, 2006
The ports are only tested on Windows, so normally compilation problems on Linux are attributed to incorrect case of incorrect direction of / within either the makefile of #include's. In this case it appears it is because you are using a different version of AVR GCC.

Check you are actually using avr-gcc, and not accidentally picking up a different version of GCC from somewhere in your path.

When I type gcc --version I get:

avr-gcc (GCC) 3.4.6


RE: Problem with Linux AVR compile

Posted by Nobody/Anonymous on September 18, 2006
You can clearly see from the error that it is calling avr-gcc......but I'll check the backslashes.
Thanks!

-Jesse W

RE: Problem with Linux AVR compile

Posted by Nobody/Anonymous on September 18, 2006
I think not all AVR GCC versions use signals in the same way. Some features were deprecated and FreeRTOS updated accordingly. I should try updating to the latest AVR GCC version and see if that helps, or at least if the messages change.

RE: Problem with Linux AVR compile

Posted by Nobody/Anonymous on September 19, 2006
I found out that you need to do this:
#include <avr/signal.h>

avr-gcc -v says I am using 3.4.3....I'll see if I can't update but I think they have gone to using stuff like this: UART_INTERRUPT_HANDLER(SIG_UART_TRANS)
{stuff....}

at least that's what the Procyon AVRlib is like as of it's revision in 2003....has it changed since then?

-Jesse W
I should probably register huh?


[ 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