+ ATmega48/ATmega88 support

git-svn-id: trunk@30937 -
This commit is contained in:
florian 2015-05-30 17:55:49 +00:00
parent aadcf9f6bc
commit 0cd521fc8b
5 changed files with 724 additions and 26 deletions

1
.gitattributes vendored
View File

@ -8300,6 +8300,7 @@ rtl/embedded/arm/stm32f10x_xl.pp svneol=native#text/pascal
rtl/embedded/arm/stm32f429.pp svneol=native#text/pascal
rtl/embedded/arm/xmc4500.pp svneol=native#text/pascal
rtl/embedded/avr/atmega128.pp svneol=native#text/plain
rtl/embedded/avr/atmega48fam.pp svneol=native#text/plain
rtl/embedded/avr/atmega8.pp svneol=native#text/plain
rtl/embedded/avr/attinyx4.pp svneol=native#text/plain
rtl/embedded/avr/avrcommon.inc svneol=native#text/plain

View File

@ -62,10 +62,12 @@ Type
ct_attiny44,
ct_attiny84,
ct_atmega48,
ct_atmega88,
ct_atmega8,
ct_atmega16,
ct_atmega32,
ct_atmega48,
ct_atmega64,
ct_atmega128
);
@ -167,6 +169,28 @@ Const
eeprombase:0;
eepromsize:512
),
(
controllertypestr:'ATMEGA48';
controllerunitstr:'ATMEGA48FAM';
flashbase:0;
flashsize:4*1024;
srambase:0;
sramsize:512;
eeprombase:0;
eepromsize:256;
),
(
controllertypestr:'ATMEGA88';
controllerunitstr:'ATMEGA48FAM';
flashbase:0;
flashsize:8*1024;
srambase:0;
sramsize:1024;
eeprombase:0;
eepromsize:512;
),
(
controllertypestr:'ATMEGA8';
controllerunitstr:'ATMEGA8';
@ -198,16 +222,6 @@ Const
eepromsize:512
),
(
controllertypestr:'ATMEGA48';
controllerunitstr:'ATMEGA48';
flashbase:0;
flashsize:$1000;
srambase:0;
sramsize:512;
eeprombase:0;
eepromsize:256;
),
(
controllertypestr:'ATMEGA64';
controllerunitstr:'ATMEGA64';
flashbase:0;

View File

@ -1,8 +1,8 @@
#
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-03-17 rev 30250]
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2015-05-20 rev 30890]
#
default: all
MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-darwin
MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin
BSDs = freebsd netbsd openbsd darwin dragonfly
UNIXs = linux $(BSDs) solaris qnx haiku aix
LIMIT83fs = go32v2 os2 emx watcom msdos
@ -369,7 +369,7 @@ CPU_UNITS=allwinner_a20
endif
endif
ifeq ($(ARCH),avr)
CPU_UNITS=atmega128 atmega8 avrsim attinyx4
CPU_UNITS=atmega128 atmega8 avrsim attinyx4 atmega48fam
endif
ifeq ($(ARCH),i386)
CPU_SPECIFIC_COMMON_UNITS=sysutils math classes fgl macpas typinfo types rtlconsts getopts lineinfo
@ -617,6 +617,9 @@ endif
ifeq ($(FULL_TARGET),i8086-msdos)
override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 strings heapmgr consoleio $(CPU_SPECIFIC_COMMON_UNITS) dos ctypes charset cpall sysconst
endif
ifeq ($(FULL_TARGET),aarch64-linux)
override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 strings heapmgr consoleio $(CPU_SPECIFIC_COMMON_UNITS) dos ctypes charset cpall sysconst
endif
ifeq ($(FULL_TARGET),aarch64-darwin)
override TARGET_UNITS+=$(SYSTEMUNIT) $(CPU_UNITS) uuchar objpas iso7185 strings heapmgr consoleio $(CPU_SPECIFIC_COMMON_UNITS) dos ctypes charset cpall sysconst
endif
@ -854,6 +857,9 @@ endif
ifeq ($(FULL_TARGET),i8086-msdos)
override TARGET_LOADERS+=$(LOADERS)
endif
ifeq ($(FULL_TARGET),aarch64-linux)
override TARGET_LOADERS+=$(LOADERS)
endif
ifeq ($(FULL_TARGET),aarch64-darwin)
override TARGET_LOADERS+=$(LOADERS)
endif
@ -1092,6 +1098,9 @@ endif
ifeq ($(FULL_TARGET),i8086-msdos)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif
ifeq ($(FULL_TARGET),aarch64-linux)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif
ifeq ($(FULL_TARGET),aarch64-darwin)
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
endif
@ -1329,6 +1338,9 @@ endif
ifeq ($(FULL_TARGET),i8086-msdos)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
endif
ifeq ($(FULL_TARGET),aarch64-linux)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
endif
ifeq ($(FULL_TARGET),aarch64-darwin)
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) $(ARCH)
endif
@ -1727,6 +1739,10 @@ STATICLIBPREFIX=
STATICLIBEXT=.a
SHORTSUFFIX=d16
endif
ifeq ($(OS_TARGET),embedded)
EXEEXT=.bin
SHORTSUFFIX=emb
endif
ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
FPCMADE=fpcmade.$(SHORTSUFFIX)
ZIPSUFFIX=$(SHORTSUFFIX)

