⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 exceptions.c

📁 ucosII 修改移植到 freescale MCF51JM128
💻 C
📖 第 1 页 / 共 2 页
字号:
   case 15:
      VECTORDISPLAY3(MCF5XXX_EXCEPTFMT, "Unitialized Interrupt", stackFramePC);
      break;
   case 24:
      VECTORDISPLAY3(MCF5XXX_EXCEPTFMT, "Spurious Interrupt", stackFramePC);
      break;
   case 25:
   case 26:
   case 27:
   case 28:
   case 29:
   case 30:
   case 31:
      VECTORDISPLAY2("Autovector interrupt level %d\n", stackFrameVector - 24);
      break;
   case 32:
   case 33:
   case 34:
   case 35:
   case 36:
   case 37:
   case 38:
   case 39:
   case 40:
   case 41:
   case 42:
   case 43:
   case 44:
   case 45:
   case 46:
   case 47:
      VECTORDISPLAY2("TRAP #%d\n", stackFrameVector - 32);
      break;
   case 5:
   case 6:
   case 7:
   case 13:
   case 16:
   case 17:
   case 18:
   case 19:
   case 20:
   case 21:
   case 22:
   case 23:
   case 48:
   case 49:
   case 50:
   case 51:
   case 52:
   case 53:
   case 54:
   case 55:
   case 56:
   case 57:
   case 58:
   case 59:
   case 60:
   case 61:
   case 62:
   case 63:
      VECTORDISPLAY2("Reserved: #%d\n", stackFrameVector);
      break;
   default:
      derivative_interrupt(stackFrameVector);
   break;
   }
}

#if REGISTER_ABI
asm void asm_exception_handler(void)
{
   link     a6,#0 
   lea     -20(sp), sp
   movem.l d0-d2/a0-a1, (sp)
   lea     24(sp),a0   /* A0 point to exception stack frame on the stack */
   jsr     mcf_exception_handler
   movem.l (sp), d0-d2/a0-a1
   lea     20(sp), sp
   unlk a6
   rte
}
#else
asm void asm_exception_handler(void)
{
   link     a6,#0 
   lea     -20(sp), sp
   movem.l d0-d2/a0-a1, (sp)
   pea     24(sp)   /* push exception frame address */
   jsr     mcf_exception_handler
   movem.l 4(sp), d0-d2/a0-a1
   lea     24(sp), sp
   unlk a6
   rte
}
#endif

typedef void (* vectorTableEntryType)(void);

#if CONSOLE_IO_SUPPORT
vectorTableEntryType vector_printf @Vtrap14     = TrapHandler_printf;
#endif

/*
 *  MCF51JM128 vector table
 *  CF V1 has 110 vector + SP_INIT in the vector table (111 entries)
 */

__declspec(weak) vectorTableEntryType vector_0   @INITSP = (vectorTableEntryType)&_SP_INIT;
__declspec(weak) vectorTableEntryType vector_1   @INITPC = (vectorTableEntryType)&_startup;
__declspec(weak) vectorTableEntryType vector_2   @Vaccerr = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_3   @Vadderr = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_4   @Viinstr = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_5   @VReserved5 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_6   @VReserved6 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_7   @VReserved7 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_8   @Vprviol = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_9   @Vtrace = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_10  @Vunilaop = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_11  @Vunilfop = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_12  @Vdbgi = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_13  @VReserved13 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_14  @Vferror = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_15  @VReserved15 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_16  @VReserved16 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_17  @VReserved17 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_18  @VReserved18 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_19  @VReserved19 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_20  @VReserved20 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_21  @VReserved21 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_22  @VReserved22 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_23  @VReserved23 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_24  @Vspuri = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_25  @VReserved25 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_26  @VReserved26 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_27  @VReserved27 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_28  @VReserved28 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_29  @VReserved29 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_30  @VReserved30 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_31  @VReserved31 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_32  @Vtrap0 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_33  @Vtrap1 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_34  @Vtrap2 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_35  @Vtrap3 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_36  @Vtrap4 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_37  @Vtrap5 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_38  @Vtrap6 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_39  @Vtrap7 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_40  @Vtrap8 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_41  @Vtrap9 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_42  @Vtrap10 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_43  @Vtrap11 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_44  @Vtrap12 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_45  @Vtrap13 = asm_exception_handler;
#if CONSOLE_IO_SUPPORT == 0
__declspec(weak) vectorTableEntryType vector_46  @Vtrap14 = OSCtxSw;
#endif
__declspec(weak) vectorTableEntryType vector_47  @Vtrap15 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_48  @VReserved48 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_49  @VReserved49 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_50  @VReserved50 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_51  @VReserved51 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_52  @VReserved52 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_53  @VReserved53 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_54  @VReserved54 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_55  @VReserved55 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_56  @VReserved56 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_57  @VReserved57 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_58  @VReserved58 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_59  @VReserved59 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_60  @VReserved60 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_61  @Vunsinstr = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_62  @VReserved62 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_63  @VReserved63 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_64  @Virq = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_65  @Vlvd = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_66  @Vlol = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_67  @Vspi1 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_68  @Vspi2 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_69  @Vusb = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_70  @VReserved70 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_71  @Vtpm1ch0 = OSTickISR;
__declspec(weak) vectorTableEntryType vector_72  @Vtpm1ch1 = OSTickISR;
__declspec(weak) vectorTableEntryType vector_73  @Vtpm1ch2 = OSTickISR;
__declspec(weak) vectorTableEntryType vector_74  @Vtpm1ch3 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_75  @Vtpm1ch4 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_76  @Vtpm1ch5 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_77  @Vtpm1ovf = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_78  @Vtpm2ch0 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_79  @Vtpm2ch1 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_80  @Vtpm2ovf = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_81  @Vsci1err = ProbeRS232_ErrISR;
__declspec(weak) vectorTableEntryType vector_82  @Vsci1rx = ProbeRS232_RxISR;
__declspec(weak) vectorTableEntryType vector_83  @Vsci1tx = ProbeRS232_TxISR;
__declspec(weak) vectorTableEntryType vector_84  @Vsci2err = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_85  @Vsci2rx = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_86  @Vsci2tx = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_87  @Vkeyboard = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_88  @Vadc = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_89  @Vacmpx = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_90  @Viic1x = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_91  @Vrtc = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_92  @Viic2x = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_93  @Vcmt = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_94  @Vcanwu = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_95  @Vcanerr = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_96  @Vcanrx = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_97  @Vcantx = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_98  @Vrnga = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_99  @VReserved99 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_100 @VReserved100 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_101 @VReserved101 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_102 @VReserved102 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_103 @VReserved103 = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_104 @VL7swi = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_105 @VL6swi = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_106 @VL5swi = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_107 @VL4swi = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_108 @VL3swi = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_109 @VL2swi = asm_exception_handler;
__declspec(weak) vectorTableEntryType vector_110 @VL1swi = asm_exception_handler;



#ifdef __cplusplus
}
#endif


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -