c4xspurious.c

来自「RTEMS (Real-Time Executive for Multiproc」· C语言 代码 · 共 80 行

C
80
字号
/* *  C4X Spurious Trap Handler * *  This is just enough of a trap handler to let us know what  *  the likely source of the trap was. * *  COPYRIGHT (c) 1989-1999. *  On-Line Applications Research Corporation (OAR). * *  The license and distribution terms for this file may be *  found in the file LICENSE in this distribution or at *  http://www.rtems.com/license/LICENSE. * *  $Id: c4xspurious.c,v 1.2.4.1 2003/09/04 18:43:55 joel Exp $ */#include <bsp.h>#include <rtems/bspIo.h>/* *  bsp_spurious_handler * *  Print a message on the debug console and then die */void bsp_spurious_handler_assistant(  rtems_vector_number,  CPU_Interrupt_frame *);#if defined(_C4x)rtems_isr bsp_spurious_handler(   rtems_vector_number  vector,   CPU_Interrupt_frame *isf){  char *s;  printk( "Unexpected interrupt (0x%x)\n", vector );  printk( "It looks like we got the interrupt at 0x%x\n", isf->interrupted );  /*   *  Can we print a name?   */  printk( "Looks like it was a " );  if ( vector >= 0x0d && vector <= 0x24 ) {    switch ( vector & 0x3 ) {      case 1: s = "ICFULL"; break;      case 2: s = "ICRDY"; break;      case 3: s = "OCRDY"; break;      case 0: s = "OCEMPTY"; break;    }    printk( "%s%d\n", s, (vector - 0x0d) / 4 );  } else if ( vector >= 0x25 && vector <= 0x2a ) {    printk( "DMA INT%d\n", (vector - 0x25) );  } else /* if ( vector <= 0x0c || vector >= 0x2b ) */ {    switch ( vector ) {      case 0:     s = "RESET";     break;      case 1:     s = "NMI";       break;      case 2:     s = "TINT0";     break;      case 3:     s = "IIOF0";     break;      case 4:     s = "IIOF1";     break;      case 5:     s = "IIOF2";     break;      case 6:     s = "IIOF3";     break;      case 0x2b:  s = "TINT1";     break;      case 0x3f:  s = "Reserved";  break;      default:    s = "Unused";    break;    }    printk( "%s\n", s );  }  /*   *  Now call the BSP specific routine   */  bsp_spurious_handler_assistant( vector, isf );}#endif

⌨️ 快捷键说明

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