DSP281x_PieVect.c
上传用户:qingfan3
上传日期:2014-10-27
资源大小:31439k
文件大小:5k
源码类别:

DSP编程

开发平台:

C/C++

  1. //###########################################################################
  2. //
  3. // FILE: DSP281x_PieVect.c
  4. //
  5. // TITLE: DSP281x Devices PIE Vector Table Initialization Functions.
  6. //
  7. //###########################################################################
  8. //
  9. //  Ver | dd mmm yyyy | Who  | Description of changes
  10. // =====|=============|======|===============================================
  11. //  1.00| 11 Sep 2003 | L.H. | Changes since previous version (v.58 Alpha)
  12. //      |             |      | Changed USER0-USER11 to USER1-USER12 to match the CPU guide
  13. //###########################################################################
  14. #include "DSP281x_Device.h"     // DSP281x Headerfile Include File
  15. #include "DSP281x_Examples.h"   // DSP281x Examples Include File
  16. const struct PIE_VECT_TABLE PieVectTableInit = {
  17.       PIE_RESERVED,  // Reserved space
  18.       PIE_RESERVED,   
  19.       PIE_RESERVED,   
  20.       PIE_RESERVED,   
  21.       PIE_RESERVED,   
  22.       PIE_RESERVED,   
  23.       PIE_RESERVED,   
  24.       PIE_RESERVED,   
  25.       PIE_RESERVED,   
  26.       PIE_RESERVED,   
  27.       PIE_RESERVED,   
  28.       PIE_RESERVED,   
  29.       PIE_RESERVED,   
  30. // Non-Peripheral Interrupts
  31.       INT13_ISR,     // XINT13 or CPU-Timer 1
  32.       INT14_ISR,     // CPU-Timer2
  33.       DATALOG_ISR,   // Datalogging interrupt
  34.       RTOSINT_ISR,   // RTOS interrupt
  35.       EMUINT_ISR,    // Emulation interrupt
  36.       NMI_ISR,       // Non-maskable interrupt
  37.       ILLEGAL_ISR,   // Illegal operation TRAP
  38.       USER1_ISR,     // User Defined trap 1
  39.       USER2_ISR,     // User Defined trap 2
  40.       USER3_ISR,     // User Defined trap 3
  41.       USER4_ISR,     // User Defined trap 4
  42.       USER5_ISR,     // User Defined trap 5
  43.       USER6_ISR,     // User Defined trap 6
  44.       USER7_ISR,     // User Defined trap 7
  45.       USER8_ISR,     // User Defined trap 8
  46.       USER9_ISR,     // User Defined trap 9
  47.       USER10_ISR,    // User Defined trap 10
  48.       USER11_ISR,    // User Defined trap 11
  49.       USER12_ISR,     // User Defined trap 12
  50. // Group 1 PIE Vectors
  51.       PDPINTA_ISR,   // EV-A
  52.       PDPINTB_ISR,   // EV-B
  53.       rsvd_ISR,
  54.       XINT1_ISR,     
  55.       XINT2_ISR,
  56.       ADCINT_ISR,    // ADC
  57.       TINT0_ISR,     // Timer 0
  58.       WAKEINT_ISR,   // WD
  59. // Group 2 PIE Vectors
  60.       CMP1INT_ISR,   // EV-A
  61.       CMP2INT_ISR,   // EV-A
  62.       CMP3INT_ISR,   // EV-A
  63.       T1PINT_ISR,    // EV-A
  64.       T1CINT_ISR,    // EV-A
  65.       T1UFINT_ISR,   // EV-A
  66.       T1OFINT_ISR,   // EV-A
  67.       rsvd_ISR,
  68.       
  69. // Group 3 PIE Vectors
  70.       T2PINT_ISR,    // EV-A
  71.       T2CINT_ISR,    // EV-A
  72.       T2UFINT_ISR,   // EV-A
  73.       T2OFINT_ISR,   // EV-A
  74.       CAPINT1_ISR,   // EV-A
  75.       CAPINT2_ISR,   // EV-A
  76.       CAPINT3_ISR,   // EV-A
  77.       rsvd_ISR,
  78.       
  79. // Group 4 PIE Vectors
  80.       CMP4INT_ISR,   // EV-B
  81.       CMP5INT_ISR,   // EV-B
  82.       CMP6INT_ISR,   // EV-B
  83.       T3PINT_ISR,    // EV-B
  84.       T3CINT_ISR,    // EV-B
  85.       T3UFINT_ISR,   // EV-B
  86.       T3OFINT_ISR,   // EV-B
  87.       rsvd_ISR,      
  88.      
  89. // Group 5 PIE Vectors
  90.       T4PINT_ISR,    // EV-B
  91.       T4CINT_ISR,    // EV-B
  92.       T4UFINT_ISR,   // EV-B
  93.       T4OFINT_ISR,   // EV-B
  94.       CAPINT4_ISR,   // EV-B
  95.       CAPINT5_ISR,   // EV-B
  96.       CAPINT6_ISR,   // EV-B
  97.       rsvd_ISR,      
  98. // Group 6 PIE Vectors
  99.       SPIRXINTA_ISR,   // SPI-A
  100.       SPITXINTA_ISR,   // SPI-A
  101.       rsvd_ISR,
  102.       rsvd_ISR,
  103.       MRINTA_ISR,    // McBSP-A
  104.       MXINTA_ISR,    // McBSP-A
  105.       rsvd_ISR,
  106.       rsvd_ISR,
  107.       
  108. // Group 7 PIE Vectors
  109.       rsvd_ISR,   
  110.       rsvd_ISR,   
  111.       rsvd_ISR,   
  112.       rsvd_ISR,   
  113.       rsvd_ISR,   
  114.       rsvd_ISR,   
  115.       rsvd_ISR,   
  116.       rsvd_ISR,   
  117. // Group 8 PIE Vectors
  118.       rsvd_ISR,   
  119.       rsvd_ISR,   
  120.       rsvd_ISR,   
  121.       rsvd_ISR,   
  122.       rsvd_ISR,   
  123.       rsvd_ISR,   
  124.       rsvd_ISR,   
  125.       rsvd_ISR,   
  126.       
  127. // Group 9 PIE Vectors     
  128.       SCIRXINTA_ISR, // SCI-A
  129.       SCITXINTA_ISR, // SCI-A
  130.       SCIRXINTB_ISR, // SCI-B
  131.       SCITXINTB_ISR, // SCI-B
  132.       ECAN0INTA_ISR, // eCAN
  133.       ECAN1INTA_ISR, // eCAN
  134.       rsvd_ISR,   
  135.       rsvd_ISR,   
  136.       
  137. // Group 10 PIE Vectors
  138.       rsvd_ISR,   
  139.       rsvd_ISR,   
  140.       rsvd_ISR,   
  141.       rsvd_ISR,   
  142.       rsvd_ISR,   
  143.       rsvd_ISR,   
  144.       rsvd_ISR,   
  145.       rsvd_ISR,   
  146.             
  147. // Group 11 PIE Vectors
  148.       rsvd_ISR,   
  149.       rsvd_ISR,   
  150.       rsvd_ISR,   
  151.       rsvd_ISR,   
  152.       rsvd_ISR,   
  153.       rsvd_ISR,   
  154.       rsvd_ISR,   
  155.       rsvd_ISR,   
  156. // Group 12 PIE Vectors
  157.       rsvd_ISR,   
  158.       rsvd_ISR,   
  159.       rsvd_ISR,   
  160.       rsvd_ISR,   
  161.       rsvd_ISR,   
  162.       rsvd_ISR,   
  163.       rsvd_ISR,   
  164.       rsvd_ISR,   
  165. };
  166. //---------------------------------------------------------------------------
  167. // InitPieVectTable: 
  168. //---------------------------------------------------------------------------
  169. // This function initializes the PIE vector table to a known state.
  170. // This function must be executed after boot time.
  171. //
  172. void InitPieVectTable(void)
  173. {
  174. int16 i;
  175. Uint32 *Source = (void *) &PieVectTableInit;
  176. Uint32 *Dest = (void *) &PieVectTable;
  177. EALLOW;
  178. for(i=0; i < 128; i++)
  179. *Dest++ = *Source++;
  180. EDIS;
  181. // Enable the PIE Vector Table
  182. PieCtrlRegs.PIECRTL.bit.ENPIE = 1;
  183. }
  184. //===========================================================================
  185. // No more.
  186. //===========================================================================