Sys_IRQ.rar

  • PUDN用户
    了解作者
  • Unix_Linux
    开发工具
  • 1KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 36
    下载次数
  • 2008-10-16 08:03
    上传日期
中断程序源码,是关于SPCE061A的中断
Sys_IRQ.rar
  • www.pudn.com.txt
    218B
  • Sys_IRQ.c
    4.4KB
内容介绍
//==================================================================================== //文 件 名:Sys_IRQ.c //功能描述: SPCE3200 40个中断源(硬件)的中断向量分支及软件中断处理。 // 使用时,用户不需要修改此文件中的内容 //维护记录: 2007年1月11日 v1.0 by hongyan.Feng //==================================================================================== //=================================================== // 声明用户定义外部中断服务函数 //=================================================== extern void IRQ63(void); extern void IRQ62(void); extern void IRQ61(void); extern void IRQ60(void); extern void IRQ59(void); extern void IRQ58(void); extern void IRQ57(void); extern void IRQ56(void); extern void IRQ55(void); extern void IRQ54(void); extern void IRQ53(void); extern void IRQ52(void); extern void IRQ51(void); extern void IRQ50(void); extern void IRQ49(void); extern void IRQ48(void); extern void IRQ47(void); extern void IRQ46(void); extern void IRQ45(void); extern void IRQ44(void); extern void IRQ43(void); extern void IRQ42(void); extern void IRQ41(void); extern void IRQ40(void); extern void IRQ39(void); extern void IRQ38(void); extern void IRQ37(void); extern void IRQ36(void); extern void IRQ35(void); extern void IRQ34(void); extern void IRQ33(void); extern void IRQ32(void); extern void IRQ31(void); extern void IRQ30(void); extern void IRQ29(void); extern void IRQ28(void); extern void IRQ27(void); extern void IRQ26(void); extern void IRQ25(void); extern void IRQ24(void); //==================================================== // 语法格式:void intmsg(void) // 功能描述: 软件中断及除SPCE3200 40个硬件中断之外的 // S+core内核硬件中断处理程序 // 入口参数: 无 // 出口参数: 无 //==================================================== void intmsg(void) { while(1); } //==================================================== // 语法格式:void irq_dispatch(unsigned int cp0_cause) // 功能描述: 取SPCE3200 40个硬件中断的中断向量号, // 根据中断向量号调用相应中断服务程序 // 入口参数: cp0_cause为S+core内核寄存器cr2的内容 // 其中第23~18位为63个硬件中断的中断请求(中断向量号) // 出口参数: 无 //==================================================== void irq_dispatch(unsigned int cp0_cause) { int intvec=0; intvec = (cp0_cause & 0x00FC0000)>>18; // 取中断向量号 switch (intvec) { case 63: // DAC中断 IRQ63(); break; case 62: // 保留 IRQ62(); break; case 61: // 保留 IRQ61(); break; case 60: // 保留 IRQ60(); break; case 59: // MIC溢出中断 IRQ59(); break; case 58: // ADC中断 IRQ58(); break; case 57: // TMB中断 IRQ57(); break; case 56: IRQ56(); // Timer中断 break; case 55: IRQ55(); // TV vblanking start中断 break; case 54: IRQ54(); // LCD vblanking start中断 break; case 53: IRQ53(); // 保留 break; case 52: // Light Gun中断 IRQ52(); break; case 51: // CSI frame end中断 IRQ51(); break; case 50: // CSI coordinate hit中断 IRQ50(); break; case 49: // CSI motion frame end中断 IRQ49(); break; case 48: // CSI capture done中断 IRQ48(); break; case 47: // TV coordinate hit中断 IRQ47(); break; case 46: // 保留 IRQ46(); break; case 45: // USB host+device中断 IRQ45(); break; case 44: // SIO中断 IRQ44(); break; case 43: // SPI中断 IRQ43(); break; case 42: // UART中断 IRQ42(); break; case 41: // Nand中断 IRQ41(); break; case 40: // SD中断 IRQ40(); break; case 39: // I2C中断 IRQ39(); break; case 38: // I2S中断 IRQ38(); break; case 37: // APBDMA CH1中断 IRQ37(); break; case 36: // APBDMA CH2中断 IRQ36(); break; case 35: // LDM DMA中断 IRQ35(); break; case 34: // BIN DMA中断 IRQ34(); break; case 33: // APBDMA CH3中断 IRQ33(); break; case 32: // APBDMA CH4中断 IRQ32(); break; case 31: // RTC中断 IRQ31(); break; case 30: // MP4中断 IRQ30(); break; case 29: // C3--ECC Module中断 IRQ29(); break; case 28: // GPIO中断 IRQ28(); break; case 27: // BUFCTL and TVvblanking end中断 IRQ27(); break; case 26: // 保留 IRQ26(); break; case 25: // 保留 IRQ25(); break; case 24: // 保留 IRQ24(); break; default: break; } return; }
评论
    相关推荐