maintainer update: add support for recent AVR microcontrollers

Joerg Wunsch j@uriah.heep.sax.de
Tue Mar 21 01:17:00 GMT 2006


Hi *,

I'm maintaining the avr-libc project (a minimalist C library for Atmel
AVR controllers, building on top of the binutils and GCC support for
these controllers), and also maintain the GNU toolchain ports for
FreeBSD.  Due to this, I continually update private patches against
stock binutils and GCC to catch up with all newly released devices
from Atmel.

Find attached the current patch (against binutils CVS) to support all
currently released AVR microcontrollers in binutils.

Here's the ChangeLog entry:

2006-18-03  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* gas/config/tc-avr.c (mcu_types): Add support for attiny261,
	attiny461, attiny861, attiny25, attiny45, attiny85,attiny24,
	attiny44, attiny84, at90pwm2, at90pwm3, atmega164, atmega324,
	atmega644, atmega329, atmega3290, atmega649, atmega6490,
	atmega406, atmega640, atmega1280, atmega1281, at90can32,
	at90can64, at90usb646, at90usb647, at90usb1286 and
	at90usb1287.  Move atmega48 and atmega88 from AVR_ISA_M8 to
	AVR_ISA_PWMx.

	* include/opcode/avr.h (AVR_ISA_PWMx): New.

-- 
cheers, J"org               .-.-.   --... ...--   -.. .  DL8DTL

http://www.sax.de/~joerg/                        NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)
-------------- next part --------------
Index: src/gas/config/tc-avr.c
===================================================================
RCS file: /cvs/src/src/gas/config/tc-avr.c,v
retrieving revision 1.31
diff -u -r1.31 tc-avr.c
--- src/gas/config/tc-avr.c	3 Mar 2006 15:25:30 -0000	1.31
+++ src/gas/config/tc-avr.c	18 Mar 2006 20:13:58 -0000
@@ -89,34 +89,62 @@
   {"at86rf401", AVR_ISA_2xxx,     bfd_mach_avr2},
   {"attiny13",  AVR_ISA_TINY2,    bfd_mach_avr2},
   {"attiny2313",AVR_ISA_TINY2,    bfd_mach_avr2},
+  {"attiny261", AVR_ISA_TINY2,    bfd_mach_avr2},
+  {"attiny461", AVR_ISA_TINY2,    bfd_mach_avr2},
+  {"attiny861", AVR_ISA_TINY2,    bfd_mach_avr2},
+  {"attiny24",  AVR_ISA_TINY2,    bfd_mach_avr2},
+  {"attiny44",  AVR_ISA_TINY2,    bfd_mach_avr2},
+  {"attiny84",  AVR_ISA_TINY2,    bfd_mach_avr2},
+  {"attiny25",  AVR_ISA_TINY2,    bfd_mach_avr2},
+  {"attiny45",  AVR_ISA_TINY2,    bfd_mach_avr2},
+  {"attiny85",  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},
-  {"atmega48",  AVR_ISA_M8,       bfd_mach_avr4},
+  {"atmega48",  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_M8,       bfd_mach_avr4},
+  {"atmega88",  AVR_ISA_PWMx,     bfd_mach_avr4},
   {"atmega8515",AVR_ISA_M8,       bfd_mach_avr4},
   {"atmega8535",AVR_ISA_M8,       bfd_mach_avr4},
+  {"at90pwm2",  AVR_ISA_PWMx,     bfd_mach_avr4},
+  {"at90pwm3",  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},
   {"atmega163", AVR_ISA_M161,     bfd_mach_avr5},
+  {"atmega164", AVR_ISA_M323,     bfd_mach_avr5},
   {"atmega165", AVR_ISA_M323,     bfd_mach_avr5},
   {"atmega168", AVR_ISA_M323,     bfd_mach_avr5},
   {"atmega169", AVR_ISA_M323,     bfd_mach_avr5},
   {"atmega32",  AVR_ISA_M323,     bfd_mach_avr5},
   {"atmega323", AVR_ISA_M323,     bfd_mach_avr5},
+  {"atmega324", AVR_ISA_M323,     bfd_mach_avr5},
   {"atmega325", AVR_ISA_M323,     bfd_mach_avr5},
+  {"atmega329", AVR_ISA_M323,     bfd_mach_avr5},
   {"atmega3250",AVR_ISA_M323,     bfd_mach_avr5},
+  {"atmega3290",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},
+  {"atmega644", AVR_ISA_M323,     bfd_mach_avr5},
   {"atmega128", AVR_ISA_M128,     bfd_mach_avr5},
+  {"atmega1280",AVR_ISA_M128,     bfd_mach_avr5},
+  {"atmega1281",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},
+  {"atmega6490",AVR_ISA_M323,     bfd_mach_avr5},
+  {"at90can32" ,AVR_ISA_M323,     bfd_mach_avr5},
+  {"at90can64" ,AVR_ISA_M323,     bfd_mach_avr5},
   {"at90can128",AVR_ISA_M128,     bfd_mach_avr5},
+  {"at90usb646", AVR_ISA_M323,    bfd_mach_avr5},
+  {"at90usb647", AVR_ISA_M323,    bfd_mach_avr5},
+  {"at90usb1286",AVR_ISA_M128,    bfd_mach_avr5},
+  {"at90usb1287",AVR_ISA_M128,    bfd_mach_avr5},
   {"at94k",     AVR_ISA_94K,      bfd_mach_avr5},
   {NULL, 0, 0}
 };
Index: src/include/opcode/avr.h
===================================================================
RCS file: /cvs/src/src/include/opcode/avr.h,v
retrieving revision 1.8
diff -u -r1.8 avr.h
--- src/include/opcode/avr.h	10 May 2005 10:21:11 -0000	1.8
+++ src/include/opcode/avr.h	18 Mar 2006 20:14:10 -0000
@@ -37,6 +37,7 @@
                        AVR_ISA_SPM | AVR_ISA_BRK)
 #define AVR_ISA_M8   (AVR_ISA_2xxx | AVR_ISA_MUL | AVR_ISA_MOVW | \
                       AVR_ISA_LPMX | AVR_ISA_SPM)
+#define AVR_ISA_PWMx (AVR_ISA_M8   | AVR_ISA_BRK)
 #define AVR_ISA_M603 (AVR_ISA_2xxx | AVR_ISA_MEGA)
 #define AVR_ISA_M103 (AVR_ISA_M603 | AVR_ISA_ELPM)
 #define AVR_ISA_M161 (AVR_ISA_M603 | AVR_ISA_MUL | AVR_ISA_MOVW | \
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20060321/462265d3/attachment.sig>


More information about the Binutils mailing list