summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorflorian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2>2011-09-04 19:39:39 +0000
committerflorian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2>2011-09-04 19:39:39 +0000
commited4cbd50ac64fc99a2975927eb3b6354ad5d220e (patch)
treeb8bcfc97688e96a7e017ad5df1d14ba7a208ea8d
parent20abba634b39956cf40f4501264a1ee0441cc6b6 (diff)
downloadfpc-ed4cbd50ac64fc99a2975927eb3b6354ad5d220e.tar.gz
* fixes compilation of atmega128 unit
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@18974 3ad0048d-3df7-0310-abae-a5850022a9f2
-rw-r--r--rtl/embedded/avr/atmega128.pp154
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