Ver Fonte

* moved common code to a separate include file

git-svn-id: trunk@30664 -
florian há 10 anos atrás
pai
commit
7b48232d71
3 ficheiros alterados com 25 adições e 23 exclusões
  1. 1 0
      .gitattributes
  2. 2 23
      rtl/embedded/avr/atmega128.pp
  3. 22 0
      rtl/embedded/avr/avrcommon.inc

+ 1 - 0
.gitattributes

@@ -8229,6 +8229,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/avrcommon.inc svneol=native#text/plain
 rtl/embedded/avr/avrsim.pp svneol=native#text/plain
 rtl/embedded/avr/start.inc svneol=native#text/plain
 rtl/embedded/buildrtl.lpi svneol=native#text/plain

+ 2 - 23
rtl/embedded/avr/atmega128.pp

@@ -511,21 +511,8 @@ unit atmega128;
 
   implementation
 
-    procedure PASCALMAIN; external name 'PASCALMAIN';
-
-    procedure _FPC_haltproc; assembler; nostackframe; public name '_haltproc';
-      asm
-        cli
-      .Lhalt:
-        jmp .Lhalt
-      end;
-
-    procedure Default_IRQ_handler; assembler; nostackframe; public name '_Default_IRQ_handler';
-      asm
-      .Lloop:
-        jmp .Lloop
-      end;
-
+{$i avrcommon.inc}  
+	  
     procedure Int00Handler; external name 'Int00Handler';
     procedure Int01Handler; external name 'Int01Handler';
     procedure Int02Handler; external name 'Int02Handler';
@@ -562,14 +549,6 @@ unit atmega128;
     procedure Int33Handler; external name 'Int33Handler';
     procedure Int34Handler; external name 'Int34Handler';
 
-    var
-      _data: record end; external name '__data_start';
-      _edata: record end; external name '__data_end';
-      _etext: record end; external name '_etext';
-      _bss_start: record end; external name '__bss_start';
-      _bss_end: record end; external name '__bss_end';
-      _stack_top: record end; external name '_stack_top';
-
     procedure _FPC_start; assembler; nostackframe;
       label
         _start;

+ 22 - 0
rtl/embedded/avr/avrcommon.inc

@@ -0,0 +1,22 @@
+    procedure PASCALMAIN; external name 'PASCALMAIN';
+
+    procedure _FPC_haltproc; assembler; nostackframe; public name '_haltproc';noreturn;
+      asm
+        cli
+      .Lhalt:
+        jmp .Lhalt
+      end;
+
+    procedure Default_IRQ_handler; assembler; nostackframe; public name '_Default_IRQ_handler';noreturn;
+      asm
+      .Lloop:
+        jmp .Lloop
+      end;
+
+    var
+      _data: record end; external name '__data_start';
+      _edata: record end; external name '__data_end';
+      _etext: record end; external name '_etext';
+      _bss_start: record end; external name '__bss_start';
+      _bss_end: record end; external name '__bss_end';
+      _stack_top: record end; external name '_stack_top';