From e760a81b7959d2d3474f12622be217ff218f5e06 Mon Sep 17 00:00:00 2001 From: "Eric B. Weddington" Date: Fri, 9 Apr 2010 03:48:54 +0000 Subject: [PATCH] 2010-04-07 Eric B. Weddington * config/tc-avr.c (mcu_types): Add support for atmega16a, atmega168a, atmega164a, atmega165a, atmega169a, atmega169pa, atmega16hva2, atmega324a, atmega324pa, atmega325a, atmega3250a, atmega328, atmega329a, atmega329pa, atmega3290a, atmega48a, atmega644a, atmega645a, atmega645p, atmega6450a, atmega6450p, atmega649a, atmega649p, atmega6490a, atmega6490p, atmega64hve, atmega88a, atmega88pa, attiny461a, attiny84a, m3000. Remove support for atmega8m1, atmega8c1, atmega16c1, atmega4hvd, atmega8hvd, attiny327, m3000f, m3000s, m3001b. * doc/c-avr.texi: Same. --- gas/ChangeLog | 13 +++++++++++++ gas/config/tc-avr.c | 40 +++++++++++++++++++++++++++++++--------- gas/doc/c-avr.texi | 37 +++++++++++++++++++++---------------- 3 files changed, 65 insertions(+), 25 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 888e1a7..0cd45b1 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,16 @@ +2010-04-07 Eric B. Weddington + + * config/tc-avr.c (mcu_types): Add support for atmega16a, atmega168a, + atmega164a, atmega165a, atmega169a, atmega169pa, atmega16hva2, + atmega324a, atmega324pa, atmega325a, atmega3250a, atmega328, + atmega329a, atmega329pa, atmega3290a, atmega48a, atmega644a, + atmega645a, atmega645p, atmega6450a, atmega6450p, atmega649a, + atmega649p, atmega6490a, atmega6490p, atmega64hve, atmega88a, + atmega88pa, attiny461a, attiny84a, m3000. + Remove support for atmega8m1, atmega8c1, atmega16c1, atmega4hvd, + atmega8hvd, attiny327, m3000f, m3000s, m3001b. + * doc/c-avr.texi: Same. + 2010-04-07 Jie Zhang * config/tc-arm.c (make_mapping_symbol): Handle the case diff --git a/gas/config/tc-avr.c b/gas/config/tc-avr.c index a884068..d5dabce 100644 --- a/gas/config/tc-avr.c +++ b/gas/config/tc-avr.c @@ -106,12 +106,14 @@ static struct mcu_type_s mcu_types[] = {"attiny44", AVR_ISA_AVR25, bfd_mach_avr25}, {"attiny44a", AVR_ISA_AVR25, bfd_mach_avr25}, {"attiny84", AVR_ISA_AVR25, bfd_mach_avr25}, + {"attiny84a", AVR_ISA_AVR25, bfd_mach_avr25}, {"attiny25", AVR_ISA_AVR25, bfd_mach_avr25}, {"attiny45", AVR_ISA_AVR25, bfd_mach_avr25}, {"attiny85", AVR_ISA_AVR25, bfd_mach_avr25}, {"attiny261", AVR_ISA_AVR25, bfd_mach_avr25}, {"attiny261a", AVR_ISA_AVR25, bfd_mach_avr25}, {"attiny461", AVR_ISA_AVR25, bfd_mach_avr25}, + {"attiny461a", AVR_ISA_AVR25, bfd_mach_avr25}, {"attiny861", AVR_ISA_AVR25, bfd_mach_avr25}, {"attiny861a", AVR_ISA_AVR25, bfd_mach_avr25}, {"attiny87", AVR_ISA_AVR25, bfd_mach_avr25}, @@ -125,7 +127,6 @@ static struct mcu_type_s mcu_types[] = {"atmega103", AVR_ISA_AVR31, bfd_mach_avr31}, {"at43usb320", AVR_ISA_AVR31, bfd_mach_avr31}, {"attiny167", AVR_ISA_AVR35, bfd_mach_avr35}, - {"attiny327", AVR_ISA_AVR35, bfd_mach_avr35}, {"at90usb82", AVR_ISA_AVR35, bfd_mach_avr35}, {"at90usb162", AVR_ISA_AVR35, bfd_mach_avr35}, {"atmega8u2", AVR_ISA_AVR35, bfd_mach_avr35}, @@ -133,16 +134,15 @@ static struct mcu_type_s mcu_types[] = {"atmega32u2", AVR_ISA_AVR35, bfd_mach_avr35}, {"atmega8", AVR_ISA_M8, bfd_mach_avr4}, {"atmega48", AVR_ISA_AVR4, bfd_mach_avr4}, + {"atmega48a", AVR_ISA_AVR4, bfd_mach_avr4}, {"atmega48p", AVR_ISA_AVR4, bfd_mach_avr4}, {"atmega88", AVR_ISA_AVR4, bfd_mach_avr4}, + {"atmega88a", AVR_ISA_AVR4, bfd_mach_avr4}, {"atmega88p", AVR_ISA_AVR4, bfd_mach_avr4}, + {"atmega88pa", AVR_ISA_AVR4, bfd_mach_avr4}, {"atmega8515", AVR_ISA_M8, bfd_mach_avr4}, {"atmega8535", AVR_ISA_M8, bfd_mach_avr4}, {"atmega8hva", AVR_ISA_AVR4, bfd_mach_avr4}, - {"atmega4hvd", AVR_ISA_AVR4, bfd_mach_avr4}, - {"atmega8hvd", AVR_ISA_AVR4, bfd_mach_avr4}, - {"atmega8c1", AVR_ISA_AVR4, bfd_mach_avr4}, - {"atmega8m1", AVR_ISA_AVR4, bfd_mach_avr4}, {"at90pwm1", AVR_ISA_AVR4, bfd_mach_avr4}, {"at90pwm2", AVR_ISA_AVR4, bfd_mach_avr4}, {"at90pwm2b", AVR_ISA_AVR4, bfd_mach_avr4}, @@ -150,42 +150,66 @@ static struct mcu_type_s mcu_types[] = {"at90pwm3b", AVR_ISA_AVR4, bfd_mach_avr4}, {"at90pwm81", AVR_ISA_AVR4, bfd_mach_avr4}, {"atmega16", AVR_ISA_AVR5, bfd_mach_avr5}, + {"atmega16a", AVR_ISA_AVR5, bfd_mach_avr5}, {"atmega161", AVR_ISA_M161, bfd_mach_avr5}, {"atmega162", AVR_ISA_AVR5, bfd_mach_avr5}, {"atmega163", AVR_ISA_M161, bfd_mach_avr5}, + {"atmega164a", AVR_ISA_AVR5, bfd_mach_avr5}, {"atmega164p", AVR_ISA_AVR5, bfd_mach_avr5}, {"atmega165", AVR_ISA_AVR5, bfd_mach_avr5}, + {"atmega165a", AVR_ISA_AVR5, bfd_mach_avr5}, {"atmega165p", AVR_ISA_AVR5, bfd_mach_avr5}, {"atmega168", AVR_ISA_AVR5, bfd_mach_avr5}, + {"atmega168a", AVR_ISA_AVR5, bfd_mach_avr5}, {"atmega168p", AVR_ISA_AVR5, bfd_mach_avr5}, {"atmega169", AVR_ISA_AVR5, bfd_mach_avr5}, + {"atmega169a", AVR_ISA_AVR5, bfd_mach_avr5}, {"atmega169p", AVR_ISA_AVR5, bfd_mach_avr5}, - {"atmega16c1", AVR_ISA_AVR5, bfd_mach_avr5}, + {"atmega169pa",AVR_ISA_AVR5, bfd_mach_avr5}, {"atmega32", AVR_ISA_AVR5, bfd_mach_avr5}, {"atmega323", AVR_ISA_AVR5, bfd_mach_avr5}, + {"atmega324a", AVR_ISA_AVR5, bfd_mach_avr5}, {"atmega324p", AVR_ISA_AVR5, bfd_mach_avr5}, + {"atmega324pa",AVR_ISA_AVR5, bfd_mach_avr5}, {"atmega325", AVR_ISA_AVR5, bfd_mach_avr5}, + {"atmega325a", AVR_ISA_AVR5, bfd_mach_avr5}, {"atmega325p", AVR_ISA_AVR5, bfd_mach_avr5}, {"atmega3250", AVR_ISA_AVR5, bfd_mach_avr5}, + {"atmega3250a",AVR_ISA_AVR5, bfd_mach_avr5}, {"atmega3250p",AVR_ISA_AVR5, bfd_mach_avr5}, + {"atmega328", AVR_ISA_AVR5, bfd_mach_avr5}, {"atmega328p", AVR_ISA_AVR5, bfd_mach_avr5}, {"atmega329", AVR_ISA_AVR5, bfd_mach_avr5}, + {"atmega329a", AVR_ISA_AVR5, bfd_mach_avr5}, {"atmega329p", AVR_ISA_AVR5, bfd_mach_avr5}, + {"atmega329pa",AVR_ISA_AVR5, bfd_mach_avr5}, {"atmega3290", AVR_ISA_AVR5, bfd_mach_avr5}, + {"atmega3290a",AVR_ISA_AVR5, bfd_mach_avr5}, {"atmega3290p",AVR_ISA_AVR5, bfd_mach_avr5}, {"atmega406", AVR_ISA_AVR5, bfd_mach_avr5}, {"atmega64", AVR_ISA_AVR5, bfd_mach_avr5}, {"atmega640", AVR_ISA_AVR5, bfd_mach_avr5}, {"atmega644", AVR_ISA_AVR5, bfd_mach_avr5}, + {"atmega644a", AVR_ISA_AVR5, bfd_mach_avr5}, {"atmega644p", AVR_ISA_AVR5, bfd_mach_avr5}, {"atmega644pa",AVR_ISA_AVR5, bfd_mach_avr5}, {"atmega645", AVR_ISA_AVR5, bfd_mach_avr5}, + {"atmega645a", AVR_ISA_AVR5, bfd_mach_avr5}, + {"atmega645p", AVR_ISA_AVR5, bfd_mach_avr5}, {"atmega649", AVR_ISA_AVR5, bfd_mach_avr5}, + {"atmega649a", AVR_ISA_AVR5, bfd_mach_avr5}, + {"atmega649p", AVR_ISA_AVR5, bfd_mach_avr5}, {"atmega6450", AVR_ISA_AVR5, bfd_mach_avr5}, + {"atmega6450a",AVR_ISA_AVR5, bfd_mach_avr5}, + {"atmega6450p",AVR_ISA_AVR5, bfd_mach_avr5}, {"atmega6490", AVR_ISA_AVR5, bfd_mach_avr5}, + {"atmega6490a",AVR_ISA_AVR5, bfd_mach_avr5}, + {"atmega6490p",AVR_ISA_AVR5, bfd_mach_avr5}, {"atmega16hva",AVR_ISA_AVR5, bfd_mach_avr5}, + {"atmega16hva2",AVR_ISA_AVR5, bfd_mach_avr5}, {"atmega16hvb",AVR_ISA_AVR5, bfd_mach_avr5}, {"atmega32hvb",AVR_ISA_AVR5, bfd_mach_avr5}, + {"atmega64hve",AVR_ISA_AVR5, bfd_mach_avr5}, {"at90can32" , AVR_ISA_AVR5, bfd_mach_avr5}, {"at90can64" , AVR_ISA_AVR5, bfd_mach_avr5}, {"at90pwm216", AVR_ISA_AVR5, bfd_mach_avr5}, @@ -202,6 +226,7 @@ static struct mcu_type_s mcu_types[] = {"at90usb647", AVR_ISA_AVR5, bfd_mach_avr5}, {"at90scr100", AVR_ISA_AVR5, bfd_mach_avr5}, {"at94k", AVR_ISA_94K, bfd_mach_avr5}, + {"m3000", AVR_ISA_AVR5, bfd_mach_avr5}, {"atmega128", AVR_ISA_AVR51, bfd_mach_avr51}, {"atmega1280", AVR_ISA_AVR51, bfd_mach_avr51}, {"atmega1281", AVR_ISA_AVR51, bfd_mach_avr51}, @@ -210,9 +235,6 @@ static struct mcu_type_s mcu_types[] = {"at90can128", AVR_ISA_AVR51, bfd_mach_avr51}, {"at90usb1286",AVR_ISA_AVR51, bfd_mach_avr51}, {"at90usb1287",AVR_ISA_AVR51, bfd_mach_avr51}, - {"m3000f", AVR_ISA_AVR51, bfd_mach_avr51}, - {"m3000s", AVR_ISA_AVR51, bfd_mach_avr51}, - {"m3001b", AVR_ISA_AVR51, bfd_mach_avr51}, {"atmega2560", AVR_ISA_AVR6, bfd_mach_avr6}, {"atmega2561", AVR_ISA_AVR6, bfd_mach_avr6}, {NULL, 0, 0} diff --git a/gas/doc/c-avr.texi b/gas/doc/c-avr.texi index bc40a86..d0d0068 100644 --- a/gas/doc/c-avr.texi +++ b/gas/doc/c-avr.texi @@ -44,8 +44,9 @@ at90s8535). Instruction set avr25 is for the classic AVR core with up to 8K program memory space plus the MOVW instruction (MCU types: attiny13, attiny13a, attiny2313, attiny2313a, attiny24, attiny24a, attiny4313, attiny44, attiny44a, attiny84, -attiny25, attiny45, attiny85, attiny261, attiny261a, attiny461, attiny861, -attiny861a, attiny87, attiny43u, attiny48, attiny88, at86rf401, ata6289). +attiny84a, attiny25, attiny45, attiny85, attiny261, attiny261a, attiny461, +attiny461a, attiny861, attiny861a, attiny87, attiny43u, attiny48, attiny88, +at86rf401, ata6289). Instruction set avr3 is for the classic AVR core with up to 128K program memory space (MCU types: at43usb355, at76c711). @@ -54,28 +55,32 @@ Instruction set avr31 is for the classic AVR core with exactly 128K program memory space (MCU types: atmega103, at43usb320). Instruction set avr35 is for classic AVR core plus MOVW, CALL, and JMP -instructions (MCU types: attiny167, attiny327, at90usb82, at90usb162, atmega8u2, +instructions (MCU types: attiny167, at90usb82, at90usb162, atmega8u2, atmega16u2, atmega32u2). Instruction set avr4 is for the enhanced AVR core with up to 8K program -memory space (MCU types: atmega48, atmega48p,atmega8, atmega88, atmega88p, -atmega8515, atmega8535, atmega8hva, atmega4hvd, atmega8hvd, at90pwm1, -at90pwm2, at90pwm2b, at90pwm3, at90pwm3b, at90pwm81, atmega8m1, atmega8c1). +memory space (MCU types: atmega48, atmega48a, atmega48p, atmega8, atmega88, +atmega88a, atmega88p, atmega88pa, atmega8515, atmega8535, atmega8hva, at90pwm1, +at90pwm2, at90pwm2b, at90pwm3, at90pwm3b, at90pwm81). Instruction set avr5 is for the enhanced AVR core with up to 128K program -memory space (MCU types: atmega16, atmega161, atmega162, atmega163, atmega164p, -atmega165, atmega165p, atmega168, atmega168p, atmega169, atmega169p, atmega16c1, -atmega32, atmega323, atmega324p, atmega325, atmega325p, atmega3250, atmega3250p, -atmega328p, atmega329, atmega329p, atmega3290, atmega3290p, atmega406, atmega64, -atmega640, atmega644, atmega644p, atmega644pa, atmega645, atmega6450, atmega649, -atmega6490, atmega16hva, atmega16hvb, atmega32hvb, at90can32, at90can64, -at90pwm216, at90pwm316, atmega32c1, atmega64c1, atmega16m1, atmega32m1, -atmega64m1, atmega16u4, atmega32u4, atmega32u6, at90usb646, at90usb647, at94k, -at90scr100). +memory space (MCU types: atmega16, atmega16a, atmega161, atmega162, atmega163, +atmega164a, atmega164p, atmega165, atmega165a, atmega165p, atmega168, +atmega168a, atmega168p, atmega169, atmega169a, atmega169p, atmega169pa, +atmega32, atmega323, atmega324a, atmega324p, atmega325, atmega325a, atmega325p, +atmega3250, atmega3250a, atmega3250p, atmega328, atmega328p, atmega329, +atmega329a, atmega329p, atmega329pa, atmega3290, atmega3290a, atmega3290p, +atmega406, atmega64, atmega640, atmega644, atmega644a, atmega644p, atmega644pa, +atmega645, atmega645a, atmega645p, atmega6450, atmega6450a, atmega6450p, +atmega649, atmega649a, atmega649p, atmega6490, atmega6490a, atmega6490p, +atmega16hva, atmega16hva2, atmega16hvb, atmega32hvb, atmega64hve, at90can32, +at90can64, at90pwm216, at90pwm316, atmega32c1, atmega64c1, atmega16m1, +atmega32m1, atmega64m1, atmega16u4, atmega32u4, atmega32u6, at90usb646, +at90usb647, at94k, at90scr100). Instruction set avr51 is for the enhanced AVR core with exactly 128K program memory space (MCU types: atmega128, atmega1280, atmega1281, atmega1284p, -atmega128rfa1, at90can128, at90usb1286, at90usb1287, m3000f, m3000s, m3001b). +atmega128rfa1, at90can128, at90usb1286, at90usb1287, m3000). Instruction set avr6 is for the enhanced AVR core with a 3-byte PC (MCU types: atmega2560, atmega2561). -- 2.7.4