diff options
author | florian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2011-09-04 19:39:39 +0000 |
---|---|---|
committer | florian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2011-09-04 19:39:39 +0000 |
commit | ed4cbd50ac64fc99a2975927eb3b6354ad5d220e (patch) | |
tree | b8bcfc97688e96a7e017ad5df1d14ba7a208ea8d /rtl/embedded | |
parent | 20abba634b39956cf40f4501264a1ee0441cc6b6 (diff) | |
download | fpc-ed4cbd50ac64fc99a2975927eb3b6354ad5d220e.tar.gz |
* fixes compilation of atmega128 unit
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@18974 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'rtl/embedded')
-rw-r--r-- | rtl/embedded/avr/atmega128.pp | 154 |
1 files changed, 76 insertions, 78 deletions
diff --git a/rtl/embedded/avr/atmega128.pp b/rtl/embedded/avr/atmega128.pp index 3c56c6a0c9..7c349884f8 100644 --- a/rtl/embedded/avr/atmega128.pp +++ b/rtl/embedded/avr/atmega128.pp @@ -8,7 +8,6 @@ unit atmega128; {$macro on} interface - type const _SFR_OFFSET = $20; //indirect addressing var @@ -66,7 +65,6 @@ unit atmega128; TCNT1 : word absolute $2C+_SFR_OFFSET; TCNT1L : byte absolute $2C+_SFR_OFFSET; TCNT1H : byte absolute $2D+_SFR_OFFSET; - TCCR1B : byte absolute $2E+_SFR_OFFSET; TCCR1A : byte absolute $2F+_SFR_OFFSET; TCCR1B : byte absolute $2E+_SFR_OFFSET; ASSR : byte absolute $30+_SFR_OFFSET; @@ -522,6 +520,12 @@ unit atmega128; jmp .Lhalt end; + procedure Default_IRQ_handler; assembler; nostackframe; public name '_Default_IRQ_handler'; + asm + .Lloop: + jmp .Lloop + end; + var _data: record end; external name '_data'; _edata: record end; external name '_edata'; @@ -530,47 +534,41 @@ unit atmega128; _bss_end: record end; external name '_bss_end'; _stack_top: record end; external name '_stack_top'; - Int00Handler, - Int01Handler, - Int02Handler, - Int03Handler, - Int04Handler, - Int05Handler, - Int06Handler, - Int07Handler, - Int08Handler, - Int09Handler, - Int10Handler, - Int11Handler, - Int12Handler, - Int13Handler, - Int14Handler, - Int15Handler, - Int16Handler, - Int17Handler, - Int18Handler, - Int19Handler, - Int20Handler, - Int21Handler, - Int22Handler, - Int23Handler, - Int24Handler, - Int25Handler, - Int26Handler, - Int27Handler, - Int28Handler, - Int29Handler, - Int30Handler, - Int31Handler, - Int32Handler, - Int33Handler, - Int34Handler : Pointer = Default_IRQ_handler; - - procedure Default_IRQ_handler; assembler; nostackframe; public name '_Default_IRQ_handler'; - asm - .Lloop: - b .Lloop - end; + Int00Handler : Pointer = @Default_IRQ_handler; + Int01Handler : Pointer = @Default_IRQ_handler; + Int02Handler : Pointer = @Default_IRQ_handler; + Int03Handler : Pointer = @Default_IRQ_handler; + Int04Handler : Pointer = @Default_IRQ_handler; + Int05Handler : Pointer = @Default_IRQ_handler; + Int06Handler : Pointer = @Default_IRQ_handler; + Int07Handler : Pointer = @Default_IRQ_handler; + Int08Handler : Pointer = @Default_IRQ_handler; + Int09Handler : Pointer = @Default_IRQ_handler; + Int10Handler : Pointer = @Default_IRQ_handler; + Int11Handler : Pointer = @Default_IRQ_handler; + Int12Handler : Pointer = @Default_IRQ_handler; + Int13Handler : Pointer = @Default_IRQ_handler; + Int14Handler : Pointer = @Default_IRQ_handler; + Int15Handler : Pointer = @Default_IRQ_handler; + Int16Handler : Pointer = @Default_IRQ_handler; + Int17Handler : Pointer = @Default_IRQ_handler; + Int18Handler : Pointer = @Default_IRQ_handler; + Int19Handler : Pointer = @Default_IRQ_handler; + Int20Handler : Pointer = @Default_IRQ_handler; + Int21Handler : Pointer = @Default_IRQ_handler; + Int22Handler : Pointer = @Default_IRQ_handler; + Int23Handler : Pointer = @Default_IRQ_handler; + Int24Handler : Pointer = @Default_IRQ_handler; + Int25Handler : Pointer = @Default_IRQ_handler; + Int26Handler : Pointer = @Default_IRQ_handler; + Int27Handler : Pointer = @Default_IRQ_handler; + Int28Handler : Pointer = @Default_IRQ_handler; + Int29Handler : Pointer = @Default_IRQ_handler; + Int30Handler : Pointer = @Default_IRQ_handler; + Int31Handler : Pointer = @Default_IRQ_handler; + Int32Handler : Pointer = @Default_IRQ_handler; + Int33Handler : Pointer = @Default_IRQ_handler; + Int34Handler : Pointer = @Default_IRQ_handler; procedure _FPC_start; assembler; nostackframe; label @@ -580,41 +578,41 @@ unit atmega128; .globl _start // .org 0x00 rjmp _start - rjump Int00Handler - rjump Int01Handler - rjump Int02Handler - rjump Int03Handler - rjump Int04Handler - rjump Int05Handler - rjump Int06Handler - rjump Int07Handler - rjump Int08Handler - rjump Int09Handler - rjump Int10Handler - rjump Int11Handler - rjump Int12Handler - rjump Int13Handler - rjump Int14Handler - rjump Int15Handler - rjump Int16Handler - rjump Int17Handler - rjump Int18Handler - rjump Int19Handler - rjump Int20Handler - rjump Int21Handler - rjump Int22Handler - rjump Int23Handler - rjump Int24Handler - rjump Int25Handler - rjump Int26Handler - rjump Int27Handler - rjump Int28Handler - rjump Int29Handler - rjump Int30Handler - rjump Int31Handler - rjump Int32Handler - rjump Int33Handler - rjump Int34Handler + 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 + rjmp Int26Handler + rjmp Int27Handler + rjmp Int28Handler + rjmp Int29Handler + rjmp Int30Handler + rjmp Int31Handler + rjmp Int32Handler + rjmp Int33Handler + rjmp Int34Handler { all ATMEL MCUs use the same startup code, the details are governed by defines |