1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
From 0a532d69add35e87bd577d6e9341897d8b5080be Mon Sep 17 00:00:00 2001
From: Stephan Linz <linz@li-pro.net>
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 <linz@li-pro.net>
---
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
|