ba6acc8112
Fix support for AT90USB82/162, move them into "avr35" architecture. Add basic support for fuse and lock bit sections in ELF file.
138 lines
6.9 KiB
Text
138 lines
6.9 KiB
Text
--- gas/config/tc-avr.c.orig Mon Aug 6 21:59:55 2007
|
|
+++ gas/config/tc-avr.c Wed Dec 19 12:08:45 2007
|
|
@@ -63,7 +63,7 @@
|
|
{
|
|
{"avr1", AVR_ISA_TINY1, bfd_mach_avr1},
|
|
{"avr2", AVR_ISA_TINY2, bfd_mach_avr2},
|
|
- {"avr3", AVR_ISA_M103, bfd_mach_avr3},
|
|
+ {"avr3", AVR_ISA_USB162, bfd_mach_avr3},
|
|
{"avr4", AVR_ISA_M8, bfd_mach_avr4},
|
|
{"avr5", AVR_ISA_ALL, bfd_mach_avr5},
|
|
{"avr6", AVR_ISA_ALL, bfd_mach_avr6},
|
|
@@ -97,22 +97,31 @@
|
|
{"attiny25", AVR_ISA_TINY2, bfd_mach_avr2},
|
|
{"attiny45", AVR_ISA_TINY2, bfd_mach_avr2},
|
|
{"attiny85", AVR_ISA_TINY2, bfd_mach_avr2},
|
|
+ {"attiny43u", AVR_ISA_TINY2, bfd_mach_avr2},
|
|
+ {"attiny48", AVR_ISA_TINY2, bfd_mach_avr2},
|
|
+ {"attiny88", AVR_ISA_TINY2, bfd_mach_avr2},
|
|
{"atmega603", AVR_ISA_M603, bfd_mach_avr3}, /* XXX -> m103 */
|
|
{"atmega103", AVR_ISA_M103, bfd_mach_avr3},
|
|
{"at43usb320", AVR_ISA_M103, bfd_mach_avr3},
|
|
{"at43usb355", AVR_ISA_M603, bfd_mach_avr3},
|
|
{"at76c711", AVR_ISA_M603, bfd_mach_avr3},
|
|
+ {"at90usb82", AVR_ISA_USB162, bfd_mach_avr3},
|
|
+ {"at90usb162", AVR_ISA_USB162, bfd_mach_avr3},
|
|
{"atmega48", AVR_ISA_PWMx, bfd_mach_avr4},
|
|
+ {"atmega48p", AVR_ISA_PWMx, bfd_mach_avr4},
|
|
{"atmega8", AVR_ISA_M8, bfd_mach_avr4},
|
|
{"atmega83", AVR_ISA_M8, bfd_mach_avr4}, /* XXX -> m8535 */
|
|
{"atmega85", AVR_ISA_M8, bfd_mach_avr4}, /* XXX -> m8 */
|
|
{"atmega88", AVR_ISA_PWMx, bfd_mach_avr4},
|
|
+ {"atmega88p", AVR_ISA_PWMx, bfd_mach_avr4},
|
|
{"atmega8515", AVR_ISA_M8, bfd_mach_avr4},
|
|
{"atmega8535", AVR_ISA_M8, bfd_mach_avr4},
|
|
{"atmega8hva", AVR_ISA_PWMx, bfd_mach_avr4},
|
|
{"at90pwm1", AVR_ISA_PWMx, bfd_mach_avr4},
|
|
{"at90pwm2", AVR_ISA_PWMx, bfd_mach_avr4},
|
|
+ {"at90pwm2b", AVR_ISA_PWMx, bfd_mach_avr4},
|
|
{"at90pwm3", AVR_ISA_PWMx, bfd_mach_avr4},
|
|
+ {"at90pwm3b", AVR_ISA_PWMx, bfd_mach_avr4},
|
|
{"atmega16", AVR_ISA_M323, bfd_mach_avr5},
|
|
{"atmega161", AVR_ISA_M161, bfd_mach_avr5},
|
|
{"atmega162", AVR_ISA_M323, bfd_mach_avr5},
|
|
@@ -121,6 +130,7 @@
|
|
{"atmega165", AVR_ISA_M323, bfd_mach_avr5},
|
|
{"atmega165p", AVR_ISA_M323, bfd_mach_avr5},
|
|
{"atmega168", AVR_ISA_M323, bfd_mach_avr5},
|
|
+ {"atmega168p", AVR_ISA_M323, bfd_mach_avr5},
|
|
{"atmega169", AVR_ISA_M323, bfd_mach_avr5},
|
|
{"atmega169p", AVR_ISA_M323, bfd_mach_avr5},
|
|
{"atmega32", AVR_ISA_M323, bfd_mach_avr5},
|
|
@@ -128,12 +138,14 @@
|
|
{"atmega324p", AVR_ISA_M323, bfd_mach_avr5},
|
|
{"atmega325", AVR_ISA_M323, bfd_mach_avr5},
|
|
{"atmega325p", AVR_ISA_M323, bfd_mach_avr5},
|
|
+ {"atmega328p", AVR_ISA_M323, bfd_mach_avr5},
|
|
{"atmega329", AVR_ISA_M323, bfd_mach_avr5},
|
|
{"atmega329p", AVR_ISA_M323, bfd_mach_avr5},
|
|
{"atmega3250", AVR_ISA_M323, bfd_mach_avr5},
|
|
{"atmega3250p",AVR_ISA_M323, bfd_mach_avr5},
|
|
{"atmega3290", AVR_ISA_M323, bfd_mach_avr5},
|
|
{"atmega3290p",AVR_ISA_M323, bfd_mach_avr5},
|
|
+ {"atmega32hvb",AVR_ISA_M323, bfd_mach_avr5},
|
|
{"atmega406", AVR_ISA_M323, bfd_mach_avr5},
|
|
{"atmega64", AVR_ISA_M323, bfd_mach_avr5},
|
|
{"atmega640", AVR_ISA_M323, bfd_mach_avr5},
|
|
@@ -142,6 +154,7 @@
|
|
{"atmega128", AVR_ISA_M128, bfd_mach_avr5},
|
|
{"atmega1280", AVR_ISA_M128, bfd_mach_avr5},
|
|
{"atmega1281", AVR_ISA_M128, bfd_mach_avr5},
|
|
+ {"atmega1284p",AVR_ISA_M128, bfd_mach_avr5},
|
|
{"atmega645", AVR_ISA_M323, bfd_mach_avr5},
|
|
{"atmega649", AVR_ISA_M323, bfd_mach_avr5},
|
|
{"atmega6450", AVR_ISA_M323, bfd_mach_avr5},
|
|
@@ -150,8 +163,8 @@
|
|
{"at90can32" , AVR_ISA_M323, bfd_mach_avr5},
|
|
{"at90can64" , AVR_ISA_M323, bfd_mach_avr5},
|
|
{"at90can128", AVR_ISA_M128, bfd_mach_avr5},
|
|
- {"at90usb82", AVR_ISA_M323, bfd_mach_avr5},
|
|
- {"at90usb162", AVR_ISA_M323, bfd_mach_avr5},
|
|
+ {"at90pwm216", AVR_ISA_M323, bfd_mach_avr5},
|
|
+ {"at90pwm316", AVR_ISA_M323, bfd_mach_avr5},
|
|
{"at90usb646", AVR_ISA_M323, bfd_mach_avr5},
|
|
{"at90usb647", AVR_ISA_M323, bfd_mach_avr5},
|
|
{"at90usb1286",AVR_ISA_M128, bfd_mach_avr5},
|
|
--- gas/doc/c-avr.texi.orig Mon Aug 6 22:00:08 2007
|
|
+++ gas/doc/c-avr.texi Wed Dec 19 12:07:54 2007
|
|
@@ -41,24 +41,26 @@
|
|
attiny26, at90s2333, at90s2343, at90s4414, at90s4433, at90s4434,
|
|
at90s8515, at90c8534, at90s8535, at86rf401, attiny13, attiny2313,
|
|
attiny261, attiny461, attiny861, attiny24, attiny44, attiny84, attiny25,
|
|
-attiny45, attiny85).
|
|
+attiny45, attiny85, attiny43u, attiny48, attiny88).
|
|
|
|
Instruction set avr3 is for the classic AVR core with up to 128K program
|
|
memory space (MCU types: atmega103, atmega603, at43usb320, at43usb355,
|
|
-at76c711).
|
|
+at76c711, at90usb82, at90usb162).
|
|
|
|
-Instruction set avr4 is for the enhanced AVR core with up to 8K program
|
|
-memory space (MCU types: atmega48, atmega8, atmega83, atmega85, atmega88,
|
|
-atmega8515, atmega8535, atmega8hva, at90pwm1, at90pwm2, at90pwm3).
|
|
+Instruction set avr4 is for the enhanced AVR core with up to 8K
|
|
+program memory space (MCU types: atmega48, atmega48p, atmega8,
|
|
+atmega83, atmega85, atmega88, atmega88p, atmega8515, atmega8535,
|
|
+atmega8hva, at90pwm1, at90pwm2, at90pwm2b, at90pwm3, at90pwm3b).
|
|
|
|
-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, atmega169, atmega169p,
|
|
-atmega32, atmega323, atmega324p, atmega325, atmega325p, atmega329,
|
|
-atmega329p, atmega3250, atmega3250p, atmega3290, atmega3290p, atmega406,
|
|
-atmega64, atmega640, atmega644, atmega644p, atmega128, atmega1280,
|
|
-atmega1281, atmega645, atmega649, atmega6450, atmega6490, atmega16hva,
|
|
-at90can32, at90can64, at90can128, at90usb82, at90usb162, at90usb646,
|
|
+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, atmega32, atmega32hvb, atmega323, atmega324p, atmega325,
|
|
+atmega325p, atmega328p, atmega329, atmega329p, atmega3250,
|
|
+atmega3250p, atmega3290, atmega3290p, atmega406, atmega64, atmega640,
|
|
+atmega644, atmega644p, atmega128, atmega1280, atmega1281, atmega1284p, atmega645,
|
|
+atmega649, atmega6450, atmega6490, atmega16hva, at90can32, at90can64,
|
|
+at90can128, at90pwm216, at90pwm316, at90usb646,
|
|
at90usb647, at90usb1286, at90usb1287, at94k).
|
|
|
|
Instruction set avr6 is for the enhanced AVR core with 256K program
|
|
--- include/opcode/avr.h.orig Fri Apr 7 17:18:08 2006
|
|
+++ include/opcode/avr.h Wed Dec 19 12:10:04 2007
|
|
@@ -40,6 +40,8 @@
|
|
AVR_ISA_LPMX | AVR_ISA_SPM)
|
|
#define AVR_ISA_M603 (AVR_ISA_2xxx | AVR_ISA_MEGA)
|
|
#define AVR_ISA_M103 (AVR_ISA_M603 | AVR_ISA_ELPM)
|
|
+#define AVR_ISA_USB162 (AVR_ISA_M603 | AVR_ISA_MOVW | \
|
|
+ AVR_ISA_LPMX | AVR_ISA_SPM)
|
|
#define AVR_ISA_M161 (AVR_ISA_M603 | AVR_ISA_MUL | AVR_ISA_MOVW | \
|
|
AVR_ISA_LPMX | AVR_ISA_SPM)
|
|
#define AVR_ISA_94K (AVR_ISA_M603 | AVR_ISA_MUL | AVR_ISA_MOVW | AVR_ISA_LPMX)
|