View File

@ -84,7 +84,7 @@ endif
endif
ifeq ($(ARCH),avr)
CPU_UNITS=atmega128 atmega8 avrsim attinyx4
CPU_UNITS=atmega128 atmega8 avrsim attinyx4 atmega48fam
endif
ifeq ($(ARCH),i386)

View File

@ -0,0 +1,667 @@
{******************************************************************************
Register definitions and startup code for ATMEL ATmega48/88
******************************************************************************}
unit atmega48fam;
{$goto on}
interface
var
PINB : byte absolute $23;
DDRB : byte absolute $24;
PORTB : byte absolute $25;
PINC : byte absolute $26;
DDRC : byte absolute $27;
PORTC : byte absolute $28;
PIND : byte absolute $29;
DDRD : byte absolute $2A;
PORTD : byte absolute $2B;
TIFR0 : byte absolute $35;
TIFR1 : byte absolute $36;
PCIFR : byte absolute $3B;
EIFR : byte absolute $3C;
EIMSK : byte absolute $3D;
GPIOR0 : byte absolute $3E;
EECR : byte absolute $3F;
EEDR : byte absolute $40;
EEARL : byte absolute $41;
EEARH : byte absolute $42;
EEAR : word absolute $41;
GTCCR : byte absolute $43;
TCCR0A : byte absolute $44;
TCCR0B : byte absolute $45;
TCNT0 : byte absolute $46;
OCR0A : byte absolute $47;
OCR0B : byte absolute $48;
GPIOR1 : byte absolute $4A;
GPIOR2 : byte absolute $4B;
SPCR : byte absolute $4C;
SPSR : byte absolute $4D;
SPDR : byte absolute $4E;
ACSR : byte absolute $50;
SMCR : byte absolute $53;
MCUSR : byte absolute $54;
MCUCR : byte absolute $55;
SPMCSR : byte absolute $57;
SPL : byte absolute $5D;
SPH : byte absolute $5E;
SP : word absolute $5D;
SREG : byte absolute $5F;
WDTCSR : byte absolute $60;
CLKPR : byte absolute $61;
PRR : byte absolute $64;
OSCCAL : byte absolute $66;
PCICR : byte absolute $68;
EICRA : byte absolute $69;
PCMSK0 : byte absolute $6B;
PCMSK1 : byte absolute $6C;
PCMSK2 : byte absolute $6D;
TIMSK0 : byte absolute $6E;
TIMSK1 : byte absolute $6F;
TIMSK2 : byte absolute $70;
ADCL : byte absolute $78;
ADCH : byte absolute $79;
ADC : word absolute $78;
ADCSRA : byte absolute $7A;
ADCSRB : byte absolute $7B;
ADMUX : byte absolute $7C;
DIDR0 : byte absolute $7E;
DIDR1 : byte absolute $7F;
TCCR1A : byte absolute $80;
TCCR1B : byte absolute $81;
TCCR1C : byte absolute $82;
TCNT1L : byte absolute $84;
TCNT1H : byte absolute $85;
TCNT1 : word absolute $84;
ICRL : byte absolute $86;
ICR1H : byte absolute $87;
OCR1AL : byte absolute $88;
OCR1AH : byte absolute $89;
OCR1A : word absolute $88;
OCR1BL : byte absolute $8A;
OCR1BH : byte absolute $8B;
OCR1B : word absolute $8A;
TCCR2A : byte absolute $B0;
TCCR2B : byte absolute $B1;
TCNT2 : byte absolute $B2;
OCR2A : byte absolute $B3;
OCR2B : byte absolute $B4;
ASSR : byte absolute $B6;
TWBR : byte absolute $B8;
TWSR : byte absolute $B9;
TWAR : byte absolute $BA;
TWDR : byte absolute $BB;
TWCR : byte absolute $BC;
TWAMR : byte absolute $BD;
UCSR0A : byte absolute $C0;
UCSR0B : byte absolute $C1;
UCSR0C : byte absolute $C2;
UBRR0L : byte absolute $C4;
UBRR0H : byte absolute $C5;
UBRR0 : word absolute $C4;
UDR0 : byte absolute $C6;
const
{ PINB }
PINB7 = 7;
PINB6 = 6;
PINB5 = 5;
PINB4 = 4;
PINB3 = 3;
PINB2 = 2;
PINB1 = 1;
PINB0 = 0;
{ DDRB }
DDB7 = 7;
DDB6 = 6;
DDB5 = 5;
DDB4 = 4;
DDB3 = 3;
DDB2 = 2;
DDB1 = 1;
DDB0 = 0;
{ PORTB }
PORTB7 = 7;
PORTB6 = 6;
PORTB5 = 5;
PORTB4 = 4;
PORTB3 = 3;
PORTB2 = 2;
PORTB1 = 1;
PORTB0 = 0;
{ PINC }
PINC6 = 6;
PINC5 = 5;
PINC4 = 4;
PINC3 = 3;
PINC2 = 2;
PINC1 = 1;
PINC0 = 0;
{ DDRC }
DDC6 = 6;
DDC5 = 5;
DDC4 = 4;
DDC3 = 3;
DDC2 = 2;
DDC1 = 1;
DDC0 = 0;
{ PORTC }
PORTC6 = 6;
PORTC5 = 5;
PORTC4 = 4;
PORTC3 = 3;
PORTC2 = 2;
PORTC1 = 1;
PORTC0 = 0;
{ PIND }
PIND7 = 7;
PIND6 = 6;
PIND5 = 5;
PIND4 = 4;
PIND3 = 3;
PIND2 = 2;
PIND1 = 1;
PIND0 = 0;
{ DDRD }
DDD7 = 7;
DDD6 = 6;
DDD5 = 5;
DDD4 = 4;
DDD3 = 3;
DDD2 = 2;
DDD1 = 1;
DDD0 = 0;
{ PORTD }
PORTD7 = 7;
PORTD6 = 6;
PORTD5 = 5;
PORTD4 = 4;
PORTD3 = 3;
PORTD2 = 2;
PORTD1 = 1;
PORTD0 = 0;
{ TIFR0 }
OCF0B = 2;
OCF0A = 1;
TOV0 = 0;
{ TIFR1 }
ICF1 = 5;
OCF1B = 2;
OCF1A = 1;
TOV1 = 0;
{ PCIFR }
PCIF2 = 2;
PCIF1 = 1;
PCIF0 = 0;
{ EIFR }
INTF1 = 1;
INTF0 = 0;
{ EIMSK }
INT1 = 1;
INT0 = 0;
{ EECR }
EEPM1 = 5;
EEPM0 = 4;
EERIE = 3;
EEMPE = 2;
EEPE = 1;
EERE = 0;
{ GTCCR }
TSM = 7;
PSRASY = 1;
PSRSYNC = 0;
{ TCCR0A }
COM0A1 = 7;
COM0A0 = 6;
COM0B1 = 5;
COM0B0 = 4;
WGM01 = 1;
WGM00 = 0;
{ TCCR0B }
FOC0A = 7;
FOC0B = 6;
WGM02 = 3;
CS02 = 2;
CS01 = 1;
CS00 = 0;
{ SPCR }
SPIE = 7;
SPE = 6;
DORD = 5;
MSTR = 4;
CPOL = 3;
CPHA = 2;
SPR1 = 1;
SPR0 = 0;
{ SPSR }
SPIF = 7;
WCOL = 6;
SPI2X = 0;
{ ACSR }
ACD = 7;
ACBG = 6;
ACO = 5;
ACI = 4;
ACIE = 3;
ACIC = 2;
ACIS1 = 1;
ACIS0 = 0;
{ SMCR }
SM2 = 3;
SM1 = 2;
SM0 = 1;
SE = 0;
{ MCUSR }
WDRF = 3;
BORF = 2;
EXTRF = 1;
PORF = 0;
{ MCUCR }
PUD = 4;
IVSEL = 1;
IVCE = 0;
{ SPMCSR }
SPMIE = 7;
RWWSB = 6;
RWWSRE = 4;
BLBSET = 3;
PGWRT = 2;
PGERS = 1;
SPMEN = 0;
{ WDTCSR }
WDIF = 7;
WDIE = 6;
WDP3 = 5;
WDCE = 4;
WDE = 3;
WDP2 = 2;
WDP1 = 1;
WDP0 = 0;
{ CLKPR }
CLKPCE = 7;
CLKPS3 = 3;
CLKPS2 = 2;
CLKPS1 = 1;
CLKPS0 = 0;
{ PRR }
PRTWI = 7;
PRTIM2 = 6;
PRTIM0 = 5;
PRTIM1 = 3;
PRSPI = 2;
PRUSART0 = 1;
PRADC = 0;
{ PCICR }
PCIE2 = 2;
PCIE1 = 1;
PCIE0 = 0;
{ EICRA }
ISC11 = 3;
ISC10 = 2;
ISC01 = 1;
ISC00 = 0;
{ PCMSK0 }
PCINT7 = 7;
PCINT6 = 6;
PCINT5 = 5;
PCINT4 = 4;
PCINT3 = 3;
PCINT2 = 2;
PCINT1 = 1;
PCINT0 = 0;
{ PCMSK1 }
PCINT14 = 6;
PCINT13 = 5;
PCINT12 = 4;
PCINT11 = 3;
PCINT10 = 2;
PCINT9 = 1;
PCINT8 = 0;
{ PCMSK2 }
PCINT23 = 7;
PCINT22 = 6;
PCINT21 = 5;
PCINT20 = 4;
PCINT19 = 3;
PCINT18 = 2;
PCINT17 = 1;
PCINT16 = 0;
{ TIMSK0 }
OCIE0B = 2;
OCIE0A = 1;
TOIE0 = 0;
{ TIMSK1 }
ICIE1 = 5;
OCIE1B = 2;
OCIE1A = 1;
TOIE1 = 0;
{ TIMSK2 }
OCIE2B = 2;
OCIE2A = 1;
TOIE2 = 0;
{ ADCSRA }
ADEN = 7;
ADSC = 6;
ADATE = 5;
ADIF = 4;
ADIE = 3;
ADPS2 = 2;
ADPS1 = 1;
ADPS0 = 0;
{ ADCSRB }
ACME = 6;
ADTS2 = 2;
ADTS1 = 1;
ADTS0 = 0;
{ ADMUX }
REFS1 = 7;
REFS0 = 6;
ADLAR = 5;
MUX3 = 3;
MUX2 = 2;
MUX1 = 1;
MUX0 = 0;
{ DIDR0 }
ADC5D = 5;
ADC4D = 4;
ADC3D = 3;
ADC2D = 2;
ADC1D = 1;
ADC0D = 0;
{ DIDR1 }
AIN1D = 1;
AIN0D = 0;
{ TCCR1A }
COM1A1 = 7;
COM1A0 = 6;
COM1B1 = 5;
COM1B0 = 4;
WGM11 = 1;
WGM10 = 0;
{ TCCR1B }
ICNC1 = 7;
ICES1 = 6;
WGM13 = 4;
WGM12 = 3;
CS12 = 2;
CS11 = 1;
CS10 = 0;
{ TCCR1C }
FOC1A = 7;
FOC1B = 6;
{ TCCR2A }
COM2A1 = 7;
COM2A0 = 6;
COM2B1 = 5;
COM2B0 = 4;
WGM21 = 1;
WGM20 = 0;
{ TCCR2B }
FOC2A = 7;
FOC2B = 6;
WGM22 = 3;
CS22 = 2;
CS21 = 1;
CS20 = 0;
{ ASSR }
EXCLK = 6;
AS2 = 5;
TCN2UB = 4;
OCR2AUB = 3;
OCR2BUB = 2;
TCR2AUB = 1;
TCR2BUB = 0;
{ TWSR }
TWS7 = 7;
TWS6 = 6;
TWS5 = 5;
TWS4 = 4;
TWS3 = 3;
TWPS1 = 1;
TWPS0 = 0;
{ TWAR }
TWA6 = 7;
TWA5 = 6;
TWA4 = 5;
TWA3 = 4;
TWA2 = 3;
TWA1 = 2;
TWA0 = 1;
{ TWCR }
TWINT = 7;
TWEA = 6;
TWSTA = 5;
TWSTO = 4;
TWWC = 3;
TWEN = 2;
TWIE = 0;
{ TWAMR }
TWAM6 = 7;
TWAM5 = 6;
TWAM4 = 5;
TWAM3 = 4;
TWAM2 = 3;
TWAM1 = 2;
TWAM0 = 1;
{ UCSR0A }
RXC0 = 7;
TXC0 = 6;
UDRE0 = 5;
FE0 = 4;
DOR0 = 3;
UPE0 = 2;
U2X0 = 1;
MPCM0 = 0;
{ UCSR0B }
RXCIE0 = 7;
TXCIE0 = 6;
UDRIE0 = 5;
RXEN0 = 4;
TXEN0 = 3;
UCVSZ02 = 2;
RXB80 = 1;
TXB80 = 0;
{ UCSR0C }
UMSEL01 = 7;
UMSEL00 = 6;
UPM01 = 5;
UPM00 = 4;
USBS0 = 3;
UCVSZ01 = 2;
UCVSZ00 = 1;
UCPOL0 = 0;
implementation
{$define RELBRANCHES}
{$i avrcommon.inc}
procedure Int00Handler; external name 'Int00Handler';
procedure Int01Handler; external name 'Int01Handler';
procedure Int02Handler; external name 'Int02Handler';
procedure Int03Handler; external name 'Int03Handler';
procedure Int04Handler; external name 'Int04Handler';
procedure Int05Handler; external name 'Int05Handler';
procedure Int06Handler; external name 'Int06Handler';
procedure Int07Handler; external name 'Int07Handler';
procedure Int08Handler; external name 'Int08Handler';
procedure Int09Handler; external name 'Int09Handler';
procedure Int10Handler; external name 'Int10Handler';
procedure Int11Handler; external name 'Int11Handler';
procedure Int12Handler; external name 'Int12Handler';
procedure Int13Handler; external name 'Int13Handler';
procedure Int14Handler; external name 'Int14Handler';
procedure Int15Handler; external name 'Int15Handler';
procedure Int16Handler; external name 'Int16Handler';
procedure Int17Handler; external name 'Int17Handler';
procedure Int18Handler; external name 'Int18Handler';
procedure Int19Handler; external name 'Int19Handler';
procedure Int20Handler; external name 'Int20Handler';
procedure Int21Handler; external name 'Int21Handler';
procedure Int22Handler; external name 'Int22Handler';
procedure Int23Handler; external name 'Int23Handler';
procedure Int24Handler; external name 'Int24Handler';
procedure Int25Handler; external name 'Int25Handler';
procedure Int26Handler; external name 'Int26Handler';
procedure Int27Handler; external name 'Int27Handler';
procedure Int28Handler; external name 'Int28Handler';
procedure Int29Handler; external name 'Int29Handler';
procedure Int30Handler; external name 'Int30Handler';
procedure Int31Handler; external name 'Int31Handler';
procedure Int32Handler; external name 'Int32Handler';
procedure Int33Handler; external name 'Int33Handler';
procedure Int34Handler; external name 'Int34Handler';
procedure _FPC_start; assembler; nostackframe;
label
_start;
asm
.init
.globl _start
rjmp _start
rjmp Int00Handler
rjmp Int01Handler
rjmp Int02Handler
rjmp Int03Handler
rjmp Int04Handler
rjmp Int05Handler
rjmp Int06Handler
rjmp Int07Handler
rjmp Int08Handler
rjmp Int09Handler
rjmp Int10Handler
rjmp Int11Handler
rjmp Int12Handler
rjmp Int13Handler
rjmp Int14Handler
rjmp Int15Handler
rjmp Int16Handler
rjmp Int17Handler
rjmp Int18Handler
rjmp Int19Handler
rjmp Int20Handler
rjmp Int21Handler
rjmp Int22Handler
rjmp Int23Handler
rjmp Int24Handler
rjmp Int25Handler
{
all ATMEL MCUs use the same startup code, the details are
governed by defines
}
{$i start.inc}
.weak Int00Handler
.weak Int01Handler
.weak Int02Handler
.weak Int03Handler
.weak Int04Handler
.weak Int05Handler
.weak Int06Handler
.weak Int07Handler
.weak Int08Handler
.weak Int09Handler
.weak Int10Handler
.weak Int11Handler
.weak Int12Handler
.weak Int13Handler
.weak Int14Handler
.weak Int15Handler
.weak Int16Handler
.weak Int17Handler
.weak Int18Handler
.weak Int19Handler
.weak Int20Handler
.weak Int21Handler
.weak Int22Handler
.weak Int23Handler
.weak Int24Handler
.weak Int25Handler
.set Int00Handler, Default_IRQ_handler
.set Int01Handler, Default_IRQ_handler
.set Int02Handler, Default_IRQ_handler
.set Int03Handler, Default_IRQ_handler
.set Int04Handler, Default_IRQ_handler
.set Int05Handler, Default_IRQ_handler
.set Int06Handler, Default_IRQ_handler
.set Int07Handler, Default_IRQ_handler
.set Int08Handler, Default_IRQ_handler
.set Int09Handler, Default_IRQ_handler
.set Int10Handler, Default_IRQ_handler
.set Int11Handler, Default_IRQ_handler
.set Int12Handler, Default_IRQ_handler
.set Int13Handler, Default_IRQ_handler
.set Int14Handler, Default_IRQ_handler
.set Int15Handler, Default_IRQ_handler
.set Int16Handler, Default_IRQ_handler
.set Int17Handler, Default_IRQ_handler
.set Int18Handler, Default_IRQ_handler
.set Int19Handler, Default_IRQ_handler
.set Int20Handler, Default_IRQ_handler
.set Int21Handler, Default_IRQ_handler
.set Int22Handler, Default_IRQ_handler
.set Int23Handler, Default_IRQ_handler
.set Int24Handler, Default_IRQ_handler
.set Int25Handler, Default_IRQ_handler
end;
end.