From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19280 invoked by alias); 12 Feb 2013 15:33:29 -0000 Received: (qmail 19260 invoked by uid 22791); 12 Feb 2013 15:33:27 -0000 X-SWARE-Spam-Status: No, hits=1.3 required=5.0 tests=AWL,BAYES_50,RCVD_IN_DNSWL_NONE,TBIRD_SPOOF,TW_RX,TW_VR X-Spam-Check-By: sourceware.org Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.162) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 12 Feb 2013 15:33:05 +0000 X-RZG-AUTH: :LXoWVUeid/7A29J/hMvvT2k715jHQaJercGObUOFkj18odoYNahU4Q== X-RZG-CLASS-ID: mo00 Received: from [192.168.0.22] (business-188-111-022-002.static.arcor-ip.net [188.111.22.2]) by smtp.strato.de (jorabe mo42) (RZmta 31.16 AUTH) with ESMTPA id J03c4cp1CEdecH ; Tue, 12 Feb 2013 16:32:58 +0100 (CET) Message-ID: <511A60AA.7080400@gjlay.de> Date: Tue, 12 Feb 2013 15:33:00 -0000 From: Georg-Johann Lay User-Agent: Thunderbird 2.0.0.24 (X11/20100302) MIME-Version: 1.0 To: gcc-patches@gcc.gnu.org CC: Denis Chertykov , Eric Weddington Subject: [Patch,avr]: Add more devices Content-Type: multipart/mixed; boundary="------------010003090504040100010104" X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2013-02/txt/msg00539.txt.bz2 This is a multi-part message in MIME format. --------------010003090504040100010104 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-length: 2971 This patch adds more devices to avr-mcus.def and regenerates depending files. There is a new spec function that is the worker for ASM_SPEC and that transforms -mmcu=device to -mmcu=arch for avr-as. This transformation was already performed for avr25, avr31, avr35 and avr51 and is now performed for all devices so that avr-as only need to support -mmcu=arch. Rationale is to reduce tool dependencies: as need not to know what device it compiles for, the core is enough. The only cases where the core arch is no enough is - Tell whether the device suffers from skip silicon bug - Tell whether the device supporte DES, XCH, LAS, LAC, LAT instruction. The first case is handled by device_to_as that issues -mno-skip-bug as needed. The second case is not handled. Binutils is agnostic w.r.t. availability of these instructions if the exact device is supplied. If binutils will wver be extended to know about these instructions, the preferred way is as described in http://sourceware.org/PR15043 i.e. add new ISA options to binutils. That way, tools dependencies can be disentangled and binutils need not to be changed for every new device. Ok for trunk? Even though this is new feature, I'd propose to backport the additions to avr-mcus.def to 4.7. The changes to avr-mcus.def are obvious enough, IMO. Okay to backport avr-mcus.def and docs part to 4.7 then? Johann * config/avr/avr-arch.h (avr_arch_t) : New component. * config/avr/avr-devices.c: Initialize it. * config/avr/avr.h (device_to_arch): Rename to device_to_ld. (avr_device_to_arch): Rename to avr_device_to_ld. (avr_device_to_as): New prototype. (EXTRA_SPEC_FUNCTIONS): Add device_to_as. (ASM_SPEC): Use device_to_as to get -mmcu= and -mno-skip-bug=. * config/avr/driver-avr.c (avr_device_to_as): New. (avr_device_to_arch): Rename to avr_device_to_ld. * avr/avr-mcus.def (ata5272, ata5505, attiny1634, ata6285) (ata6286, atmega8a, atmega48pa, ata5790, ata5790n, ata5795) (atmega164pa, atmega165pa, atmega168pa, atmega16hva, atmega16hvb) (atmega16hvbrevb, atmega16m1, atmega16u4, atmega26hvg, atmega32a) (atmega32a, atmega3250pa, atmega3290pa, atmega32c1, atmega32m1) (atmega32u4, atmega32u6, atmega64a, atmega6490a, atmega6490p) (atmega64c1, atmega64m1, atmega64rfa2, atmega64rfr2, atmega32hvb) (atmega32hvbrevb, atmega16hva2, atmega48hvf, at90pwm161) (atmega128a, atmega1284, atmxt112sl, atmxt224, atmxt224e) (atmxt336s, atxmega16a4u, atxmega16c4, atxmega32a4u, atxmega32c4) (atxmega32e5, atxmega64a3u, atxmega64a4u, atxmega64b1, atxmega64b3) (atxmega64c3, atxmega64d4, atxmega128a3u, atxmega128b1) (atxmega128b3, atxmega128c3, atxmega128d4, atmxt540s, atmxt540sreva) (atxmega192a3u, atxmega192c3, atxmega256a3u, atxmega256c3) (atxmega384c3, atxmega384d3, atxmega128a4u): New AVR_MCU. (avrxmega6): Increase max flash segments from 5 to 6. * config/avr/t-multilib: Regenerate. * config/avr/avr-tables.opt: Regenerate. * doc/avr-mmcu.texi: Regenerate. --------------010003090504040100010104 Content-Type: text/x-patch; name="more-devices.diff" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline; filename="more-devices.diff" Content-length: 64199 Index: config/avr/t-multilib =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- config/avr/t-multilib (revision 195877) +++ config/avr/t-multilib (working copy) @@ -53,6 +53,7 @@ MULTILIB_MATCHES =3D \ mmcu?avr2=3Dmmcu?at90c8534 \ mmcu?avr2=3Dmmcu?at90s8535 \ mmcu?avr25=3Dmmcu?ata6289 \ + mmcu?avr25=3Dmmcu?ata5272 \ mmcu?avr25=3Dmmcu?attiny13 \ mmcu?avr25=3Dmmcu?attiny13a \ mmcu?avr25=3Dmmcu?attiny2313 \ @@ -82,16 +83,22 @@ MULTILIB_MATCHES =3D \ mmcu?avr3=3Dmmcu?at76c711 \ mmcu?avr31=3Dmmcu?atmega103 \ mmcu?avr31=3Dmmcu?at43usb320 \ + mmcu?avr35=3Dmmcu?ata5505 \ mmcu?avr35=3Dmmcu?at90usb82 \ mmcu?avr35=3Dmmcu?at90usb162 \ mmcu?avr35=3Dmmcu?atmega8u2 \ mmcu?avr35=3Dmmcu?atmega16u2 \ mmcu?avr35=3Dmmcu?atmega32u2 \ mmcu?avr35=3Dmmcu?attiny167 \ + mmcu?avr35=3Dmmcu?attiny1634 \ + mmcu?avr4=3Dmmcu?ata6285 \ + mmcu?avr4=3Dmmcu?ata6286 \ mmcu?avr4=3Dmmcu?atmega8 \ + mmcu?avr4=3Dmmcu?atmega8a \ mmcu?avr4=3Dmmcu?atmega48 \ mmcu?avr4=3Dmmcu?atmega48a \ mmcu?avr4=3Dmmcu?atmega48p \ + mmcu?avr4=3Dmmcu?atmega48pa \ mmcu?avr4=3Dmmcu?atmega88 \ mmcu?avr4=3Dmmcu?atmega88a \ mmcu?avr4=3Dmmcu?atmega88p \ @@ -105,6 +112,9 @@ MULTILIB_MATCHES =3D \ mmcu?avr4=3Dmmcu?at90pwm3 \ mmcu?avr4=3Dmmcu?at90pwm3b \ mmcu?avr4=3Dmmcu?at90pwm81 \ + mmcu?avr5=3Dmmcu?ata5790 \ + mmcu?avr5=3Dmmcu?ata5790n \ + mmcu?avr5=3Dmmcu?ata5795 \ mmcu?avr5=3Dmmcu?atmega16 \ mmcu?avr5=3Dmmcu?atmega16a \ mmcu?avr5=3Dmmcu?atmega161 \ @@ -112,17 +122,28 @@ MULTILIB_MATCHES =3D \ mmcu?avr5=3Dmmcu?atmega163 \ mmcu?avr5=3Dmmcu?atmega164a \ mmcu?avr5=3Dmmcu?atmega164p \ + mmcu?avr5=3Dmmcu?atmega164pa \ mmcu?avr5=3Dmmcu?atmega165 \ mmcu?avr5=3Dmmcu?atmega165a \ mmcu?avr5=3Dmmcu?atmega165p \ + mmcu?avr5=3Dmmcu?atmega165pa \ mmcu?avr5=3Dmmcu?atmega168 \ mmcu?avr5=3Dmmcu?atmega168a \ mmcu?avr5=3Dmmcu?atmega168p \ + mmcu?avr5=3Dmmcu?atmega168pa \ mmcu?avr5=3Dmmcu?atmega169 \ mmcu?avr5=3Dmmcu?atmega169a \ mmcu?avr5=3Dmmcu?atmega169p \ mmcu?avr5=3Dmmcu?atmega169pa \ + mmcu?avr5=3Dmmcu?atmega16hva \ + mmcu?avr5=3Dmmcu?atmega16hvb \ + mmcu?avr5=3Dmmcu?atmega16hvbrevb \ + mmcu?avr5=3Dmmcu?atmega16m1 \ + mmcu?avr5=3Dmmcu?atmega16u4 \ + mmcu?avr5=3Dmmcu?atmega26hvg \ + mmcu?avr5=3Dmmcu?atmega32a \ mmcu?avr5=3Dmmcu?atmega32 \ + mmcu?avr5=3Dmmcu?atmega32a \ mmcu?avr5=3Dmmcu?atmega323 \ mmcu?avr5=3Dmmcu?atmega324a \ mmcu?avr5=3Dmmcu?atmega324p \ @@ -133,6 +154,7 @@ MULTILIB_MATCHES =3D \ mmcu?avr5=3Dmmcu?atmega3250 \ mmcu?avr5=3Dmmcu?atmega3250a \ mmcu?avr5=3Dmmcu?atmega3250p \ + mmcu?avr5=3Dmmcu?atmega3250pa \ mmcu?avr5=3Dmmcu?atmega328 \ mmcu?avr5=3Dmmcu?atmega328p \ mmcu?avr5=3Dmmcu?atmega329 \ @@ -142,8 +164,14 @@ MULTILIB_MATCHES =3D \ mmcu?avr5=3Dmmcu?atmega3290 \ mmcu?avr5=3Dmmcu?atmega3290a \ mmcu?avr5=3Dmmcu?atmega3290p \ + mmcu?avr5=3Dmmcu?atmega3290pa \ + mmcu?avr5=3Dmmcu?atmega32c1 \ + mmcu?avr5=3Dmmcu?atmega32m1 \ + mmcu?avr5=3Dmmcu?atmega32u4 \ + mmcu?avr5=3Dmmcu?atmega32u6 \ mmcu?avr5=3Dmmcu?atmega406 \ mmcu?avr5=3Dmmcu?atmega64 \ + mmcu?avr5=3Dmmcu?atmega64a \ mmcu?avr5=3Dmmcu?atmega640 \ mmcu?avr5=3Dmmcu?atmega644 \ mmcu?avr5=3Dmmcu?atmega644a \ @@ -163,9 +191,20 @@ MULTILIB_MATCHES =3D \ mmcu?avr5=3Dmmcu?atmega16hva2 \ mmcu?avr5=3Dmmcu?atmega16hvb \ mmcu?avr5=3Dmmcu?atmega32hvb \ + mmcu?avr5=3Dmmcu?atmega6490a \ + mmcu?avr5=3Dmmcu?atmega6490p \ + mmcu?avr5=3Dmmcu?atmega64c1 \ + mmcu?avr5=3Dmmcu?atmega64m1 \ mmcu?avr5=3Dmmcu?atmega64hve \ + mmcu?avr5=3Dmmcu?atmega64rfa2 \ + mmcu?avr5=3Dmmcu?atmega64rfr2 \ + mmcu?avr5=3Dmmcu?atmega32hvb \ + mmcu?avr5=3Dmmcu?atmega32hvbrevb \ + mmcu?avr5=3Dmmcu?atmega16hva2 \ + mmcu?avr5=3Dmmcu?atmega48hvf \ mmcu?avr5=3Dmmcu?at90can32 \ mmcu?avr5=3Dmmcu?at90can64 \ + mmcu?avr5=3Dmmcu?at90pwm161 \ mmcu?avr5=3Dmmcu?at90pwm216 \ mmcu?avr5=3Dmmcu?at90pwm316 \ mmcu?avr5=3Dmmcu?atmega32c1 \ @@ -182,8 +221,10 @@ MULTILIB_MATCHES =3D \ mmcu?avr5=3Dmmcu?at94k \ mmcu?avr5=3Dmmcu?m3000 \ mmcu?avr51=3Dmmcu?atmega128 \ + mmcu?avr51=3Dmmcu?atmega128a \ mmcu?avr51=3Dmmcu?atmega1280 \ mmcu?avr51=3Dmmcu?atmega1281 \ + mmcu?avr51=3Dmmcu?atmega1284 \ mmcu?avr51=3Dmmcu?atmega1284p \ mmcu?avr51=3Dmmcu?atmega128rfa1 \ mmcu?avr51=3Dmmcu?at90can128 \ @@ -197,8 +238,23 @@ MULTILIB_MATCHES =3D \ mmcu?avrxmega2=3Dmmcu?atxmega32a4 \ mmcu?avrxmega2=3Dmmcu?atxmega32d4 \ mmcu?avrxmega2=3Dmmcu?atxmega32x1 \ + mmcu?avrxmega2=3Dmmcu?atmxt112sl \ + mmcu?avrxmega2=3Dmmcu?atmxt224 \ + mmcu?avrxmega2=3Dmmcu?atmxt224e \ + mmcu?avrxmega2=3Dmmcu?atmxt336s \ + mmcu?avrxmega2=3Dmmcu?atxmega16a4u \ + mmcu?avrxmega2=3Dmmcu?atxmega16c4 \ + mmcu?avrxmega2=3Dmmcu?atxmega32a4u \ + mmcu?avrxmega2=3Dmmcu?atxmega32c4 \ + mmcu?avrxmega2=3Dmmcu?atxmega32e5 \ mmcu?avrxmega4=3Dmmcu?atxmega64a3 \ mmcu?avrxmega4=3Dmmcu?atxmega64d3 \ + mmcu?avrxmega4=3Dmmcu?atxmega64a3u \ + mmcu?avrxmega4=3Dmmcu?atxmega64a4u \ + mmcu?avrxmega4=3Dmmcu?atxmega64b1 \ + mmcu?avrxmega4=3Dmmcu?atxmega64b3 \ + mmcu?avrxmega4=3Dmmcu?atxmega64c3 \ + mmcu?avrxmega4=3Dmmcu?atxmega64d4 \ mmcu?avrxmega5=3Dmmcu?atxmega64a1 \ mmcu?avrxmega5=3Dmmcu?atxmega64a1u \ mmcu?avrxmega6=3Dmmcu?atxmega128a3 \ @@ -209,5 +265,19 @@ MULTILIB_MATCHES =3D \ mmcu?avrxmega6=3Dmmcu?atxmega256a3b \ mmcu?avrxmega6=3Dmmcu?atxmega256a3bu \ mmcu?avrxmega6=3Dmmcu?atxmega256d3 \ + mmcu?avrxmega6=3Dmmcu?atxmega128a3u \ + mmcu?avrxmega6=3Dmmcu?atxmega128b1 \ + mmcu?avrxmega6=3Dmmcu?atxmega128b3 \ + mmcu?avrxmega6=3Dmmcu?atxmega128c3 \ + mmcu?avrxmega6=3Dmmcu?atxmega128d4 \ + mmcu?avrxmega6=3Dmmcu?atmxt540s \ + mmcu?avrxmega6=3Dmmcu?atmxt540sreva \ + mmcu?avrxmega6=3Dmmcu?atxmega192a3u \ + mmcu?avrxmega6=3Dmmcu?atxmega192c3 \ + mmcu?avrxmega6=3Dmmcu?atxmega256a3u \ + mmcu?avrxmega6=3Dmmcu?atxmega256c3 \ + mmcu?avrxmega6=3Dmmcu?atxmega384c3 \ + mmcu?avrxmega6=3Dmmcu?atxmega384d3 \ mmcu?avrxmega7=3Dmmcu?atxmega128a1 \ - mmcu?avrxmega7=3Dmmcu?atxmega128a1u + mmcu?avrxmega7=3Dmmcu?atxmega128a1u \ + mmcu?avrxmega7=3Dmmcu?atxmega128a4u Index: config/avr/avr-devices.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- config/avr/avr-devices.c (revision 195877) +++ config/avr/avr-devices.c (working copy) @@ -31,29 +31,29 @@ const avr_arch_t avr_arch_types[] =3D { /* unknown device specified */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x0060, 32, NULL, "avr2" }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x0060, 32, NULL, "avr2", ARCH_AVR2 }, /* - A M J LM E E E X R d S S O A - S U M PO L L I M A a t F ff r + A M J LM E E E X R d S S O A -mmcu=3D -mmcu=3D + S U M PO L L I M A a t F ff r for gcc for as M L P MV P P J E M t a R s c - XW M M M G P a r e h - X P A D t t ID */ - { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0x0060, 32, "1", "avr1" }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x0060, 32, "2", "avr2" }, - { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0x0060, 32, "25", "avr25" }, - { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0x0060, 32, "3", "avr3" }, - { 0, 0, 1, 0, 1, 0, 0, 0, 0, 0x0060, 32, "31", "avr31" }, - { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0x0060, 32, "35", "avr35" }, - { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0x0060, 32, "4", "avr4" }, - { 0, 1, 1, 1, 0, 0, 0, 0, 0, 0x0060, 32, "5", "avr5" }, - { 0, 1, 1, 1, 1, 1, 0, 0, 0, 0x0060, 32, "51", "avr51" }, - { 0, 1, 1, 1, 1, 1, 1, 0, 0, 0x0060, 32, "6", "avr6" }, + XW M M M G P a r e h -m + X P A D t t ID for ld */ + { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0x0060, 32, "1", "avr1", ARCH_AVR1 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x0060, 32, "2", "avr2", ARCH_AVR2 }, + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0x0060, 32, "25", "avr25", ARCH_AVR2 }, + { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0x0060, 32, "3", "avr3", ARCH_AVR3 }, + { 0, 0, 1, 0, 1, 0, 0, 0, 0, 0x0060, 32, "31", "avr31", ARCH_AVR3 }, + { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0x0060, 32, "35", "avr35", ARCH_AVR3 }, + { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0x0060, 32, "4", "avr4", ARCH_AVR4 }, + { 0, 1, 1, 1, 0, 0, 0, 0, 0, 0x0060, 32, "5", "avr5", ARCH_AVR5 }, + { 0, 1, 1, 1, 1, 1, 0, 0, 0, 0x0060, 32, "51", "avr51", ARCH_AVR5 }, + { 0, 1, 1, 1, 1, 1, 1, 0, 0, 0x0060, 32, "6", "avr6", ARCH_AVR6 }, =20 - { 0, 1, 1, 1, 0, 0, 0, 1, 0, 0x2000, 0, "102", "avrxmega2" }, - { 0, 1, 1, 1, 1, 1, 0, 1, 0, 0x2000, 0, "104", "avrxmega4" }, - { 0, 1, 1, 1, 1, 1, 0, 1, 1, 0x2000, 0, "105", "avrxmega5" }, - { 0, 1, 1, 1, 1, 1, 1, 1, 0, 0x2000, 0, "106", "avrxmega6" }, - { 0, 1, 1, 1, 1, 1, 1, 1, 1, 0x2000, 0, "107", "avrxmega7" } + { 0, 1, 1, 1, 0, 0, 0, 1, 0, 0x2000, 0, "102", "avrxmega2", ARCH_AVRXMEG= A2 }, + { 0, 1, 1, 1, 1, 1, 0, 1, 0, 0x2000, 0, "104", "avrxmega4", ARCH_AVRXMEG= A4 }, + { 0, 1, 1, 1, 1, 1, 0, 1, 1, 0x2000, 0, "105", "avrxmega5", ARCH_AVRXMEG= A5 }, + { 0, 1, 1, 1, 1, 1, 1, 1, 0, 0x2000, 0, "106", "avrxmega6", ARCH_AVRXMEG= A6 }, + { 0, 1, 1, 1, 1, 1, 1, 1, 1, 0x2000, 0, "107", "avrxmega7", ARCH_AVRXMEG= A7 } }; =20 const avr_arch_info_t Index: config/avr/avr-arch.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- config/avr/avr-arch.h (revision 195877) +++ config/avr/avr-arch.h (working copy) @@ -87,6 +87,9 @@ typedef struct =20 /* Architecture name. */ const char *const arch_name; + + /* Index in avr_arch_types[] to get -mmcu for as. */ + enum avr_arch arch_for_as; } avr_arch_t; =20 =20 Index: config/avr/avr-mcus.def =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- config/avr/avr-mcus.def (revision 195877) +++ config/avr/avr-mcus.def (working copy) @@ -28,11 +28,8 @@ - $(srcdir)/doc/avr-mmcu.texi =20 After that, rebuild everything and check-in the new sources to the repo. - The device list below has to be kept in sync with the following places: + The device list below has to be kept in sync with AVR-LibC. =20 - - here - - gas/config/tc-avr.c - - avr-libc =20 Before including this file, define a macro: =20 @@ -79,6 +76,7 @@ AVR_MCU ("at90s8535", ARCH_AV /* Classic + MOVW, <=3D 8K. */ AVR_MCU ("avr25", ARCH_AVR25, NULL, 0= , 0, 0x0060, 1, "tn85") AVR_MCU ("ata6289", ARCH_AVR25, "__AVR_ATA6289__", 0= , 0, 0x0100, 1, "a6289") +AVR_MCU ("ata5272", ARCH_AVR25, "__AVR_ATA5272__", 0= , 0, 0x0100, 1, "a5272") AVR_MCU ("attiny13", ARCH_AVR25, "__AVR_ATtiny13__", 1= , 0, 0x0060, 1, "tn13") AVR_MCU ("attiny13a", ARCH_AVR25, "__AVR_ATtiny13A__", 1= , 0, 0x0060, 1, "tn13a") AVR_MCU ("attiny2313", ARCH_AVR25, "__AVR_ATtiny2313__", 1= , 0, 0x0060, 1, "tn2313") @@ -114,18 +112,24 @@ AVR_MCU ("atmega103", ARCH_AV AVR_MCU ("at43usb320", ARCH_AVR31, "__AVR_AT43USB320__", 0= , 0, 0x0060, 2, "43320") /* Classic + MOVW + JMP/CALL. */ AVR_MCU ("avr35", ARCH_AVR35, NULL, 0= , 0, 0x0100, 1, "usb162") +AVR_MCU ("ata5505", ARCH_AVR35, "__AVR_ATA5505__", 0= , 0, 0x0100, 1, "a5505") AVR_MCU ("at90usb82", ARCH_AVR35, "__AVR_AT90USB82__", 0= , 0, 0x0100, 1, "usb82") AVR_MCU ("at90usb162", ARCH_AVR35, "__AVR_AT90USB162__", 0= , 0, 0x0100, 1, "usb162") AVR_MCU ("atmega8u2", ARCH_AVR35, "__AVR_ATmega8U2__", 0= , 0, 0x0100, 1, "m8u2") AVR_MCU ("atmega16u2", ARCH_AVR35, "__AVR_ATmega16U2__", 0= , 0, 0x0100, 1, "m16u2") AVR_MCU ("atmega32u2", ARCH_AVR35, "__AVR_ATmega32U2__", 0= , 0, 0x0100, 1, "m32u2") AVR_MCU ("attiny167", ARCH_AVR35, "__AVR_ATtiny167__", 0= , 0, 0x0100, 1, "tn167") +AVR_MCU ("attiny1634", ARCH_AVR35, "__AVR_ATtiny1634__", 0= , 0, 0x0100, 1, "tn1634") /* Enhanced, <=3D 8K. */ AVR_MCU ("avr4", ARCH_AVR4, NULL, 0= , 0, 0x0060, 1, "m8") +AVR_MCU ("ata6285", ARCH_AVR4, "__AVR_ATA6285__", 0= , 0, 0x0100, 1, "a6285") +AVR_MCU ("ata6286", ARCH_AVR4, "__AVR_ATA6286__", 0= , 0, 0x0100, 1, "a6286") AVR_MCU ("atmega8", ARCH_AVR4, "__AVR_ATmega8__", 0= , 0, 0x0060, 1, "m8") +AVR_MCU ("atmega8a", ARCH_AVR4, "__AVR_ATmega8A__", 0= , 0, 0x0060, 1, "m8a") AVR_MCU ("atmega48", ARCH_AVR4, "__AVR_ATmega48__", 0= , 0, 0x0100, 1, "m48") AVR_MCU ("atmega48a", ARCH_AVR4, "__AVR_ATmega48A__", 0= , 0, 0x0100, 1, "m48a") AVR_MCU ("atmega48p", ARCH_AVR4, "__AVR_ATmega48P__", 0= , 0, 0x0100, 1, "m48p") +AVR_MCU ("atmega48pa", ARCH_AVR4, "__AVR_ATmega48PA__", 0= , 0, 0x0100, 1, "m48pa") AVR_MCU ("atmega88", ARCH_AVR4, "__AVR_ATmega88__", 0= , 0, 0x0100, 1, "m88") AVR_MCU ("atmega88a", ARCH_AVR4, "__AVR_ATmega88A__", 0= , 0, 0x0100, 1, "m88a") AVR_MCU ("atmega88p", ARCH_AVR4, "__AVR_ATmega88P__", 0= , 0, 0x0100, 1, "m88p") @@ -141,6 +145,9 @@ AVR_MCU ("at90pwm3b", ARCH_AV AVR_MCU ("at90pwm81", ARCH_AVR4, "__AVR_AT90PWM81__", 0= , 0, 0x0100, 1, "90pwm81") /* Enhanced, > 8K, <=3D 64K. */ AVR_MCU ("avr5", ARCH_AVR5, NULL, 0= , 0, 0x0060, 1, "m16") +AVR_MCU ("ata5790", ARCH_AVR5, "__AVR_ATA5790__", 0= , 0, 0x0100, 1, "a5790") +AVR_MCU ("ata5790n", ARCH_AVR5, "__AVR_ATA5790N__", 0= , 0, 0x0100, 1, "a5790n") +AVR_MCU ("ata5795", ARCH_AVR5, "__AVR_ATA5795__", 0= , 0, 0x0100, 1, "a5795") AVR_MCU ("atmega16", ARCH_AVR5, "__AVR_ATmega16__", 0= , 0, 0x0060, 1, "m16") AVR_MCU ("atmega16a", ARCH_AVR5, "__AVR_ATmega16A__", 0= , 0, 0x0060, 1, "m16a") AVR_MCU ("atmega161", ARCH_AVR5, "__AVR_ATmega161__", 0= , 0, 0x0060, 1, "m161") @@ -148,17 +155,28 @@ AVR_MCU ("atmega162", ARCH_AV AVR_MCU ("atmega163", ARCH_AVR5, "__AVR_ATmega163__", 0= , 0, 0x0060, 1, "m163") AVR_MCU ("atmega164a", ARCH_AVR5, "__AVR_ATmega164A__", 0= , 0, 0x0100, 1, "m164a") AVR_MCU ("atmega164p", ARCH_AVR5, "__AVR_ATmega164P__", 0= , 0, 0x0100, 1, "m164p") +AVR_MCU ("atmega164pa", ARCH_AVR5, "__AVR_ATmega164PA__", 0= , 0, 0x0100, 1, "m164pa") AVR_MCU ("atmega165", ARCH_AVR5, "__AVR_ATmega165__", 0= , 0, 0x0100, 1, "m165") AVR_MCU ("atmega165a", ARCH_AVR5, "__AVR_ATmega165A__", 0= , 0, 0x0100, 1, "m165a") AVR_MCU ("atmega165p", ARCH_AVR5, "__AVR_ATmega165P__", 0= , 0, 0x0100, 1, "m165p") +AVR_MCU ("atmega165pa", ARCH_AVR5, "__AVR_ATmega165PA__", 0= , 0, 0x0100, 1, "m165pa") AVR_MCU ("atmega168", ARCH_AVR5, "__AVR_ATmega168__", 0= , 0, 0x0100, 1, "m168") AVR_MCU ("atmega168a", ARCH_AVR5, "__AVR_ATmega168A__", 0= , 0, 0x0100, 1, "m168a") AVR_MCU ("atmega168p", ARCH_AVR5, "__AVR_ATmega168P__", 0= , 0, 0x0100, 1, "m168p") +AVR_MCU ("atmega168pa", ARCH_AVR5, "__AVR_ATmega168PA__", 0= , 0, 0x0100, 1, "m168pa") AVR_MCU ("atmega169", ARCH_AVR5, "__AVR_ATmega169__", 0= , 0, 0x0100, 1, "m169") AVR_MCU ("atmega169a", ARCH_AVR5, "__AVR_ATmega169A__", 0= , 0, 0x0100, 1, "m169a") AVR_MCU ("atmega169p", ARCH_AVR5, "__AVR_ATmega169P__", 0= , 0, 0x0100, 1, "m169p") AVR_MCU ("atmega169pa", ARCH_AVR5, "__AVR_ATmega169PA__", 0= , 0, 0x0100, 1, "m169pa") +AVR_MCU ("atmega16hva", ARCH_AVR5, "__AVR_ATmega16HVA__", 0= , 0, 0x0100, 1, "m16hva") +AVR_MCU ("atmega16hvb", ARCH_AVR5, "__AVR_ATmega16HVB__", 0= , 0, 0x0100, 1, "m16hvb") +AVR_MCU ("atmega16hvbrevb", ARCH_AVR5, "__AVR_ATmega16HVBREVB__", 0= , 0, 0x0100, 1, "m16hvbrevb") +AVR_MCU ("atmega16m1", ARCH_AVR5, "__AVR_ATmega16M1__", 0= , 0, 0x0100, 1, "m16m1") +AVR_MCU ("atmega16u4", ARCH_AVR5, "__AVR_ATmega16U4__", 0= , 0, 0x0100, 1, "m16u4") +AVR_MCU ("atmega26hvg", ARCH_AVR5, "__AVR_ATmega26HVG__", 0= , 0, 0x0100, 1, "m26hvg") +AVR_MCU ("atmega32a", ARCH_AVR5, "__AVR_ATmega32A__", 0= , 0, 0x0060, 1, "m32a") AVR_MCU ("atmega32", ARCH_AVR5, "__AVR_ATmega32__", 0= , 0, 0x0060, 1, "m32") +AVR_MCU ("atmega32a", ARCH_AVR5, "__AVR_ATmega32A__", 0= , 0, 0x0060, 1, "m32a") AVR_MCU ("atmega323", ARCH_AVR5, "__AVR_ATmega323__", 0= , 0, 0x0060, 1, "m323") AVR_MCU ("atmega324a", ARCH_AVR5, "__AVR_ATmega324A__", 0= , 0, 0x0100, 1, "m324a") AVR_MCU ("atmega324p", ARCH_AVR5, "__AVR_ATmega324P__", 0= , 0, 0x0100, 1, "m324p") @@ -169,6 +187,7 @@ AVR_MCU ("atmega325p", ARCH_AV AVR_MCU ("atmega3250", ARCH_AVR5, "__AVR_ATmega3250__", 0= , 0, 0x0100, 1, "m3250") AVR_MCU ("atmega3250a", ARCH_AVR5, "__AVR_ATmega3250A__", 0= , 0, 0x0100, 1, "m3250a") AVR_MCU ("atmega3250p", ARCH_AVR5, "__AVR_ATmega3250P__", 0= , 0, 0x0100, 1, "m3250p") +AVR_MCU ("atmega3250pa", ARCH_AVR5, "__AVR_ATmega3250PA__", 0= , 0, 0x0100, 1, "m3250pa") AVR_MCU ("atmega328", ARCH_AVR5, "__AVR_ATmega328__", 0= , 0, 0x0100, 1, "m328") AVR_MCU ("atmega328p", ARCH_AVR5, "__AVR_ATmega328P__", 0= , 0, 0x0100, 1, "m328p") AVR_MCU ("atmega329", ARCH_AVR5, "__AVR_ATmega329__", 0= , 0, 0x0100, 1, "m329") @@ -178,8 +197,14 @@ AVR_MCU ("atmega329pa", ARCH_AV AVR_MCU ("atmega3290", ARCH_AVR5, "__AVR_ATmega3290__", 0= , 0, 0x0100, 1, "m3290") AVR_MCU ("atmega3290a", ARCH_AVR5, "__AVR_ATmega3290A__", 0= , 0, 0x0100, 1, "m3290a") AVR_MCU ("atmega3290p", ARCH_AVR5, "__AVR_ATmega3290P__", 0= , 0, 0x0100, 1, "m3290p") +AVR_MCU ("atmega3290pa", ARCH_AVR5, "__AVR_ATmega3290PA__", 0= , 0, 0x0100, 1, "m3290pa") +AVR_MCU ("atmega32c1", ARCH_AVR5, "__AVR_ATmega32C1__", 0= , 0, 0x0100, 1, "m32c1") +AVR_MCU ("atmega32m1", ARCH_AVR5, "__AVR_ATmega32M1__", 0= , 0, 0x0100, 1, "m32m1") +AVR_MCU ("atmega32u4", ARCH_AVR5, "__AVR_ATmega32U4__", 0= , 0, 0x0100, 1, "m32u4") +AVR_MCU ("atmega32u6", ARCH_AVR5, "__AVR_ATmega32U6__", 0= , 0, 0x0100, 1, "m32u6") AVR_MCU ("atmega406", ARCH_AVR5, "__AVR_ATmega406__", 0= , 0, 0x0100, 1, "m406") AVR_MCU ("atmega64", ARCH_AVR5, "__AVR_ATmega64__", 0= , 0, 0x0100, 1, "m64") +AVR_MCU ("atmega64a", ARCH_AVR5, "__AVR_ATmega64A__", 0= , 0, 0x0100, 1, "m64a") AVR_MCU ("atmega640", ARCH_AVR5, "__AVR_ATmega640__", 0= , 0, 0x0200, 1, "m640") AVR_MCU ("atmega644", ARCH_AVR5, "__AVR_ATmega644__", 0= , 0, 0x0100, 1, "m644") AVR_MCU ("atmega644a", ARCH_AVR5, "__AVR_ATmega644A__", 0= , 0, 0x0100, 1, "m644a") @@ -199,9 +224,20 @@ AVR_MCU ("atmega16hva", ARCH_AV AVR_MCU ("atmega16hva2", ARCH_AVR5, "__AVR_ATmega16HVA2__", 0= , 0, 0x0100, 1, "m16hva2") AVR_MCU ("atmega16hvb", ARCH_AVR5, "__AVR_ATmega16HVB__", 0= , 0, 0x0100, 1, "m16hvb") AVR_MCU ("atmega32hvb", ARCH_AVR5, "__AVR_ATmega32HVB__", 0= , 0, 0x0100, 1, "m32hvb") +AVR_MCU ("atmega6490a", ARCH_AVR5, "__AVR_ATmega6490A__", 0= , 0, 0x0100, 1, "m6490a") +AVR_MCU ("atmega6490p", ARCH_AVR5, "__AVR_ATmega6490P__", 0= , 0, 0x0100, 1, "m6490p") +AVR_MCU ("atmega64c1", ARCH_AVR5, "__AVR_ATmega64C1__", 0= , 0, 0x0100, 1, "m64c1") +AVR_MCU ("atmega64m1", ARCH_AVR5, "__AVR_ATmega64M1__", 0= , 0, 0x0100, 1, "m64m1") AVR_MCU ("atmega64hve", ARCH_AVR5, "__AVR_ATmega64HVE__", 0= , 0, 0x0100, 1, "m64hve") +AVR_MCU ("atmega64rfa2", ARCH_AVR5, "__AVR_ATmega64RFA2__", 0= , 0, 0x0200, 1, "m64rfa2") +AVR_MCU ("atmega64rfr2", ARCH_AVR5, "__AVR_ATmega64RFR2__", 0= , 0, 0x0200, 1, "m64rfr2") +AVR_MCU ("atmega32hvb", ARCH_AVR5, "__AVR_ATmega32HVB__", 0= , 0, 0x0100, 1, "m32hvb") +AVR_MCU ("atmega32hvbrevb", ARCH_AVR5, "__AVR_ATmega32HVBREVB__", 0= , 0, 0x0100, 1, "m32hvbrevb") +AVR_MCU ("atmega16hva2", ARCH_AVR5, "__AVR_ATmega16HVA2__", 0= , 0, 0x0100, 1, "m16hva2") +AVR_MCU ("atmega48hvf", ARCH_AVR5, "__AVR_ATmega48HVF__", 0= , 0, 0x0100, 1, "m48hvf") AVR_MCU ("at90can32", ARCH_AVR5, "__AVR_AT90CAN32__", 0= , 0, 0x0100, 1, "can32") AVR_MCU ("at90can64", ARCH_AVR5, "__AVR_AT90CAN64__", 0= , 0, 0x0100, 1, "can64") +AVR_MCU ("at90pwm161", ARCH_AVR5, "__AVR_AT90PWM161__", 0= , 0, 0x0100, 1, "90pwm161") AVR_MCU ("at90pwm216", ARCH_AVR5, "__AVR_AT90PWM216__", 0= , 0, 0x0100, 1, "90pwm216") AVR_MCU ("at90pwm316", ARCH_AVR5, "__AVR_AT90PWM316__", 0= , 0, 0x0100, 1, "90pwm316") AVR_MCU ("atmega32c1", ARCH_AVR5, "__AVR_ATmega32C1__", 0= , 0, 0x0100, 1, "m32c1") @@ -220,8 +256,10 @@ AVR_MCU ("m3000", ARCH_AV /* Enhanced, =3D=3D 128K. */ AVR_MCU ("avr51", ARCH_AVR51, NULL, 0= , 0, 0x0100, 2, "m128") AVR_MCU ("atmega128", ARCH_AVR51, "__AVR_ATmega128__", 0= , 0, 0x0100, 2, "m128") +AVR_MCU ("atmega128a", ARCH_AVR51, "__AVR_ATmega128A__", 0= , 0, 0x0100, 2, "m128a") AVR_MCU ("atmega1280", ARCH_AVR51, "__AVR_ATmega1280__", 0= , 0, 0x0200, 2, "m1280") AVR_MCU ("atmega1281", ARCH_AVR51, "__AVR_ATmega1281__", 0= , 0, 0x0200, 2, "m1281") +AVR_MCU ("atmega1284", ARCH_AVR51, "__AVR_ATmega1284__", 0= , 0, 0x0100, 2, "m1284") AVR_MCU ("atmega1284p", ARCH_AVR51, "__AVR_ATmega1284P__", 0= , 0, 0x0100, 2, "m1284p") AVR_MCU ("atmega128rfa1", ARCH_AVR51, "__AVR_ATmega128RFA1__", 0= , 0, 0x0200, 2, "m128rfa1") AVR_MCU ("at90can128", ARCH_AVR51, "__AVR_AT90CAN128__", 0= , 0, 0x0100, 2, "can128") @@ -239,16 +277,31 @@ AVR_MCU ("atxmega16x1", ARCH_AVRXME AVR_MCU ("atxmega32a4", ARCH_AVRXMEGA2, "__AVR_ATxmega32A4__", 0= , 0, 0x2000, 1, "x32a4") AVR_MCU ("atxmega32d4", ARCH_AVRXMEGA2, "__AVR_ATxmega32D4__", 0= , 0, 0x2000, 1, "x32d4") AVR_MCU ("atxmega32x1", ARCH_AVRXMEGA2, "__AVR_ATxmega32X1__", 0= , 0, 0x2000, 1, "x32x1") +AVR_MCU ("atmxt112sl", ARCH_AVRXMEGA2, "__AVR_ATMXT112SL__", 0= , 0, 0x2000, 1, "mxt112sl") +AVR_MCU ("atmxt224", ARCH_AVRXMEGA2, "__AVR_ATMXT224__", 0= , 0, 0x2000, 1, "mxt224") +AVR_MCU ("atmxt224e", ARCH_AVRXMEGA2, "__AVR_ATMXT224E__", 0= , 0, 0x2000, 1, "mxt224e") +AVR_MCU ("atmxt336s", ARCH_AVRXMEGA2, "__AVR_ATMXT336S__", 0= , 0, 0x2000, 1, "mxt336s") +AVR_MCU ("atxmega16a4u", ARCH_AVRXMEGA2, "__AVR_ATxmega16A4U__", 0= , 0, 0x2000, 1, "x16a4u") +AVR_MCU ("atxmega16c4", ARCH_AVRXMEGA2, "__AVR_ATxmega16C4__", 0= , 0, 0x2000, 1, "x16c4") +AVR_MCU ("atxmega32a4u", ARCH_AVRXMEGA2, "__AVR_ATxmega32A4U__", 0= , 0, 0x2000, 1, "x32a4u") +AVR_MCU ("atxmega32c4", ARCH_AVRXMEGA2, "__AVR_ATxmega32C4__", 0= , 0, 0x2000, 1, "x32c4") +AVR_MCU ("atxmega32e5", ARCH_AVRXMEGA2, "__AVR_ATxmega32E5__", 0= , 0, 0x2000, 1, "x32e5") /* Xmega, 64K < Flash <=3D 128K, RAM <=3D 64K */ AVR_MCU ("avrxmega4", ARCH_AVRXMEGA4, NULL, 0= , 0, 0x2000, 2, "x64a4") AVR_MCU ("atxmega64a3", ARCH_AVRXMEGA4, "__AVR_ATxmega64A3__", 0= , 0, 0x2000, 2, "x64a3") AVR_MCU ("atxmega64d3", ARCH_AVRXMEGA4, "__AVR_ATxmega64D3__", 0= , 0, 0x2000, 2, "x64d3") +AVR_MCU ("atxmega64a3u", ARCH_AVRXMEGA4, "__AVR_ATxmega64A3U__", 0= , 0, 0x2000, 2, "x64a3u") +AVR_MCU ("atxmega64a4u", ARCH_AVRXMEGA4, "__AVR_ATxmega64A4U__", 0= , 0, 0x2000, 2, "x64a4u") +AVR_MCU ("atxmega64b1", ARCH_AVRXMEGA4, "__AVR_ATxmega64B1__", 0= , 0, 0x2000, 2, "x64b1") +AVR_MCU ("atxmega64b3", ARCH_AVRXMEGA4, "__AVR_ATxmega64B3__", 0= , 0, 0x2000, 2, "x64b3") +AVR_MCU ("atxmega64c3", ARCH_AVRXMEGA4, "__AVR_ATxmega64C3__", 0= , 0, 0x2000, 2, "x64c3") +AVR_MCU ("atxmega64d4", ARCH_AVRXMEGA4, "__AVR_ATxmega64D4__", 0= , 0, 0x2000, 2, "x64d4") /* Xmega, 64K < Flash <=3D 128K, RAM > 64K */ AVR_MCU ("avrxmega5", ARCH_AVRXMEGA5, NULL, 0= , 0, 0x2000, 2, "x64a1") AVR_MCU ("atxmega64a1", ARCH_AVRXMEGA5, "__AVR_ATxmega64A1__", 0= , 0, 0x2000, 2, "x64a1") AVR_MCU ("atxmega64a1u", ARCH_AVRXMEGA5, "__AVR_ATxmega64A1U__", 0= , 0, 0x2000, 2, "x64a1u") /* Xmega, 128K < Flash, RAM <=3D 64K */ -AVR_MCU ("avrxmega6", ARCH_AVRXMEGA6, NULL, 0= , 0, 0x2000, 5, "x128a3") +AVR_MCU ("avrxmega6", ARCH_AVRXMEGA6, NULL, 0= , 0, 0x2000, 6, "x128a3") AVR_MCU ("atxmega128a3", ARCH_AVRXMEGA6, "__AVR_ATxmega128A3__", 0= , 0, 0x2000, 3, "x128a3") AVR_MCU ("atxmega128d3", ARCH_AVRXMEGA6, "__AVR_ATxmega128D3__", 0= , 0, 0x2000, 3, "x128d3") AVR_MCU ("atxmega192a3", ARCH_AVRXMEGA6, "__AVR_ATxmega192A3__", 0= , 0, 0x2000, 4, "x192a3") @@ -257,10 +310,24 @@ AVR_MCU ("atxmega256a3", ARCH_AVRXME AVR_MCU ("atxmega256a3b", ARCH_AVRXMEGA6, "__AVR_ATxmega256A3B__", 0= , 0, 0x2000, 5, "x256a3b") AVR_MCU ("atxmega256a3bu", ARCH_AVRXMEGA6, "__AVR_ATxmega256A3BU__", 0= , 0, 0x2000, 5, "x256a3bu") AVR_MCU ("atxmega256d3", ARCH_AVRXMEGA6, "__AVR_ATxmega256D3__", 0= , 0, 0x2000, 5, "x256d3") +AVR_MCU ("atxmega128a3u", ARCH_AVRXMEGA6, "__AVR_ATxmega128A3U__", 0= , 0, 0x2000, 3, "x128a3u") +AVR_MCU ("atxmega128b1", ARCH_AVRXMEGA6, "__AVR_ATxmega128B1__", 0= , 0, 0x2000, 3, "x128b1") +AVR_MCU ("atxmega128b3", ARCH_AVRXMEGA6, "__AVR_ATxmega128B3__", 0= , 0, 0x2000, 3, "x128b3") +AVR_MCU ("atxmega128c3", ARCH_AVRXMEGA6, "__AVR_ATxmega128C3__", 0= , 0, 0x2000, 3, "x128c3") +AVR_MCU ("atxmega128d4", ARCH_AVRXMEGA6, "__AVR_ATxmega128D4__", 0= , 0, 0x2000, 3, "x128d4") +AVR_MCU ("atmxt540s", ARCH_AVRXMEGA6, "__AVR_ATMXT540S__", 0= , 0, 0x2000, 2, "mxt540s") +AVR_MCU ("atmxt540sreva", ARCH_AVRXMEGA6, "__AVR_ATMXT540SREVA__", 0= , 0, 0x2000, 2, "mxt540sreva") +AVR_MCU ("atxmega192a3u", ARCH_AVRXMEGA6, "__AVR_ATxmega192A3U__", 0= , 0, 0x2000, 4, "x192a3u") +AVR_MCU ("atxmega192c3", ARCH_AVRXMEGA6, "__AVR_ATxmega192C3__", 0= , 0, 0x2000, 4, "x192c3") +AVR_MCU ("atxmega256a3u", ARCH_AVRXMEGA6, "__AVR_ATxmega256A3U__", 0= , 0, 0x2000, 5, "x256a3u") +AVR_MCU ("atxmega256c3", ARCH_AVRXMEGA6, "__AVR_ATxmega256C3__", 0= , 0, 0x2000, 5, "x256c3") +AVR_MCU ("atxmega384c3", ARCH_AVRXMEGA6, "__AVR_ATxmega384C3__", 0= , 0, 0x2000, 6, "x384c3") +AVR_MCU ("atxmega384d3", ARCH_AVRXMEGA6, "__AVR_ATxmega384D3__", 0= , 0, 0x2000, 6, "x384d3") /* Xmega, 128K < Flash, RAM > 64K RAM. */ AVR_MCU ("avrxmega7", ARCH_AVRXMEGA7, NULL, 0= , 0, 0x2000, 3, "x128a1") AVR_MCU ("atxmega128a1", ARCH_AVRXMEGA7, "__AVR_ATxmega128A1__", 0= , 0, 0x2000, 3, "x128a1") AVR_MCU ("atxmega128a1u", ARCH_AVRXMEGA7, "__AVR_ATxmega128A1U__", 0= , 0, 0x2000, 3, "x128a1u") +AVR_MCU ("atxmega128a4u", ARCH_AVRXMEGA7, "__AVR_ATxmega128A4U__", 0= , 0, 0x2000, 3, "x128a4u") /* Assembler only. */ AVR_MCU ("avr1", ARCH_AVR1, NULL, 0= , 0, 0x0060, 1, "s1200") AVR_MCU ("at90s1200", ARCH_AVR1, "__AVR_AT90S1200__", 0= , 0, 0x0060, 1, "s1200") Index: config/avr/avr-tables.opt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- config/avr/avr-tables.opt (revision 195877) +++ config/avr/avr-tables.opt (working copy) @@ -69,530 +69,740 @@ EnumValue Enum(avr_mcu) String(ata6289) Value(14) =20 EnumValue -Enum(avr_mcu) String(attiny13) Value(15) +Enum(avr_mcu) String(ata5272) Value(15) =20 EnumValue -Enum(avr_mcu) String(attiny13a) Value(16) +Enum(avr_mcu) String(attiny13) Value(16) =20 EnumValue -Enum(avr_mcu) String(attiny2313) Value(17) +Enum(avr_mcu) String(attiny13a) Value(17) =20 EnumValue -Enum(avr_mcu) String(attiny2313a) Value(18) +Enum(avr_mcu) String(attiny2313) Value(18) =20 EnumValue -Enum(avr_mcu) String(attiny24) Value(19) +Enum(avr_mcu) String(attiny2313a) Value(19) =20 EnumValue -Enum(avr_mcu) String(attiny24a) Value(20) +Enum(avr_mcu) String(attiny24) Value(20) =20 EnumValue -Enum(avr_mcu) String(attiny4313) Value(21) +Enum(avr_mcu) String(attiny24a) Value(21) =20 EnumValue -Enum(avr_mcu) String(attiny44) Value(22) +Enum(avr_mcu) String(attiny4313) Value(22) =20 EnumValue -Enum(avr_mcu) String(attiny44a) Value(23) +Enum(avr_mcu) String(attiny44) Value(23) =20 EnumValue -Enum(avr_mcu) String(attiny84) Value(24) +Enum(avr_mcu) String(attiny44a) Value(24) =20 EnumValue -Enum(avr_mcu) String(attiny84a) Value(25) +Enum(avr_mcu) String(attiny84) Value(25) =20 EnumValue -Enum(avr_mcu) String(attiny25) Value(26) +Enum(avr_mcu) String(attiny84a) Value(26) =20 EnumValue -Enum(avr_mcu) String(attiny45) Value(27) +Enum(avr_mcu) String(attiny25) Value(27) =20 EnumValue -Enum(avr_mcu) String(attiny85) Value(28) +Enum(avr_mcu) String(attiny45) Value(28) =20 EnumValue -Enum(avr_mcu) String(attiny261) Value(29) +Enum(avr_mcu) String(attiny85) Value(29) =20 EnumValue -Enum(avr_mcu) String(attiny261a) Value(30) +Enum(avr_mcu) String(attiny261) Value(30) =20 EnumValue -Enum(avr_mcu) String(attiny461) Value(31) +Enum(avr_mcu) String(attiny261a) Value(31) =20 EnumValue -Enum(avr_mcu) String(attiny461a) Value(32) +Enum(avr_mcu) String(attiny461) Value(32) =20 EnumValue -Enum(avr_mcu) String(attiny861) Value(33) +Enum(avr_mcu) String(attiny461a) Value(33) =20 EnumValue -Enum(avr_mcu) String(attiny861a) Value(34) +Enum(avr_mcu) String(attiny861) Value(34) =20 EnumValue -Enum(avr_mcu) String(attiny43u) Value(35) +Enum(avr_mcu) String(attiny861a) Value(35) =20 EnumValue -Enum(avr_mcu) String(attiny87) Value(36) +Enum(avr_mcu) String(attiny43u) Value(36) =20 EnumValue -Enum(avr_mcu) String(attiny48) Value(37) +Enum(avr_mcu) String(attiny87) Value(37) =20 EnumValue -Enum(avr_mcu) String(attiny88) Value(38) +Enum(avr_mcu) String(attiny48) Value(38) =20 EnumValue -Enum(avr_mcu) String(at86rf401) Value(39) +Enum(avr_mcu) String(attiny88) Value(39) =20 EnumValue -Enum(avr_mcu) String(avr3) Value(40) +Enum(avr_mcu) String(at86rf401) Value(40) =20 EnumValue -Enum(avr_mcu) String(at43usb355) Value(41) +Enum(avr_mcu) String(avr3) Value(41) =20 EnumValue -Enum(avr_mcu) String(at76c711) Value(42) +Enum(avr_mcu) String(at43usb355) Value(42) =20 EnumValue -Enum(avr_mcu) String(avr31) Value(43) +Enum(avr_mcu) String(at76c711) Value(43) =20 EnumValue -Enum(avr_mcu) String(atmega103) Value(44) +Enum(avr_mcu) String(avr31) Value(44) =20 EnumValue -Enum(avr_mcu) String(at43usb320) Value(45) +Enum(avr_mcu) String(atmega103) Value(45) =20 EnumValue -Enum(avr_mcu) String(avr35) Value(46) +Enum(avr_mcu) String(at43usb320) Value(46) =20 EnumValue -Enum(avr_mcu) String(at90usb82) Value(47) +Enum(avr_mcu) String(avr35) Value(47) =20 EnumValue -Enum(avr_mcu) String(at90usb162) Value(48) +Enum(avr_mcu) String(ata5505) Value(48) =20 EnumValue -Enum(avr_mcu) String(atmega8u2) Value(49) +Enum(avr_mcu) String(at90usb82) Value(49) =20 EnumValue -Enum(avr_mcu) String(atmega16u2) Value(50) +Enum(avr_mcu) String(at90usb162) Value(50) =20 EnumValue -Enum(avr_mcu) String(atmega32u2) Value(51) +Enum(avr_mcu) String(atmega8u2) Value(51) =20 EnumValue -Enum(avr_mcu) String(attiny167) Value(52) +Enum(avr_mcu) String(atmega16u2) Value(52) =20 EnumValue -Enum(avr_mcu) String(avr4) Value(53) +Enum(avr_mcu) String(atmega32u2) Value(53) =20 EnumValue -Enum(avr_mcu) String(atmega8) Value(54) +Enum(avr_mcu) String(attiny167) Value(54) =20 EnumValue -Enum(avr_mcu) String(atmega48) Value(55) +Enum(avr_mcu) String(attiny1634) Value(55) =20 EnumValue -Enum(avr_mcu) String(atmega48a) Value(56) +Enum(avr_mcu) String(avr4) Value(56) =20 EnumValue -Enum(avr_mcu) String(atmega48p) Value(57) +Enum(avr_mcu) String(ata6285) Value(57) =20 EnumValue -Enum(avr_mcu) String(atmega88) Value(58) +Enum(avr_mcu) String(ata6286) Value(58) =20 EnumValue -Enum(avr_mcu) String(atmega88a) Value(59) +Enum(avr_mcu) String(atmega8) Value(59) =20 EnumValue -Enum(avr_mcu) String(atmega88p) Value(60) +Enum(avr_mcu) String(atmega8a) Value(60) =20 EnumValue -Enum(avr_mcu) String(atmega88pa) Value(61) +Enum(avr_mcu) String(atmega48) Value(61) =20 EnumValue -Enum(avr_mcu) String(atmega8515) Value(62) +Enum(avr_mcu) String(atmega48a) Value(62) =20 EnumValue -Enum(avr_mcu) String(atmega8535) Value(63) +Enum(avr_mcu) String(atmega48p) Value(63) =20 EnumValue -Enum(avr_mcu) String(atmega8hva) Value(64) +Enum(avr_mcu) String(atmega48pa) Value(64) =20 EnumValue -Enum(avr_mcu) String(at90pwm1) Value(65) +Enum(avr_mcu) String(atmega88) Value(65) =20 EnumValue -Enum(avr_mcu) String(at90pwm2) Value(66) +Enum(avr_mcu) String(atmega88a) Value(66) =20 EnumValue -Enum(avr_mcu) String(at90pwm2b) Value(67) +Enum(avr_mcu) String(atmega88p) Value(67) =20 EnumValue -Enum(avr_mcu) String(at90pwm3) Value(68) +Enum(avr_mcu) String(atmega88pa) Value(68) =20 EnumValue -Enum(avr_mcu) String(at90pwm3b) Value(69) +Enum(avr_mcu) String(atmega8515) Value(69) =20 EnumValue -Enum(avr_mcu) String(at90pwm81) Value(70) +Enum(avr_mcu) String(atmega8535) Value(70) =20 EnumValue -Enum(avr_mcu) String(avr5) Value(71) +Enum(avr_mcu) String(atmega8hva) Value(71) =20 EnumValue -Enum(avr_mcu) String(atmega16) Value(72) +Enum(avr_mcu) String(at90pwm1) Value(72) =20 EnumValue -Enum(avr_mcu) String(atmega16a) Value(73) +Enum(avr_mcu) String(at90pwm2) Value(73) =20 EnumValue -Enum(avr_mcu) String(atmega161) Value(74) +Enum(avr_mcu) String(at90pwm2b) Value(74) =20 EnumValue -Enum(avr_mcu) String(atmega162) Value(75) +Enum(avr_mcu) String(at90pwm3) Value(75) =20 EnumValue -Enum(avr_mcu) String(atmega163) Value(76) +Enum(avr_mcu) String(at90pwm3b) Value(76) =20 EnumValue -Enum(avr_mcu) String(atmega164a) Value(77) +Enum(avr_mcu) String(at90pwm81) Value(77) =20 EnumValue -Enum(avr_mcu) String(atmega164p) Value(78) +Enum(avr_mcu) String(avr5) Value(78) =20 EnumValue -Enum(avr_mcu) String(atmega165) Value(79) +Enum(avr_mcu) String(ata5790) Value(79) =20 EnumValue -Enum(avr_mcu) String(atmega165a) Value(80) +Enum(avr_mcu) String(ata5790n) Value(80) =20 EnumValue -Enum(avr_mcu) String(atmega165p) Value(81) +Enum(avr_mcu) String(ata5795) Value(81) =20 EnumValue -Enum(avr_mcu) String(atmega168) Value(82) +Enum(avr_mcu) String(atmega16) Value(82) =20 EnumValue -Enum(avr_mcu) String(atmega168a) Value(83) +Enum(avr_mcu) String(atmega16a) Value(83) =20 EnumValue -Enum(avr_mcu) String(atmega168p) Value(84) +Enum(avr_mcu) String(atmega161) Value(84) =20 EnumValue -Enum(avr_mcu) String(atmega169) Value(85) +Enum(avr_mcu) String(atmega162) Value(85) =20 EnumValue -Enum(avr_mcu) String(atmega169a) Value(86) +Enum(avr_mcu) String(atmega163) Value(86) =20 EnumValue -Enum(avr_mcu) String(atmega169p) Value(87) +Enum(avr_mcu) String(atmega164a) Value(87) =20 EnumValue -Enum(avr_mcu) String(atmega169pa) Value(88) +Enum(avr_mcu) String(atmega164p) Value(88) =20 EnumValue -Enum(avr_mcu) String(atmega32) Value(89) +Enum(avr_mcu) String(atmega164pa) Value(89) =20 EnumValue -Enum(avr_mcu) String(atmega323) Value(90) +Enum(avr_mcu) String(atmega165) Value(90) =20 EnumValue -Enum(avr_mcu) String(atmega324a) Value(91) +Enum(avr_mcu) String(atmega165a) Value(91) =20 EnumValue -Enum(avr_mcu) String(atmega324p) Value(92) +Enum(avr_mcu) String(atmega165p) Value(92) =20 EnumValue -Enum(avr_mcu) String(atmega324pa) Value(93) +Enum(avr_mcu) String(atmega165pa) Value(93) =20 EnumValue -Enum(avr_mcu) String(atmega325) Value(94) +Enum(avr_mcu) String(atmega168) Value(94) =20 EnumValue -Enum(avr_mcu) String(atmega325a) Value(95) +Enum(avr_mcu) String(atmega168a) Value(95) =20 EnumValue -Enum(avr_mcu) String(atmega325p) Value(96) +Enum(avr_mcu) String(atmega168p) Value(96) =20 EnumValue -Enum(avr_mcu) String(atmega3250) Value(97) +Enum(avr_mcu) String(atmega168pa) Value(97) =20 EnumValue -Enum(avr_mcu) String(atmega3250a) Value(98) +Enum(avr_mcu) String(atmega169) Value(98) =20 EnumValue -Enum(avr_mcu) String(atmega3250p) Value(99) +Enum(avr_mcu) String(atmega169a) Value(99) =20 EnumValue -Enum(avr_mcu) String(atmega328) Value(100) +Enum(avr_mcu) String(atmega169p) Value(100) =20 EnumValue -Enum(avr_mcu) String(atmega328p) Value(101) +Enum(avr_mcu) String(atmega169pa) Value(101) =20 EnumValue -Enum(avr_mcu) String(atmega329) Value(102) +Enum(avr_mcu) String(atmega16hva) Value(102) =20 EnumValue -Enum(avr_mcu) String(atmega329a) Value(103) +Enum(avr_mcu) String(atmega16hvb) Value(103) =20 EnumValue -Enum(avr_mcu) String(atmega329p) Value(104) +Enum(avr_mcu) String(atmega16hvbrevb) Value(104) =20 EnumValue -Enum(avr_mcu) String(atmega329pa) Value(105) +Enum(avr_mcu) String(atmega16m1) Value(105) =20 EnumValue -Enum(avr_mcu) String(atmega3290) Value(106) +Enum(avr_mcu) String(atmega16u4) Value(106) =20 EnumValue -Enum(avr_mcu) String(atmega3290a) Value(107) +Enum(avr_mcu) String(atmega26hvg) Value(107) =20 EnumValue -Enum(avr_mcu) String(atmega3290p) Value(108) +Enum(avr_mcu) String(atmega32a) Value(108) =20 EnumValue -Enum(avr_mcu) String(atmega406) Value(109) +Enum(avr_mcu) String(atmega32) Value(109) =20 EnumValue -Enum(avr_mcu) String(atmega64) Value(110) +Enum(avr_mcu) String(atmega32a) Value(110) =20 EnumValue -Enum(avr_mcu) String(atmega640) Value(111) +Enum(avr_mcu) String(atmega323) Value(111) =20 EnumValue -Enum(avr_mcu) String(atmega644) Value(112) +Enum(avr_mcu) String(atmega324a) Value(112) =20 EnumValue -Enum(avr_mcu) String(atmega644a) Value(113) +Enum(avr_mcu) String(atmega324p) Value(113) =20 EnumValue -Enum(avr_mcu) String(atmega644p) Value(114) +Enum(avr_mcu) String(atmega324pa) Value(114) =20 EnumValue -Enum(avr_mcu) String(atmega644pa) Value(115) +Enum(avr_mcu) String(atmega325) Value(115) =20 EnumValue -Enum(avr_mcu) String(atmega645) Value(116) +Enum(avr_mcu) String(atmega325a) Value(116) =20 EnumValue -Enum(avr_mcu) String(atmega645a) Value(117) +Enum(avr_mcu) String(atmega325p) Value(117) =20 EnumValue -Enum(avr_mcu) String(atmega645p) Value(118) +Enum(avr_mcu) String(atmega3250) Value(118) =20 EnumValue -Enum(avr_mcu) String(atmega6450) Value(119) +Enum(avr_mcu) String(atmega3250a) Value(119) =20 EnumValue -Enum(avr_mcu) String(atmega6450a) Value(120) +Enum(avr_mcu) String(atmega3250p) Value(120) =20 EnumValue -Enum(avr_mcu) String(atmega6450p) Value(121) +Enum(avr_mcu) String(atmega3250pa) Value(121) =20 EnumValue -Enum(avr_mcu) String(atmega649) Value(122) +Enum(avr_mcu) String(atmega328) Value(122) =20 EnumValue -Enum(avr_mcu) String(atmega649a) Value(123) +Enum(avr_mcu) String(atmega328p) Value(123) =20 EnumValue -Enum(avr_mcu) String(atmega649p) Value(124) +Enum(avr_mcu) String(atmega329) Value(124) =20 EnumValue -Enum(avr_mcu) String(atmega6490) Value(125) +Enum(avr_mcu) String(atmega329a) Value(125) =20 EnumValue -Enum(avr_mcu) String(atmega16hva) Value(126) +Enum(avr_mcu) String(atmega329p) Value(126) =20 EnumValue -Enum(avr_mcu) String(atmega16hva2) Value(127) +Enum(avr_mcu) String(atmega329pa) Value(127) =20 EnumValue -Enum(avr_mcu) String(atmega16hvb) Value(128) +Enum(avr_mcu) String(atmega3290) Value(128) =20 EnumValue -Enum(avr_mcu) String(atmega32hvb) Value(129) +Enum(avr_mcu) String(atmega3290a) Value(129) =20 EnumValue -Enum(avr_mcu) String(atmega64hve) Value(130) +Enum(avr_mcu) String(atmega3290p) Value(130) =20 EnumValue -Enum(avr_mcu) String(at90can32) Value(131) +Enum(avr_mcu) String(atmega3290pa) Value(131) =20 EnumValue -Enum(avr_mcu) String(at90can64) Value(132) +Enum(avr_mcu) String(atmega32c1) Value(132) =20 EnumValue -Enum(avr_mcu) String(at90pwm216) Value(133) +Enum(avr_mcu) String(atmega32m1) Value(133) =20 EnumValue -Enum(avr_mcu) String(at90pwm316) Value(134) +Enum(avr_mcu) String(atmega32u4) Value(134) =20 EnumValue -Enum(avr_mcu) String(atmega32c1) Value(135) +Enum(avr_mcu) String(atmega32u6) Value(135) =20 EnumValue -Enum(avr_mcu) String(atmega64c1) Value(136) +Enum(avr_mcu) String(atmega406) Value(136) =20 EnumValue -Enum(avr_mcu) String(atmega16m1) Value(137) +Enum(avr_mcu) String(atmega64) Value(137) =20 EnumValue -Enum(avr_mcu) String(atmega32m1) Value(138) +Enum(avr_mcu) String(atmega64a) Value(138) =20 EnumValue -Enum(avr_mcu) String(atmega64m1) Value(139) +Enum(avr_mcu) String(atmega640) Value(139) =20 EnumValue -Enum(avr_mcu) String(atmega16u4) Value(140) +Enum(avr_mcu) String(atmega644) Value(140) =20 EnumValue -Enum(avr_mcu) String(atmega32u4) Value(141) +Enum(avr_mcu) String(atmega644a) Value(141) =20 EnumValue -Enum(avr_mcu) String(atmega32u6) Value(142) +Enum(avr_mcu) String(atmega644p) Value(142) =20 EnumValue -Enum(avr_mcu) String(at90scr100) Value(143) +Enum(avr_mcu) String(atmega644pa) Value(143) =20 EnumValue -Enum(avr_mcu) String(at90usb646) Value(144) +Enum(avr_mcu) String(atmega645) Value(144) =20 EnumValue -Enum(avr_mcu) String(at90usb647) Value(145) +Enum(avr_mcu) String(atmega645a) Value(145) =20 EnumValue -Enum(avr_mcu) String(at94k) Value(146) +Enum(avr_mcu) String(atmega645p) Value(146) =20 EnumValue -Enum(avr_mcu) String(m3000) Value(147) +Enum(avr_mcu) String(atmega6450) Value(147) =20 EnumValue -Enum(avr_mcu) String(avr51) Value(148) +Enum(avr_mcu) String(atmega6450a) Value(148) =20 EnumValue -Enum(avr_mcu) String(atmega128) Value(149) +Enum(avr_mcu) String(atmega6450p) Value(149) =20 EnumValue -Enum(avr_mcu) String(atmega1280) Value(150) +Enum(avr_mcu) String(atmega649) Value(150) =20 EnumValue -Enum(avr_mcu) String(atmega1281) Value(151) +Enum(avr_mcu) String(atmega649a) Value(151) =20 EnumValue -Enum(avr_mcu) String(atmega1284p) Value(152) +Enum(avr_mcu) String(atmega649p) Value(152) =20 EnumValue -Enum(avr_mcu) String(atmega128rfa1) Value(153) +Enum(avr_mcu) String(atmega6490) Value(153) =20 EnumValue -Enum(avr_mcu) String(at90can128) Value(154) +Enum(avr_mcu) String(atmega16hva) Value(154) =20 EnumValue -Enum(avr_mcu) String(at90usb1286) Value(155) +Enum(avr_mcu) String(atmega16hva2) Value(155) =20 EnumValue -Enum(avr_mcu) String(at90usb1287) Value(156) +Enum(avr_mcu) String(atmega16hvb) Value(156) =20 EnumValue -Enum(avr_mcu) String(avr6) Value(157) +Enum(avr_mcu) String(atmega32hvb) Value(157) =20 EnumValue -Enum(avr_mcu) String(atmega2560) Value(158) +Enum(avr_mcu) String(atmega6490a) Value(158) =20 EnumValue -Enum(avr_mcu) String(atmega2561) Value(159) +Enum(avr_mcu) String(atmega6490p) Value(159) =20 EnumValue -Enum(avr_mcu) String(avrxmega2) Value(160) +Enum(avr_mcu) String(atmega64c1) Value(160) =20 EnumValue -Enum(avr_mcu) String(atxmega16a4) Value(161) +Enum(avr_mcu) String(atmega64m1) Value(161) =20 EnumValue -Enum(avr_mcu) String(atxmega16d4) Value(162) +Enum(avr_mcu) String(atmega64hve) Value(162) =20 EnumValue -Enum(avr_mcu) String(atxmega16x1) Value(163) +Enum(avr_mcu) String(atmega64rfa2) Value(163) =20 EnumValue -Enum(avr_mcu) String(atxmega32a4) Value(164) +Enum(avr_mcu) String(atmega64rfr2) Value(164) =20 EnumValue -Enum(avr_mcu) String(atxmega32d4) Value(165) +Enum(avr_mcu) String(atmega32hvb) Value(165) =20 EnumValue -Enum(avr_mcu) String(atxmega32x1) Value(166) +Enum(avr_mcu) String(atmega32hvbrevb) Value(166) =20 EnumValue -Enum(avr_mcu) String(avrxmega4) Value(167) +Enum(avr_mcu) String(atmega16hva2) Value(167) =20 EnumValue -Enum(avr_mcu) String(atxmega64a3) Value(168) +Enum(avr_mcu) String(atmega48hvf) Value(168) =20 EnumValue -Enum(avr_mcu) String(atxmega64d3) Value(169) +Enum(avr_mcu) String(at90can32) Value(169) =20 EnumValue -Enum(avr_mcu) String(avrxmega5) Value(170) +Enum(avr_mcu) String(at90can64) Value(170) =20 EnumValue -Enum(avr_mcu) String(atxmega64a1) Value(171) +Enum(avr_mcu) String(at90pwm161) Value(171) =20 EnumValue -Enum(avr_mcu) String(atxmega64a1u) Value(172) +Enum(avr_mcu) String(at90pwm216) Value(172) =20 EnumValue -Enum(avr_mcu) String(avrxmega6) Value(173) +Enum(avr_mcu) String(at90pwm316) Value(173) =20 EnumValue -Enum(avr_mcu) String(atxmega128a3) Value(174) +Enum(avr_mcu) String(atmega32c1) Value(174) =20 EnumValue -Enum(avr_mcu) String(atxmega128d3) Value(175) +Enum(avr_mcu) String(atmega64c1) Value(175) =20 EnumValue -Enum(avr_mcu) String(atxmega192a3) Value(176) +Enum(avr_mcu) String(atmega16m1) Value(176) =20 EnumValue -Enum(avr_mcu) String(atxmega192d3) Value(177) +Enum(avr_mcu) String(atmega32m1) Value(177) =20 EnumValue -Enum(avr_mcu) String(atxmega256a3) Value(178) +Enum(avr_mcu) String(atmega64m1) Value(178) =20 EnumValue -Enum(avr_mcu) String(atxmega256a3b) Value(179) +Enum(avr_mcu) String(atmega16u4) Value(179) =20 EnumValue -Enum(avr_mcu) String(atxmega256a3bu) Value(180) +Enum(avr_mcu) String(atmega32u4) Value(180) =20 EnumValue -Enum(avr_mcu) String(atxmega256d3) Value(181) +Enum(avr_mcu) String(atmega32u6) Value(181) =20 EnumValue -Enum(avr_mcu) String(avrxmega7) Value(182) +Enum(avr_mcu) String(at90scr100) Value(182) =20 EnumValue -Enum(avr_mcu) String(atxmega128a1) Value(183) +Enum(avr_mcu) String(at90usb646) Value(183) =20 EnumValue -Enum(avr_mcu) String(atxmega128a1u) Value(184) +Enum(avr_mcu) String(at90usb647) Value(184) =20 EnumValue -Enum(avr_mcu) String(avr1) Value(185) +Enum(avr_mcu) String(at94k) Value(185) =20 EnumValue -Enum(avr_mcu) String(at90s1200) Value(186) +Enum(avr_mcu) String(m3000) Value(186) =20 EnumValue -Enum(avr_mcu) String(attiny11) Value(187) +Enum(avr_mcu) String(avr51) Value(187) =20 EnumValue -Enum(avr_mcu) String(attiny12) Value(188) +Enum(avr_mcu) String(atmega128) Value(188) =20 EnumValue -Enum(avr_mcu) String(attiny15) Value(189) +Enum(avr_mcu) String(atmega128a) Value(189) =20 EnumValue -Enum(avr_mcu) String(attiny28) Value(190) +Enum(avr_mcu) String(atmega1280) Value(190) + +EnumValue +Enum(avr_mcu) String(atmega1281) Value(191) + +EnumValue +Enum(avr_mcu) String(atmega1284) Value(192) + +EnumValue +Enum(avr_mcu) String(atmega1284p) Value(193) + +EnumValue +Enum(avr_mcu) String(atmega128rfa1) Value(194) + +EnumValue +Enum(avr_mcu) String(at90can128) Value(195) + +EnumValue +Enum(avr_mcu) String(at90usb1286) Value(196) + +EnumValue +Enum(avr_mcu) String(at90usb1287) Value(197) + +EnumValue +Enum(avr_mcu) String(avr6) Value(198) + +EnumValue +Enum(avr_mcu) String(atmega2560) Value(199) + +EnumValue +Enum(avr_mcu) String(atmega2561) Value(200) + +EnumValue +Enum(avr_mcu) String(avrxmega2) Value(201) + +EnumValue +Enum(avr_mcu) String(atxmega16a4) Value(202) + +EnumValue +Enum(avr_mcu) String(atxmega16d4) Value(203) + +EnumValue +Enum(avr_mcu) String(atxmega16x1) Value(204) + +EnumValue +Enum(avr_mcu) String(atxmega32a4) Value(205) + +EnumValue +Enum(avr_mcu) String(atxmega32d4) Value(206) + +EnumValue +Enum(avr_mcu) String(atxmega32x1) Value(207) + +EnumValue +Enum(avr_mcu) String(atmxt112sl) Value(208) + +EnumValue +Enum(avr_mcu) String(atmxt224) Value(209) + +EnumValue +Enum(avr_mcu) String(atmxt224e) Value(210) + +EnumValue +Enum(avr_mcu) String(atmxt336s) Value(211) + +EnumValue +Enum(avr_mcu) String(atxmega16a4u) Value(212) + +EnumValue +Enum(avr_mcu) String(atxmega16c4) Value(213) + +EnumValue +Enum(avr_mcu) String(atxmega32a4u) Value(214) + +EnumValue +Enum(avr_mcu) String(atxmega32c4) Value(215) + +EnumValue +Enum(avr_mcu) String(atxmega32e5) Value(216) + +EnumValue +Enum(avr_mcu) String(avrxmega4) Value(217) + +EnumValue +Enum(avr_mcu) String(atxmega64a3) Value(218) + +EnumValue +Enum(avr_mcu) String(atxmega64d3) Value(219) + +EnumValue +Enum(avr_mcu) String(atxmega64a3u) Value(220) + +EnumValue +Enum(avr_mcu) String(atxmega64a4u) Value(221) + +EnumValue +Enum(avr_mcu) String(atxmega64b1) Value(222) + +EnumValue +Enum(avr_mcu) String(atxmega64b3) Value(223) + +EnumValue +Enum(avr_mcu) String(atxmega64c3) Value(224) + +EnumValue +Enum(avr_mcu) String(atxmega64d4) Value(225) + +EnumValue +Enum(avr_mcu) String(avrxmega5) Value(226) + +EnumValue +Enum(avr_mcu) String(atxmega64a1) Value(227) + +EnumValue +Enum(avr_mcu) String(atxmega64a1u) Value(228) + +EnumValue +Enum(avr_mcu) String(avrxmega6) Value(229) + +EnumValue +Enum(avr_mcu) String(atxmega128a3) Value(230) + +EnumValue +Enum(avr_mcu) String(atxmega128d3) Value(231) + +EnumValue +Enum(avr_mcu) String(atxmega192a3) Value(232) + +EnumValue +Enum(avr_mcu) String(atxmega192d3) Value(233) + +EnumValue +Enum(avr_mcu) String(atxmega256a3) Value(234) + +EnumValue +Enum(avr_mcu) String(atxmega256a3b) Value(235) + +EnumValue +Enum(avr_mcu) String(atxmega256a3bu) Value(236) + +EnumValue +Enum(avr_mcu) String(atxmega256d3) Value(237) + +EnumValue +Enum(avr_mcu) String(atxmega128a3u) Value(238) + +EnumValue +Enum(avr_mcu) String(atxmega128b1) Value(239) + +EnumValue +Enum(avr_mcu) String(atxmega128b3) Value(240) + +EnumValue +Enum(avr_mcu) String(atxmega128c3) Value(241) + +EnumValue +Enum(avr_mcu) String(atxmega128d4) Value(242) + +EnumValue +Enum(avr_mcu) String(atmxt540s) Value(243) + +EnumValue +Enum(avr_mcu) String(atmxt540sreva) Value(244) + +EnumValue +Enum(avr_mcu) String(atxmega192a3u) Value(245) + +EnumValue +Enum(avr_mcu) String(atxmega192c3) Value(246) + +EnumValue +Enum(avr_mcu) String(atxmega256a3u) Value(247) + +EnumValue +Enum(avr_mcu) String(atxmega256c3) Value(248) + +EnumValue +Enum(avr_mcu) String(atxmega384c3) Value(249) + +EnumValue +Enum(avr_mcu) String(atxmega384d3) Value(250) + +EnumValue +Enum(avr_mcu) String(avrxmega7) Value(251) + +EnumValue +Enum(avr_mcu) String(atxmega128a1) Value(252) + +EnumValue +Enum(avr_mcu) String(atxmega128a1u) Value(253) + +EnumValue +Enum(avr_mcu) String(atxmega128a4u) Value(254) + +EnumValue +Enum(avr_mcu) String(avr1) Value(255) + +EnumValue +Enum(avr_mcu) String(at90s1200) Value(256) + +EnumValue +Enum(avr_mcu) String(attiny11) Value(257) + +EnumValue +Enum(avr_mcu) String(attiny12) Value(258) + +EnumValue +Enum(avr_mcu) String(attiny15) Value(259) + +EnumValue +Enum(avr_mcu) String(attiny28) Value(260) =20 Index: config/avr/driver-avr.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- config/avr/driver-avr.c (revision 195877) +++ config/avr/driver-avr.c (working copy) @@ -48,10 +48,27 @@ avr_set_current_device (const char *name avr_current_arch =3D &avr_arch_types[avr_current_device->arch]; } =20 -/* Returns command line parameters that describe the device architecture. = */ +/* Returns command line parameters to pass to as. */ =20 -const char * -avr_device_to_arch (int argc, const char **argv) +const char* +avr_device_to_as (int argc, const char **argv) +{ + if (0 =3D=3D argc) + return NULL; + + avr_set_current_device (argv[0]); + + enum avr_arch arch_for_as =3D avr_current_arch->arch_for_as; + + return concat ("-mmcu=3D", avr_arch_types[arch_for_as].arch_name, + avr_current_device->errata_skip ? "" : " -mno-skip-bug", + NULL); +} + +/* Returns command line parameters to pass to ld. */ + +const char* +avr_device_to_ld (int argc, const char **argv) { if (0 =3D=3D argc) return NULL; Index: config/avr/avr.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- config/avr/avr.h (revision 195877) +++ config/avr/avr.h (working copy) @@ -486,14 +486,16 @@ typedef struct avr_args #define ADJUST_INSN_LENGTH(INSN, LENGTH) \ (LENGTH =3D avr_adjust_insn_length (INSN, LENGTH)) =20 -extern const char *avr_device_to_arch (int argc, const char **argv); +extern const char *avr_device_to_as (int argc, const char **argv); +extern const char *avr_device_to_ld (int argc, const char **argv); extern const char *avr_device_to_data_start (int argc, const char **argv); extern const char *avr_device_to_startfiles (int argc, const char **argv); extern const char *avr_device_to_devicelib (int argc, const char **argv); extern const char *avr_device_to_sp8 (int argc, const char **argv); =20 #define EXTRA_SPEC_FUNCTIONS \ - { "device_to_arch", avr_device_to_arch }, \ + { "device_to_as", avr_device_to_as }, \ + { "device_to_ld", avr_device_to_ld }, \ { "device_to_data_start", avr_device_to_data_start }, \ { "device_to_startfile", avr_device_to_startfiles }, \ { "device_to_devicelib", avr_device_to_devicelib }, \ @@ -507,14 +509,9 @@ extern const char *avr_device_to_sp8 (in #define CC1PLUS_SPEC "%{!frtti:-fno-rtti} \ %{!fenforce-eh-specs:-fno-enforce-eh-specs} \ %{!fexceptions:-fno-exceptions}" -/* A C string constant that tells the GCC driver program options to - pass to `cc1plus'. */ - -#define ASM_SPEC "%{mmcu=3Davr25:-mmcu=3Davr2;mmcu=3Davr35:-mmcu=3Davr3;mm= cu=3Davr31:-mmcu=3Davr3;mmcu=3Davr51:-mmcu=3Davr5;\ -mmcu=3D*:-mmcu=3D%*} \ -%{mmcu=3D*:%{!mmcu=3Davr2:%{!mmcu=3Dat90s8515:%{!mmcu=3Davr31:%{!mmcu=3Dat= mega103:\ --mno-skip-bug}}}}}" =20 +#define ASM_SPEC "%:device_to_as(%{mmcu=3D*:%*}) " +=20=20 #define LINK_SPEC "\ %{mrelax:--relax\ %{mpmem-wrap-around:%{mmcu=3Dat90usb8*:--pmem-wrap-around=3D8k}\ @@ -524,7 +521,7 @@ mmcu=3D*:-mmcu=3D%*} \ %{mmcu=3Datmega64*|\ mmcu=3Dat90can64*|\ mmcu=3Dat90usb64*:--pmem-wrap-around=3D64k}= }}\ -%:device_to_arch(%{mmcu=3D*:%*})\ +%:device_to_as(%{mmcu=3D*:%*})\ %:device_to_data_start(%{mmcu=3D*:%*})" =20 #define LIB_SPEC \ Index: doc/avr-mmcu.texi =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- doc/avr-mmcu.texi (revision 195736) +++ doc/avr-mmcu.texi (working copy) @@ -18,7 +18,7 @@ =20 @item avr25 ``Classic'' devices with up to 8@tie{}KiB of program memory and with the @= code{MOVW} instruction. -@*@var{mcu}@tie{}=3D @code{ata6289}, @code{attiny13}, @code{attiny13a}, @c= ode{attiny2313}, @code{attiny2313a}, @code{attiny24}, @code{attiny24a}, @co= de{attiny25}, @code{attiny261}, @code{attiny261a}, @code{attiny43u}, @code{= attiny4313}, @code{attiny44}, @code{attiny44a}, @code{attiny45}, @code{atti= ny461}, @code{attiny461a}, @code{attiny48}, @code{attiny84}, @code{attiny84= a}, @code{attiny85}, @code{attiny861}, @code{attiny861a}, @code{attiny87}, = @code{attiny88}, @code{at86rf401}. +@*@var{mcu}@tie{}=3D @code{ata5272}, @code{ata6289}, @code{attiny13}, @cod= e{attiny13a}, @code{attiny2313}, @code{attiny2313a}, @code{attiny24}, @code= {attiny24a}, @code{attiny25}, @code{attiny261}, @code{attiny261a}, @code{at= tiny43u}, @code{attiny4313}, @code{attiny44}, @code{attiny44a}, @code{attin= y45}, @code{attiny461}, @code{attiny461a}, @code{attiny48}, @code{attiny84}= , @code{attiny84a}, @code{attiny85}, @code{attiny861}, @code{attiny861a}, @= code{attiny87}, @code{attiny88}, @code{at86rf401}. =20 @item avr3 ``Classic'' devices with 16@tie{}KiB up to 64@tie{}KiB of program memory. @@ -30,19 +30,19 @@ =20 @item avr35 ``Classic'' devices with 16@tie{}KiB up to 64@tie{}KiB of program memory a= nd with the @code{MOVW} instruction. -@*@var{mcu}@tie{}=3D @code{atmega16u2}, @code{atmega32u2}, @code{atmega8u2= }, @code{attiny167}, @code{at90usb162}, @code{at90usb82}. +@*@var{mcu}@tie{}=3D @code{ata5505}, @code{atmega16u2}, @code{atmega32u2},= @code{atmega8u2}, @code{attiny1634}, @code{attiny167}, @code{at90usb162}, = @code{at90usb82}. =20 @item avr4 ``Enhanced'' devices with up to 8@tie{}KiB of program memory. -@*@var{mcu}@tie{}=3D @code{atmega48}, @code{atmega48a}, @code{atmega48p}, = @code{atmega8}, @code{atmega8hva}, @code{atmega8515}, @code{atmega8535}, @c= ode{atmega88}, @code{atmega88a}, @code{atmega88p}, @code{atmega88pa}, @code= {at90pwm1}, @code{at90pwm2}, @code{at90pwm2b}, @code{at90pwm3}, @code{at90p= wm3b}, @code{at90pwm81}. +@*@var{mcu}@tie{}=3D @code{ata6285}, @code{ata6286}, @code{atmega48}, @cod= e{atmega48a}, @code{atmega48p}, @code{atmega48pa}, @code{atmega8}, @code{at= mega8a}, @code{atmega8hva}, @code{atmega8515}, @code{atmega8535}, @code{atm= ega88}, @code{atmega88a}, @code{atmega88p}, @code{atmega88pa}, @code{at90pw= m1}, @code{at90pwm2}, @code{at90pwm2b}, @code{at90pwm3}, @code{at90pwm3b}, = @code{at90pwm81}. =20 @item avr5 ``Enhanced'' devices with 16@tie{}KiB up to 64@tie{}KiB of program memory. -@*@var{mcu}@tie{}=3D @code{atmega16}, @code{atmega16a}, @code{atmega16hva}= , @code{atmega16hva2}, @code{atmega16hvb}, @code{atmega16m1}, @code{atmega1= 6u4}, @code{atmega161}, @code{atmega162}, @code{atmega163}, @code{atmega164= a}, @code{atmega164p}, @code{atmega165}, @code{atmega165a}, @code{atmega165= p}, @code{atmega168}, @code{atmega168a}, @code{atmega168p}, @code{atmega169= }, @code{atmega169a}, @code{atmega169p}, @code{atmega169pa}, @code{atmega32= }, @code{atmega32c1}, @code{atmega32hvb}, @code{atmega32m1}, @code{atmega32= u4}, @code{atmega32u6}, @code{atmega323}, @code{atmega324a}, @code{atmega32= 4p}, @code{atmega324pa}, @code{atmega325}, @code{atmega325a}, @code{atmega3= 25p}, @code{atmega3250}, @code{atmega3250a}, @code{atmega3250p}, @code{atme= ga328}, @code{atmega328p}, @code{atmega329}, @code{atmega329a}, @code{atmeg= a329p}, @code{atmega329pa}, @code{atmega3290}, @code{atmega3290a}, @code{at= mega3290p}, @code{atmega406}, @code{atmega64}, @code{atmega64c1}, @code{atm= ega64hve}, @code{atmega64m1}, @code{atmega640}, @code{atmega644}, @code{atm= ega644a}, @code{atmega644p}, @code{atmega644pa}, @code{atmega645}, @code{at= mega645a}, @code{atmega645p}, @code{atmega6450}, @code{atmega6450a}, @code{= atmega6450p}, @code{atmega649}, @code{atmega649a}, @code{atmega649p}, @code= {atmega6490}, @code{at90can32}, @code{at90can64}, @code{at90pwm216}, @code{= at90pwm316}, @code{at90scr100}, @code{at90usb646}, @code{at90usb647}, @code= {at94k}, @code{m3000}. +@*@var{mcu}@tie{}=3D @code{ata5790}, @code{ata5790n}, @code{ata5795}, @cod= e{atmega16}, @code{atmega16a}, @code{atmega16hva}, @code{atmega16hva}, @cod= e{atmega16hva2}, @code{atmega16hva2}, @code{atmega16hvb}, @code{atmega16hvb= }, @code{atmega16hvbrevb}, @code{atmega16m1}, @code{atmega16m1}, @code{atme= ga16u4}, @code{atmega16u4}, @code{atmega161}, @code{atmega162}, @code{atmeg= a163}, @code{atmega164a}, @code{atmega164p}, @code{atmega164pa}, @code{atme= ga165}, @code{atmega165a}, @code{atmega165p}, @code{atmega165pa}, @code{atm= ega168}, @code{atmega168a}, @code{atmega168p}, @code{atmega168pa}, @code{at= mega169}, @code{atmega169a}, @code{atmega169p}, @code{atmega169pa}, @code{a= tmega26hvg}, @code{atmega32}, @code{atmega32a}, @code{atmega32a}, @code{atm= ega32c1}, @code{atmega32c1}, @code{atmega32hvb}, @code{atmega32hvb}, @code{= atmega32hvbrevb}, @code{atmega32m1}, @code{atmega32m1}, @code{atmega32u4}, = @code{atmega32u4}, @code{atmega32u6}, @code{atmega32u6}, @code{atmega323}, = @code{atmega324a}, @code{atmega324p}, @code{atmega324pa}, @code{atmega325},= @code{atmega325a}, @code{atmega325p}, @code{atmega3250}, @code{atmega3250a= }, @code{atmega3250p}, @code{atmega3250pa}, @code{atmega328}, @code{atmega3= 28p}, @code{atmega329}, @code{atmega329a}, @code{atmega329p}, @code{atmega3= 29pa}, @code{atmega3290}, @code{atmega3290a}, @code{atmega3290p}, @code{atm= ega3290pa}, @code{atmega406}, @code{atmega48hvf}, @code{atmega64}, @code{at= mega64a}, @code{atmega64c1}, @code{atmega64c1}, @code{atmega64hve}, @code{a= tmega64m1}, @code{atmega64m1}, @code{atmega64rfa2}, @code{atmega64rfr2}, @c= ode{atmega640}, @code{atmega644}, @code{atmega644a}, @code{atmega644p}, @co= de{atmega644pa}, @code{atmega645}, @code{atmega645a}, @code{atmega645p}, @c= ode{atmega6450}, @code{atmega6450a}, @code{atmega6450p}, @code{atmega649}, = @code{atmega649a}, @code{atmega649p}, @code{atmega6490}, @code{atmega6490a}= , @code{atmega6490p}, @code{at90can32}, @code{at90can64}, @code{at90pwm161}= , @code{at90pwm216}, @code{at90pwm316}, @code{at90scr100}, @code{at90usb646= }, @code{at90usb647}, @code{at94k}, @code{m3000}. =20 @item avr51 ``Enhanced'' devices with 128@tie{}KiB of program memory. -@*@var{mcu}@tie{}=3D @code{atmega128}, @code{atmega128rfa1}, @code{atmega1= 280}, @code{atmega1281}, @code{atmega1284p}, @code{at90can128}, @code{at90u= sb1286}, @code{at90usb1287}. +@*@var{mcu}@tie{}=3D @code{atmega128}, @code{atmega128a}, @code{atmega128r= fa1}, @code{atmega1280}, @code{atmega1281}, @code{atmega1284}, @code{atmega= 1284p}, @code{at90can128}, @code{at90usb1286}, @code{at90usb1287}. =20 @item avr6 ``Enhanced'' devices with 3-byte PC, i.e.@: with more than 128@tie{}KiB of= program memory. @@ -50,11 +50,11 @@ =20 @item avrxmega2 ``XMEGA'' devices with more than 8@tie{}KiB and up to 64@tie{}KiB of progr= am memory. -@*@var{mcu}@tie{}=3D @code{atxmega16a4}, @code{atxmega16d4}, @code{atxmega= 16x1}, @code{atxmega32a4}, @code{atxmega32d4}, @code{atxmega32x1}. +@*@var{mcu}@tie{}=3D @code{atmxt112sl}, @code{atmxt224}, @code{atmxt224e},= @code{atmxt336s}, @code{atxmega16a4}, @code{atxmega16a4u}, @code{atxmega16= c4}, @code{atxmega16d4}, @code{atxmega16x1}, @code{atxmega32a4}, @code{atxm= ega32a4u}, @code{atxmega32c4}, @code{atxmega32d4}, @code{atxmega32e5}, @cod= e{atxmega32x1}. =20 @item avrxmega4 ``XMEGA'' devices with more than 64@tie{}KiB and up to 128@tie{}KiB of pro= gram memory. -@*@var{mcu}@tie{}=3D @code{atxmega64a3}, @code{atxmega64d3}. +@*@var{mcu}@tie{}=3D @code{atxmega64a3}, @code{atxmega64a3u}, @code{atxmeg= a64a4u}, @code{atxmega64b1}, @code{atxmega64b3}, @code{atxmega64c3}, @code{= atxmega64d3}, @code{atxmega64d4}. =20 @item avrxmega5 ``XMEGA'' devices with more than 64@tie{}KiB and up to 128@tie{}KiB of pro= gram memory and more than 64@tie{}KiB of RAM. @@ -62,11 +62,11 @@ =20 @item avrxmega6 ``XMEGA'' devices with more than 128@tie{}KiB of program memory. -@*@var{mcu}@tie{}=3D @code{atxmega128a3}, @code{atxmega128d3}, @code{atxme= ga192a3}, @code{atxmega192d3}, @code{atxmega256a3}, @code{atxmega256a3b}, @= code{atxmega256a3bu}, @code{atxmega256d3}. +@*@var{mcu}@tie{}=3D @code{atmxt540s}, @code{atmxt540sreva}, @code{atxmega= 128a3}, @code{atxmega128a3u}, @code{atxmega128b1}, @code{atxmega128b3}, @co= de{atxmega128c3}, @code{atxmega128d3}, @code{atxmega128d4}, @code{atxmega19= 2a3}, @code{atxmega192a3u}, @code{atxmega192c3}, @code{atxmega192d3}, @code= {atxmega256a3}, @code{atxmega256a3b}, @code{atxmega256a3bu}, @code{atxmega2= 56a3u}, @code{atxmega256c3}, @code{atxmega256d3}, @code{atxmega384c3}, @cod= e{atxmega384d3}. =20 @item avrxmega7 ``XMEGA'' devices with more than 128@tie{}KiB of program memory and more t= han 64@tie{}KiB of RAM. -@*@var{mcu}@tie{}=3D @code{atxmega128a1}, @code{atxmega128a1u}. +@*@var{mcu}@tie{}=3D @code{atxmega128a1}, @code{atxmega128a1u}, @code{atxm= ega128a4u}. =20 @item avr1 This ISA is implemented by the minimal AVR core and supported for assemble= r only. --------------010003090504040100010104--