Browse Source

* fixed some errors in the irq handlers

git-svn-id: trunk@12629 -
florian 16 years ago
parent
commit
527dd80aa2
1 changed files with 9 additions and 2 deletions
  1. 9 2
      rtl/embedded/arm/lpc21x4.pp

+ 9 - 2
rtl/embedded/arm/lpc21x4.pp

@@ -356,6 +356,7 @@ unit lpc21x4;
       SWI_Handler,
       Prefetch_Handler,
       Abort_Handler,
+      IRQ_Handler,
       FIQ_Handler : pointer;
 
     type
@@ -441,8 +442,10 @@ unit lpc21x4;
 
         // signature
         nop
-        ldr pc, [pc, #-0xFF0] // load irq vector from vic
-        ldr pc, .L5
+        ldr r0, .L5
+        // FIQ
+        ldr r0, .L6
+        ldr pc, [r0]
 (*
     .LUndefined_Addr:
         ldr r0,.L1
@@ -469,6 +472,8 @@ unit lpc21x4;
     .L4:
         .long     Abort_Handler
     .L5:
+        .long     IRQ_Handler
+    .L6:
         .long     FIQ_Handler
 
     _start:
@@ -518,6 +523,8 @@ unit lpc21x4;
         str r1,[r0]
         ldr r0,.L5
         str r1,[r0]
+        ldr r0,.L6
+        str r1,[r0]
 
         // clear onboard ram
         mov r1,#0x1000