irq_arm.c 1023 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. /* Function Pointers for Interrupts */
  2. typedef void (* tyVctHndlr) (void);
  3. tyVctHndlr IRQ = (tyVctHndlr)0x0;
  4. tyVctHndlr SWI = (tyVctHndlr)0x0;
  5. tyVctHndlr FIQ = (tyVctHndlr)0x0;
  6. tyVctHndlr UNDEF = (tyVctHndlr)0x0;
  7. tyVctHndlr PABORT = (tyVctHndlr)0x0;
  8. tyVctHndlr DABORT = (tyVctHndlr)0x0;
  9. void IRQ_Handler (void) __irq;
  10. void SWI_Handler (void) __irq;
  11. void FIQ_Handler (void) __irq;
  12. void Undef_Handler (void) __irq;
  13. void PAbt_Handler (void) __irq;
  14. void DAbt_Handler (void) __irq;
  15. void IRQ_Handler(void) __irq
  16. {
  17. if ( *IRQ !=0x00)
  18. {
  19. IRQ();
  20. }
  21. }
  22. void FIQ_Handler(void) __irq
  23. {
  24. if ( *FIQ !=0x00)
  25. {
  26. FIQ();
  27. }
  28. }
  29. void SWI_Handler(void) __irq
  30. {
  31. if ( *SWI !=0x00)
  32. {
  33. SWI();
  34. }
  35. }
  36. void Undef_Handler(void)__irq
  37. {
  38. if ( *UNDEF !=0x00)
  39. {
  40. UNDEF();
  41. }
  42. }
  43. void PAbt_Handler(void) __irq
  44. {
  45. if ( *PABORT !=0x00)
  46. {
  47. PABORT();
  48. }
  49. }
  50. void DAbt_Handler(void) __irq
  51. {
  52. if ( *DABORT !=0x00)
  53. {
  54. DABORT();
  55. }
  56. }