Problem with Linux AVR compile

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

Problem with Linux AVR compile

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

Problem with Linux AVR compile

You can clearly see from the error that it is calling avr-gcc……but I’ll check the backslashes. Thanks! -Jesse W

Problem with Linux AVR compile

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.

Problem with Linux AVR compile

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?