From 0a532d69add35e87bd577d6e9341897d8b5080be Mon Sep 17 00:00:00 2001 From: Stephan Linz Date: Tue, 19 Apr 2011 00:55:01 +0200 Subject: [PATCH 9/9] Add support for more XMEGA devices Add support for a bunch of new AVR XMEGA devices: atxmega64a1u, atxmega128a1u, atxmega128b1, atxmega16x1, atxmega32x1 Original ATMEL patch from: http://distribute.atmel.no/tools/opensource/avr-gcc/binutils-2.20.1/53-binutils-2.20.1-xmega128a1u-64a1u.patch http://distribute.atmel.no/tools/opensource/avr-gcc/binutils-2.20.1/54-binutils-2.20.1-atxmega16x1-32x1.patch http://distribute.atmel.no/tools/opensource/avr-gcc/binutils-2.20.1/55-binutils-2.20.1-atxmega128b1.patch Signed-off-by: Stephan Linz --- binutils/size.c | 1 + gas/config/tc-avr.c | 5 +++++ gas/doc/c-avr.texi | 14 ++++++++------ 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/binutils/size.c b/binutils/size.c index a6c8e6c..f5ca64b 100644 --- a/binutils/size.c +++ b/binutils/size.c @@ -132,6 +132,7 @@ avr_device_t avr[] = {"atxmega128a1", AVR136K, AVR8K, AVR2K}, {"atxmega128a1u", AVR136K, AVR8K, AVR2K}, {"atxmega128a3", AVR136K, AVR8K, AVR2K}, + {"atxmega128b1", AVR136K, AVR8K, AVR2K}, {"atxmega128d3", AVR136K, AVR8K, AVR2K}, {"at43usb320", AVR128K, 608UL, 0UL}, diff --git a/gas/config/tc-avr.c b/gas/config/tc-avr.c index 20501bb..1a22ae7 100644 --- a/gas/config/tc-avr.c +++ b/gas/config/tc-avr.c @@ -252,12 +252,16 @@ static struct mcu_type_s mcu_types[] = {"atmega2561", AVR_ISA_AVR6, bfd_mach_avr6}, {"atxmega16a4", AVR_ISA_XMEGA, bfd_mach_avrxmega2}, {"atxmega16d4", AVR_ISA_XMEGA, bfd_mach_avrxmega2}, + {"atxmega16x1", AVR_ISA_XMEGA, bfd_mach_avrxmega2}, {"atxmega32a4", AVR_ISA_XMEGA, bfd_mach_avrxmega2}, {"atxmega32d4", AVR_ISA_XMEGA, bfd_mach_avrxmega2}, + {"atxmega32x1", AVR_ISA_XMEGA, bfd_mach_avrxmega2}, {"atxmega64a3", AVR_ISA_XMEGA, bfd_mach_avrxmega4}, {"atxmega64d3", AVR_ISA_XMEGA, bfd_mach_avrxmega4}, {"atxmega64a1", AVR_ISA_XMEGA, bfd_mach_avrxmega5}, + {"atxmega64a1u",AVR_ISA_XMEGA, bfd_mach_avrxmega5}, {"atxmega128a3", AVR_ISA_XMEGA, bfd_mach_avrxmega6}, + {"atxmega128b1", AVR_ISA_XMEGA, bfd_mach_avrxmega6}, {"atxmega128d3", AVR_ISA_XMEGA, bfd_mach_avrxmega6}, {"atxmega192a3", AVR_ISA_XMEGA, bfd_mach_avrxmega6}, {"atxmega192d3", AVR_ISA_XMEGA, bfd_mach_avrxmega6}, @@ -265,6 +269,7 @@ static struct mcu_type_s mcu_types[] = {"atxmega256a3b",AVR_ISA_XMEGA, bfd_mach_avrxmega6}, {"atxmega256d3", AVR_ISA_XMEGA, bfd_mach_avrxmega6}, {"atxmega128a1", AVR_ISA_XMEGA, bfd_mach_avrxmega7}, + {"atxmega128a1u",AVR_ISA_XMEGA, bfd_mach_avrxmega7}, {"attiny4", AVR_ISA_AVRTINY10, bfd_mach_avrtiny10}, {"attiny5", AVR_ISA_AVRTINY10, bfd_mach_avrtiny10}, {"attiny9", AVR_ISA_AVRTINY10, bfd_mach_avrtiny10}, diff --git a/gas/doc/c-avr.texi b/gas/doc/c-avr.texi index c04c546..07637bf 100644 --- a/gas/doc/c-avr.texi +++ b/gas/doc/c-avr.texi @@ -88,24 +88,26 @@ atmega2560, atmega2561). Instruction set avrxmega2 is for the XMEGA AVR core with 8K to 64K program memory space and less than 64K data space (MCU types: atxmega16a4, atxmega16d4, -atxmega32d4). +atxmega16x1, atxmega32a4, atxmega32d4, atxmega32x1). Instruction set avrxmega3 is for the XMEGA AVR core with 8K to 64K program -memory space and greater than 64K data space (MCU types: atxmega32a4). +memory space and greater than 64K data space (MCU types: none). Instruction set avrxmega4 is for the XMEGA AVR core with up to 64K program memory space and less than 64K data space (MCU types: atxmega64a3, atxmega64d3). Instruction set avrxmega5 is for the XMEGA AVR core with up to 64K program -memory space and greater than 64K data space (MCU types: atxmega64a1). +memory space and greater than 64K data space (MCU types: atxmega64a1, +atxmega64a1u). Instruction set avrxmega6 is for the XMEGA AVR core with up to 256K program memory space and less than 64K data space (MCU types: atxmega128a3, -atxmega128d3, atxmega192a3, atxmega192d3, atxmega256a3, atxmega256a3b, -atxmega192d3). +atxmega128d3, atxmega192a3, atxmega128b1, atxmega192d3, atxmega256a3, +atxmega256a3b, atxmega192d3). Instruction set avrxmega7 is for the XMEGA AVR core with up to 256K program -memory space and greater than 64K data space (MCU types: atxmega128a1). +memory space and greater than 64K data space (MCU types: atxmega128a1, +atxmega128a1u). @cindex @code{-mall-opcodes} command line option, AVR @item -mall-opcodes -- 1.6.0.4