Commit c7f3e0b0 by Marek Michalkiewicz Committed by Marek Michalkiewicz

avr.c (avr_mcu_types): Add new MCU types.


	* config/avr/avr.c (avr_mcu_types): Add new MCU types.
	* config/avr/avr.h (CPP_SPEC): Likewise.
	(LINK_SPEC): Likewise.
	(CRT_BINUTILS_SPECS): Likewise.
	* config/avr/t-avr (MULTILIB_MATCHES): Likewise.
	* doc/invoke.texi (AVR Options): Document them.

From-SVN: r48604
parent 6ba4d630
2002-01-07 Marek Michalkiewicz <marekm@amelek.gda.pl>
* config/avr/avr.c (avr_mcu_types): Add new MCU types.
* config/avr/avr.h (CPP_SPEC): Likewise.
(LINK_SPEC): Likewise.
(CRT_BINUTILS_SPECS): Likewise.
* config/avr/t-avr (MULTILIB_MATCHES): Likewise.
* doc/invoke.texi (AVR Options): Document them.
Mon Jan 7 11:59:34 CET 2002 Jan Hubicka <jh@suse.cz> Mon Jan 7 11:59:34 CET 2002 Jan Hubicka <jh@suse.cz>
* unroll.c (copy_loop_body): Always properly update JUMP_LABEL and * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
......
...@@ -151,15 +151,23 @@ static const struct mcu_type_s avr_mcu_types[] = { ...@@ -151,15 +151,23 @@ static const struct mcu_type_s avr_mcu_types[] = {
{ "avr3", AVR3 }, { "avr3", AVR3 },
{ "atmega103", AVR3 }, { "atmega103", AVR3 },
{ "atmega603", AVR3 }, { "atmega603", AVR3 },
{ "at43usb320", AVR3 },
{ "at76c711", AVR3 },
/* Enhanced, <= 8K. */ /* Enhanced, <= 8K. */
{ "avr4", AVR4 }, { "avr4", AVR4 },
{ "atmega8", AVR4 },
{ "atmega83", AVR4 }, { "atmega83", AVR4 },
{ "atmega85", AVR4 }, { "atmega85", AVR4 },
/* Enhanced, > 8K. */ /* Enhanced, > 8K. */
{ "avr5", AVR5 }, { "avr5", AVR5 },
{ "atmega16", AVR5 },
{ "atmega161", AVR5 }, { "atmega161", AVR5 },
{ "atmega163", AVR5 }, { "atmega163", AVR5 },
{ "atmega32", AVR5 }, { "atmega32", AVR5 },
{ "atmega323", AVR5 },
{ "atmega64", AVR5 },
{ "atmega128", AVR5 },
{ "at43usb355", AVR5 },
{ "at94k", AVR5 }, { "at94k", AVR5 },
/* Assembler only. */ /* Assembler only. */
{ "avr1", AVR1 }, { "avr1", AVR1 },
......
...@@ -2735,13 +2735,21 @@ extern int avr_case_values_threshold; ...@@ -2735,13 +2735,21 @@ extern int avr_case_values_threshold;
%{mmcu=avr3:%(cpp_avr3)} \ %{mmcu=avr3:%(cpp_avr3)} \
%{mmcu=atmega603:%(cpp_avr3) -D__AVR_ATmega603__} \ %{mmcu=atmega603:%(cpp_avr3) -D__AVR_ATmega603__} \
%{mmcu=atmega103:%(cpp_avr3) -D__AVR_ATmega103__} \ %{mmcu=atmega103:%(cpp_avr3) -D__AVR_ATmega103__} \
%{mmcu=at43usb320:%(cpp_avr3) -D__AVR_AT43USB320__} \
%{mmcu=at76c711: %(cpp_avr3) -D__AVR_AT76C711__} \
%{mmcu=avr4:%(cpp_avr4)} \ %{mmcu=avr4:%(cpp_avr4)} \
%{mmcu=atmega8: %(cpp_avr4) -D__AVR_ATmega8__} \
%{mmcu=atmega83: %(cpp_avr4) -D__AVR_ATmega83__} \ %{mmcu=atmega83: %(cpp_avr4) -D__AVR_ATmega83__} \
%{mmcu=atmega85: %(cpp_avr4) -D__AVR_ATmega85__} \ %{mmcu=atmega85: %(cpp_avr4) -D__AVR_ATmega85__} \
%{mmcu=avr5:%(cpp_avr5)} \ %{mmcu=avr5:%(cpp_avr5)} \
%{mmcu=atmega16: %(cpp_avr5) -D__AVR_ATmega16__} \
%{mmcu=atmega161:%(cpp_avr5) -D__AVR_ATmega161__} \ %{mmcu=atmega161:%(cpp_avr5) -D__AVR_ATmega161__} \
%{mmcu=atmega163:%(cpp_avr5) -D__AVR_ATmega163__} \ %{mmcu=atmega163:%(cpp_avr5) -D__AVR_ATmega163__} \
%{mmcu=atmega32: %(cpp_avr5) -D__AVR_ATmega32__} \ %{mmcu=atmega32: %(cpp_avr5) -D__AVR_ATmega32__} \
%{mmcu=atmega323:%(cpp_avr5) -D__AVR_ATmega323__} \
%{mmcu=atmega64: %(cpp_avr5) -D__AVR_ATmega64__} \
%{mmcu=atmega128:%(cpp_avr5) -D__AVR_ATmega128__} \
%{mmcu=at43usb355:%(cpp_avr5) -D__AVR_AT43USB355__} \
%{mmcu=at94k: %(cpp_avr5) -D__AVR_AT94K__} \ %{mmcu=at94k: %(cpp_avr5) -D__AVR_AT94K__} \
%{mmcu=avr1:%(cpp_avr1)} \ %{mmcu=avr1:%(cpp_avr1)} \
%{mmcu=at90s1200:%(cpp_avr1) -D__AVR_AT90S1200__} \ %{mmcu=at90s1200:%(cpp_avr1) -D__AVR_AT90S1200__} \
...@@ -2813,10 +2821,18 @@ extern int avr_case_values_threshold; ...@@ -2813,10 +2821,18 @@ extern int avr_case_values_threshold;
%{!mmcu*:-m avr85xx} \ %{!mmcu*:-m avr85xx} \
%{mmcu=atmega603:-m avrmega603} \ %{mmcu=atmega603:-m avrmega603} \
%{mmcu=atmega103:-m avrmega103} \ %{mmcu=atmega103:-m avrmega103} \
%{mmcu=at43usb320:-m avr3} \
%{mmcu=at76c711:-m avr3} \
%{mmcu=atmega16:-m avrmega161} \
%{mmcu=atmega161:-m avrmega161} \ %{mmcu=atmega161:-m avrmega161} \
%{mmcu=atmega163:-m avrmega161} \ %{mmcu=atmega163:-m avrmega161} \
%{mmcu=atmega32:-m avr5} \ %{mmcu=atmega32:-m avr5} \
%{mmcu=atmega323:-m avr5} \
%{mmcu=atmega64:-m avr5} \
%{mmcu=atmega128:-m avr5} \
%{mmcu=at43usb355:-m avr5} \
%{mmcu=at94k:-m avr5} \ %{mmcu=at94k:-m avr5} \
%{mmcu=atmega8:-m avr4} \
%{mmcu=atmega83:-m avr4} \ %{mmcu=atmega83:-m avr4} \
%{mmcu=atmega85:-m avr4} \ %{mmcu=atmega85:-m avr4} \
%{mmcu=at90s1200|mmcu=attiny1*:-m avr1200} \ %{mmcu=at90s1200|mmcu=attiny1*:-m avr1200} \
...@@ -2893,11 +2909,19 @@ extern int avr_case_values_threshold; ...@@ -2893,11 +2909,19 @@ extern int avr_case_values_threshold;
%{mmcu=at90s8535:crts8535.o%s} \ %{mmcu=at90s8535:crts8535.o%s} \
%{mmcu=atmega103|mmcu=avr3:crtm103.o%s} \ %{mmcu=atmega103|mmcu=avr3:crtm103.o%s} \
%{mmcu=atmega603:crtm603.o%s} \ %{mmcu=atmega603:crtm603.o%s} \
%{mmcu=at43usb320:crt43320.o%s} \
%{mmcu=at76c711:crt76711.o%s } \
%{mmcu=atmega8:crtm8.o%s} \
%{mmcu=atmega83|mmcu=avr4:crtm83.o%s} \ %{mmcu=atmega83|mmcu=avr4:crtm83.o%s} \
%{mmcu=atmega85:crtm85.o%s} \ %{mmcu=atmega85:crtm85.o%s} \
%{mmcu=atmega16:crtm16.o%s} \
%{mmcu=atmega161|mmcu=avr5:crtm161.o%s} \ %{mmcu=atmega161|mmcu=avr5:crtm161.o%s} \
%{mmcu=atmega163:crtm163.o%s} \ %{mmcu=atmega163:crtm163.o%s} \
%{mmcu=atmega32:crtm32.o%s} \ %{mmcu=atmega32:crtm32.o%s} \
%{mmcu=atmega323:crtm323.o%s} \
%{mmcu=atmega64:crtm64.o%s} \
%{mmcu=atmega128:crtm128.o%s} \
%{mmcu=at43usb355:crt43355.o%s} \
%{mmcu=at94k:crtat94k.o%s}" %{mmcu=at94k:crtat94k.o%s}"
#define CPP_AVR1_SPEC "-D__AVR_ARCH__=1 -D__AVR_ASM_ONLY__ " #define CPP_AVR1_SPEC "-D__AVR_ARCH__=1 -D__AVR_ASM_ONLY__ "
......
...@@ -43,8 +43,12 @@ MULTILIB_DIRNAMES = avr2 avr3 avr4 avr5 ...@@ -43,8 +43,12 @@ MULTILIB_DIRNAMES = avr2 avr3 avr4 avr5
# The many avr2 matches are not listed here - this is the default. # The many avr2 matches are not listed here - this is the default.
MULTILIB_MATCHES = \ MULTILIB_MATCHES = \
mmcu?avr3=mmcu?atmega103 mmcu?avr3=mmcu?atmega603 \ mmcu?avr3=mmcu?atmega103 mmcu?avr3=mmcu?atmega603 \
mmcu?avr3=mmcu?at43usb320 mmcu?avr3=mmcu?at76c711 \
mmcu?avr4=mmcu?atmega83 mmcu?avr4=mmcu?atmega85 \ mmcu?avr4=mmcu?atmega83 mmcu?avr4=mmcu?atmega85 \
mmcu?avr4=mmcu?atmega8 mmcu?avr5=mmcu?atmega16 \
mmcu?avr5=mmcu?atmega161 mmcu?avr5=mmcu?atmega163 \ mmcu?avr5=mmcu?atmega161 mmcu?avr5=mmcu?atmega163 \
mmcu?avr5=mmcu?atmega64 mmcu?avr5=mmcu?atmega128 \
mmcu?avr5=mmcu?at43usb355 mmcu?avr5=mmcu?atmega323 \
mmcu?avr5=mmcu?atmega32 mmcu?avr5=mmcu?at94k mmcu?avr5=mmcu?atmega32 mmcu?avr5=mmcu?at94k
MULTILIB_EXCEPTIONS = MULTILIB_EXCEPTIONS =
......
...@@ -9233,13 +9233,14 @@ at90s2333, at90s2343, at90s4414, at90s4433, at90s4434, at90s8515, ...@@ -9233,13 +9233,14 @@ at90s2333, at90s2343, at90s4414, at90s4433, at90s4434, at90s8515,
at90c8534, at90s8535). at90c8534, at90s8535).
Instruction set avr3 is for the classic AVR core with up to 128K program Instruction set avr3 is for the classic AVR core with up to 128K program
memory space (MCU types: atmega103, atmega603). memory space (MCU types: atmega103, atmega603, at43usb320, at76c711).
Instruction set avr4 is for the enhanced AVR core with up to 8K program Instruction set avr4 is for the enhanced AVR core with up to 8K program
memory space (MCU types: atmega83, atmega85). memory space (MCU types: atmega8, atmega83, atmega85).
Instruction set avr5 is for the enhanced AVR core with up to 128K program Instruction set avr5 is for the enhanced AVR core with up to 128K program
memory space (MCU types: atmega161, atmega163, atmega32, at94k). memory space (MCU types: atmega16, atmega161, atmega163, atmega32, atmega323,
atmega64, atmega128, at43usb355, at94k).
@item -msize @item -msize
@opindex msize @opindex msize
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment