From f15a9aa2e42e41f3313a1686addcf56ac7c70fce Mon Sep 17 00:00:00 2001 From: Anatoly Sokolov Date: Wed, 17 Dec 2008 00:05:59 +0300 Subject: avr.c (avr_mcu_t): Add attiny87... * config/avr/avr.c (avr_mcu_t): Add attiny87, attiny327, at90pwm81, atmega16m1, at90scr100, atmega128rfa1, m3000f, m3000s and m3001b devices. * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.). * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.). From-SVN: r142783 --- gcc/config/avr/avr.c | 9 +++++++++ gcc/config/avr/avr.h | 37 +++++++++++++++++++++++++++++-------- gcc/config/avr/t-avr | 9 +++++++++ 3 files changed, 47 insertions(+), 8 deletions(-) (limited to 'gcc/config') diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c index 16eff6b..8ec6e2c 100644 --- a/gcc/config/avr/avr.c +++ b/gcc/config/avr/avr.c @@ -188,6 +188,7 @@ static const struct mcu_type_s avr_mcu_types[] = { { "attiny461", ARCH_AVR25, "__AVR_ATtiny461__" }, { "attiny861", ARCH_AVR25, "__AVR_ATtiny861__" }, { "attiny43u", ARCH_AVR25, "__AVR_ATtiny43U__" }, + { "attiny87", ARCH_AVR25, "__AVR_ATtiny87__" }, { "attiny48", ARCH_AVR25, "__AVR_ATtiny48__" }, { "attiny88", ARCH_AVR25, "__AVR_ATtiny88__" }, { "at86rf401", ARCH_AVR25, "__AVR_AT86RF401__" }, @@ -204,6 +205,7 @@ static const struct mcu_type_s avr_mcu_types[] = { { "at90usb82", ARCH_AVR35, "__AVR_AT90USB82__" }, { "at90usb162", ARCH_AVR35, "__AVR_AT90USB162__" }, { "attiny167", ARCH_AVR35, "__AVR_ATtiny167__" }, + { "attiny327", ARCH_AVR35, "__AVR_ATtiny327__" }, /* Enhanced, <= 8K. */ { "avr4", ARCH_AVR4, NULL }, { "atmega8", ARCH_AVR4, "__AVR_ATmega8__" }, @@ -221,6 +223,7 @@ static const struct mcu_type_s avr_mcu_types[] = { { "at90pwm2b", ARCH_AVR4, "__AVR_AT90PWM2B__" }, { "at90pwm3", ARCH_AVR4, "__AVR_AT90PWM3__" }, { "at90pwm3b", ARCH_AVR4, "__AVR_AT90PWM3B__" }, + { "at90pwm81", ARCH_AVR4, "__AVR_AT90PWM81__" }, /* Enhanced, > 8K, <= 64K. */ { "avr5", ARCH_AVR5, NULL }, { "atmega16", ARCH_AVR5, "__AVR_ATmega16__" }, @@ -264,11 +267,13 @@ static const struct mcu_type_s avr_mcu_types[] = { { "at90pwm316", ARCH_AVR5, "__AVR_AT90PWM316__" }, { "atmega32c1", ARCH_AVR5, "__AVR_ATmega32C1__" }, { "atmega64c1", ARCH_AVR5, "__AVR_ATmega64C1__" }, + { "atmega16m1", ARCH_AVR5, "__AVR_ATmega16M1__" }, { "atmega32m1", ARCH_AVR5, "__AVR_ATmega32M1__" }, { "atmega64m1", ARCH_AVR5, "__AVR_ATmega64M1__" }, { "atmega16u4", ARCH_AVR5, "__AVR_ATmega16U4__" }, { "atmega32u4", ARCH_AVR5, "__AVR_ATmega32U4__" }, { "atmega32u6", ARCH_AVR5, "__AVR_ATmega32U6__" }, + { "at90scr100", ARCH_AVR5, "__AVR_AT90SCR100__" }, { "at90usb646", ARCH_AVR5, "__AVR_AT90USB646__" }, { "at90usb647", ARCH_AVR5, "__AVR_AT90USB647__" }, { "at94k", ARCH_AVR5, "__AVR_AT94K__" }, @@ -278,9 +283,13 @@ static const struct mcu_type_s avr_mcu_types[] = { { "atmega1280", ARCH_AVR51, "__AVR_ATmega1280__" }, { "atmega1281", ARCH_AVR51, "__AVR_ATmega1281__" }, { "atmega1284p", ARCH_AVR51, "__AVR_ATmega1284P__" }, + { "atmega128rfa1", ARCH_AVR51, "__AVR_ATmega128RFA1__" }, { "at90can128", ARCH_AVR51, "__AVR_AT90CAN128__" }, { "at90usb1286", ARCH_AVR51, "__AVR_AT90USB1286__" }, { "at90usb1287", ARCH_AVR51, "__AVR_AT90USB1287__" }, + { "m3000f", ARCH_AVR51, "__AVR_M3000F__" }, + { "m3000s", ARCH_AVR51, "__AVR_M3000S__" }, + { "m3001b", ARCH_AVR51, "__AVR_M3001B__" }, /* 3-Byte PC. */ { "avr6", ARCH_AVR6, NULL }, { "atmega2560", ARCH_AVR6, "__AVR_ATmega2560__" }, diff --git a/gcc/config/avr/avr.h b/gcc/config/avr/avr.h index 308d9a4..d54870c 100644 --- a/gcc/config/avr/avr.h +++ b/gcc/config/avr/avr.h @@ -838,14 +838,16 @@ mmcu=*:-mmcu=%*}" mmcu=at76*|\ mmcu=at90usb82|\ mmcu=at90usb162|\ - mmcu=attiny167: -m avr3}\ + mmcu=attiny16*|\ + mmcu=attiny32*: -m avr3}\ %{mmcu=atmega8*|\ mmcu=atmega4*|\ mmcu=at90pwm1|\ mmcu=at90pwm2|\ mmcu=at90pwm2b|\ mmcu=at90pwm3|\ - mmcu=at90pwm3b: -m avr4}\ + mmcu=at90pwm3b|\ + mmcu=at90pwm81: -m avr4}\ %{mmcu=atmega16*|\ mmcu=atmega32*|\ mmcu=atmega406|\ @@ -854,9 +856,12 @@ mmcu=*:-mmcu=%*}" mmcu=at90can*|\ mmcu=at90pwm216|\ mmcu=at90pwm316|\ + mmcu=at90scr100|\ mmcu=at90usb64*|\ mmcu=at90usb128*|\ - mmcu=at94k: -m avr5}\ + mmcu=at94k|\ + mmcu=m3000*|\ + mmcu=m3001*: -m avr5}\ %{mmcu=atmega256*:-m avr6}\ %{mmcu=atmega324*|\ mmcu=atmega325*|\ @@ -882,20 +887,27 @@ mmcu=*:-mmcu=%*}" mmcu=atmega32hv*|\ mmcu=attiny48|\ mmcu=attiny88|\ + mmcu=attiny87|\ mmcu=attiny167|\ + mmcu=attiny327|\ mmcu=at90can*|\ mmcu=at90pwm*|\ mmcu=atmega32c1|\ mmcu=atmega64c1|\ + mmcu=atmega16m1|\ mmcu=atmega32m1|\ mmcu=atmega64m1|\ mmcu=atmega16u4|\ mmcu=atmega32u*|\ + mmcu=at90scr100|\ mmcu=at90usb*: -Tdata 0x800100}\ %{mmcu=atmega640|\ mmcu=atmega1280|\ mmcu=atmega1281|\ - mmcu=atmega256*: -Tdata 0x800200} " + mmcu=atmega256*|\ + mmcu=atmega128rfa1: -Tdata 0x800200}\ +%{mmcu=m3000*|\ + mmcu=m3001*: -Tdata 0x801000}" #define LIB_SPEC \ "%{!mmcu=at90s1*:%{!mmcu=attiny11:%{!mmcu=attiny12:%{!mmcu=attiny15:%{!mmcu=attiny28: -lc }}}}}" @@ -942,15 +954,17 @@ mmcu=*:-mmcu=%*}" %{mmcu=attiny461:crttn461.o%s} \ %{mmcu=attiny861:crttn861.o%s} \ %{mmcu=attiny43u:crttn43u.o%s} \ +%{mmcu=attiny87:crttn87.o%s} \ %{mmcu=attiny48:crttn48.o%s} \ %{mmcu=attiny88:crttn88.o%s} \ -%{mmcu=attiny167:crttn167.o%s} \ %{mmcu=at43usb355|mmcu=avr3:crt43355.o%s} \ %{mmcu=at76c711:crt76711.o%s} \ %{mmcu=atmega103|mmcu=avr31:crtm103.o%s} \ %{mmcu=at43usb320:crt43320.o%s} \ %{mmcu=at90usb162|mmcu=avr35:crtusb162.o%s} \ %{mmcu=at90usb82:crtusb82.o%s} \ +%{mmcu=attiny167:crttn167.o%s} \ +%{mmcu=attiny327:crttn327.o%s} \ %{mmcu=atmega8|mmcu=avr4:crtm8.o%s} \ %{mmcu=atmega48:crtm48.o%s} \ %{mmcu=atmega48p:crtm48p.o%s} \ @@ -963,6 +977,7 @@ mmcu=*:-mmcu=%*}" %{mmcu=at90pwm2b:crt90pwm2b.o%s} \ %{mmcu=at90pwm3:crt90pwm3.o%s} \ %{mmcu=at90pwm3b:crt90pwm3b.o%s} \ +%{mmcu=at90pwm81:crt90pwm81.o%s} \ %{mmcu=atmega16:crtm16.o%s} \ %{mmcu=atmega161|mmcu=avr5:crtm161.o%s} \ %{mmcu=atmega162:crtm162.o%s} \ @@ -1007,11 +1022,13 @@ mmcu=*:-mmcu=%*}" %{mmcu=at90pwm316:crt90pwm316.o%s} \ %{mmcu=atmega32c1:crtm32c1.o%s} \ %{mmcu=atmega64c1:crtm64c1.o%s} \ +%{mmcu=atmega16m1:crtm16m1.o%s} \ %{mmcu=atmega32m1:crtm32m1.o%s} \ %{mmcu=atmega64m1:crtm64m1.o%s} \ %{mmcu=atmega16u4:crtm16u4.o%s} \ %{mmcu=atmega32u4:crtm32u4.o%s} \ %{mmcu=atmega32u6:crtm32u6.o%s} \ +%{mmcu=at90scr100:crt90scr100.o%s} \ %{mmcu=at90usb646:crtusb646.o%s} \ %{mmcu=at90usb647:crtusb647.o%s} \ %{mmcu=at94k:crtat94k.o%s} \ @@ -1019,11 +1036,15 @@ mmcu=*:-mmcu=%*}" %{mmcu=atmega1280:crtm1280.o%s} \ %{mmcu=atmega1281:crtm1281.o%s} \ %{mmcu=atmega1284p:crtm1284p.o%s} \ -%{mmcu=atmega2560:crtm2560.o%s} \ -%{mmcu=atmega2561:crtm2561.o%s} \ %{mmcu=at90can128:crtcan128.o%s} \ +%{mmcu=atmega128rfa1:crtm128rfa1.o%s} \ %{mmcu=at90usb1286:crtusb1286.o%s} \ -%{mmcu=at90usb1287:crtusb1287.o%s}" +%{mmcu=at90usb1287:crtusb1287.o%s} \ +%{mmcu=m3000f:crtm3000f.o%s} \ +%{mmcu=m3000s:crtm3000s.o%s} \ +%{mmcu=m3001b:crtm3001b.o%s} \ +%{mmcu=atmega2560|mmcu=avr6:crtm2560.o%s} \ +%{mmcu=atmega2561:crtm2561.o%s}" #define EXTRA_SPECS {"crt_binutils", CRT_BINUTILS_SPECS}, diff --git a/gcc/config/avr/t-avr b/gcc/config/avr/t-avr index 0106a40..410a705 100644 --- a/gcc/config/avr/t-avr +++ b/gcc/config/avr/t-avr @@ -55,6 +55,7 @@ MULTILIB_MATCHES = \ mmcu?avr25=mmcu?attiny461 \ mmcu?avr25=mmcu?attiny861 \ mmcu?avr25=mmcu?attiny43u \ + mmcu?avr25=mmcu?attiny87 \ mmcu?avr25=mmcu?attiny48 \ mmcu?avr25=mmcu?attiny88 \ mmcu?avr25=mmcu?at86rf401 \ @@ -65,6 +66,7 @@ MULTILIB_MATCHES = \ mmcu?avr35=mmcu?at90usb82 \ mmcu?avr35=mmcu?at90usb162 \ mmcu?avr35=mmcu?attiny167 \ + mmcu?avr35=mmcu?attiny327 \ mmcu?avr4=mmcu?atmega48 \ mmcu?avr4=mmcu?atmega48p \ mmcu?avr4=mmcu?atmega8 \ @@ -80,6 +82,7 @@ MULTILIB_MATCHES = \ mmcu?avr4=mmcu?at90pwm2b \ mmcu?avr4=mmcu?at90pwm3 \ mmcu?avr4=mmcu?at90pwm3b \ + mmcu?avr4=mmcu?at90pwm81 \ mmcu?avr5=mmcu?atmega16 \ mmcu?avr5=mmcu?atmega161 \ mmcu?avr5=mmcu?atmega162 \ @@ -121,11 +124,13 @@ MULTILIB_MATCHES = \ mmcu?avr5=mmcu?at90pwm316 \ mmcu?avr5=mmcu?atmega32c1 \ mmcu?avr5=mmcu?atmega64c1 \ + mmcu?avr5=mmcu?atmega16m1 \ mmcu?avr5=mmcu?atmega32m1 \ mmcu?avr5=mmcu?atmega64m1 \ mmcu?avr5=mmcu?atmega16u4 \ mmcu?avr5=mmcu?atmega32u4 \ mmcu?avr5=mmcu?atmega32u6 \ + mmcu?avr5=mmcu?at90scr100 \ mmcu?avr5=mmcu?at90usb646 \ mmcu?avr5=mmcu?at90usb647 \ mmcu?avr5=mmcu?at94k \ @@ -133,9 +138,13 @@ MULTILIB_MATCHES = \ mmcu?avr51=mmcu?atmega1280 \ mmcu?avr51=mmcu?atmega1281 \ mmcu?avr51=mmcu?atmega1284p \ + mmcu?avr51=mmcu?atmega128rfa1 \ mmcu?avr51=mmcu?at90can128 \ mmcu?avr51=mmcu?at90usb1286 \ mmcu?avr51=mmcu?at90usb1287 \ + mmcu?avr51=mmcu?m3000f \ + mmcu?avr51=mmcu?m3000s \ + mmcu?avr51=mmcu?m3001b \ mmcu?avr6=mmcu?atmega2560 \ mmcu?avr6=mmcu?atmega2561 -- cgit v1.1