[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [avr-gcc-list] mega168 Support
From: |
Joerg Wunsch |
Subject: |
Re: [avr-gcc-list] mega168 Support |
Date: |
Fri, 4 Nov 2005 19:59:20 +0100 (MET) |
"Colin O'Flynn" <address@hidden> wrote:
> Any idea how to fix it for real?
Seems your compiler is incorrectly patched. When I call avr-gcc with
-v, it gives me:
% avr-gcc -v -mmcu=atmega168 -Wl,--section-start=.text=0x3E00 -o foo foo.c
Reading specs from /usr/local/lib/gcc/avr/3.4.4/specs
Configured with: ./configure --target=avr --disable-nls --prefix=/usr/local
i386-portbld-freebsd5.3
Thread model: single
gcc version 3.4.4
/usr/local/libexec/gcc/avr/3.4.4/cc1 -quiet -v foo.c -quiet -dumpbase foo.c
-mmcu=atmega168 -auxbase foo -version -o /var/tmp//cc6Zs6uF.s
ignoring nonexistent directory
"/usr/local/lib/gcc/avr/3.4.4/../../../../avr/sys-include"
#include "..." search starts here:
#include <...> search starts here:
/usr/local/lib/gcc/avr/3.4.4/include
/usr/local/lib/gcc/avr/3.4.4/../../../../avr/include
End of search list.
GNU C version 3.4.4 (avr)
compiled by GNU C version 3.4.2 [FreeBSD] 20040728.
GGC heuristics: --param ggc-min-expand=64 --param ggc-min-heapsize=64436
/usr/local/lib/gcc/avr/3.4.4/../../../../avr/bin/as -mmcu=atmega168 -o
/var/tmp//ccoG61Gn.o /var/tmp//cc6Zs6uF.s
/usr/local/lib/gcc/avr/3.4.4/../../../../avr/bin/ld -m avr5 -Tdata 0x800100 -o
foo /usr/local/lib/gcc/avr/3.4.4/../../../../avr/lib/avr5/crtm168.o
-L/usr/local/lib/gcc/avr/3.4.4/avr5 -L/usr/local/lib/gcc/avr/3.4.4
-L/usr/local/lib/gcc/avr/3.4.4/../../../../avr/lib/avr5
-L/usr/local/lib/gcc/avr/3.4.4/../../../../avr/lib --section-start=.text=0x3E00
/var/tmp//ccoG61Gn.o -lgcc -lc -lgcc
Trying to allocate beyond 0x4000 doesn't give me an error either
(which is expected for avr5).
My GCC patch is:
diff -ur ../gcc-3.4.4.orig/gcc/config/avr/avr.c ./gcc/config/avr/avr.c
--- ../gcc-3.4.4.orig/gcc/config/avr/avr.c Sun Mar 20 22:14:28 2005
+++ ./gcc/config/avr/avr.c Mon Sep 12 22:54:25 2005
@@ -175,6 +175,12 @@
{ "at90c8534", 2, "__AVR_AT90C8534__" },
{ "at90s8535", 2, "__AVR_AT90S8535__" },
{ "at86rf401", 2, "__AVR_AT86RF401__" },
+ /* Classic + MOVW, <= 8K. */
+ { "attiny13", 2, "__AVR_ATtiny13__" },
+ { "attiny2313", 2, "__AVR_ATtiny2313__" },
+ { "attiny25", 2, "__AVR_ATtiny25__" },
+ { "attiny45", 2, "__AVR_ATtiny45__" },
+ { "attiny85", 2, "__AVR_ATtiny85__" },
/* Classic, > 8K. */
{ "avr3", 3, NULL },
{ "atmega103", 3, "__AVR_ATmega103__" },
@@ -185,19 +191,40 @@
/* Enhanced, <= 8K. */
{ "avr4", 4, NULL },
{ "atmega8", 4, "__AVR_ATmega8__" },
+ { "atmega48", 4, "__AVR_ATmega48__" },
+ { "atmega88", 4, "__AVR_ATmega88__" },
{ "atmega8515", 4, "__AVR_ATmega8515__" },
{ "atmega8535", 4, "__AVR_ATmega8535__" },
+ { "at90pwm2", 4, "__AVR_AT90PWM2__" },
+ { "at90pwm3", 4, "__AVR_AT90PWM3__" },
/* Enhanced, > 8K. */
{ "avr5", 5, NULL },
{ "atmega16", 5, "__AVR_ATmega16__" },
{ "atmega161", 5, "__AVR_ATmega161__" },
{ "atmega162", 5, "__AVR_ATmega162__" },
{ "atmega163", 5, "__AVR_ATmega163__" },
+ { "atmega164", 5, "__AVR_ATmega164__" },
+ { "atmega165", 5, "__AVR_ATmega165__" },
+ { "atmega168", 5, "__AVR_ATmega168__" },
{ "atmega169", 5, "__AVR_ATmega169__" },
{ "atmega32", 5, "__AVR_ATmega32__" },
{ "atmega323", 5, "__AVR_ATmega323__" },
+ { "atmega324", 5, "__AVR_ATmega324__" },
+ { "atmega325", 5, "__AVR_ATmega325__" },
+ { "atmega3250", 5, "__AVR_ATmega3250__" },
+ { "atmega329", 5, "__AVR_ATmega329__" },
+ { "atmega3290", 5, "__AVR_ATmega3290__" },
+ { "atmega640", 5, "__AVR_ATmega640__" },
{ "atmega64", 5, "__AVR_ATmega64__" },
+ { "atmega644", 5, "__AVR_ATmega644__" },
+ { "atmega645", 5, "__AVR_ATmega645__" },
+ { "atmega6450", 5, "__AVR_ATmega6450__" },
+ { "atmega649", 5, "__AVR_ATmega649__" },
+ { "atmega6490", 5, "__AVR_ATmega6490__" },
{ "atmega128", 5, "__AVR_ATmega128__" },
+ { "atmega1280",5, "__AVR_ATmega1280__" },
+ { "atmega1281",5, "__AVR_ATmega1281__" },
+ { "at90can128", 5, "__AVR_AT90CAN128__" },
--
cheers, J"org .-.-. --... ...-- -.. . DL8DTL
http://www.sax.de/~joerg/ NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)