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

DSP编程

开发平台:

C/C++

  1. //###########################################################################
  2. //
  3. // FILE:   DSP281x_PieCtrl.h
  4. //
  5. // TITLE:  DSP281x Device PIE Control Register Definitions.
  6. //
  7. //###########################################################################
  8. //
  9. //  Ver | dd mmm yyyy | Who  | Description of changes
  10. // =====|=============|======|===============================================
  11. //  1.00| 11 Sep 2003 | L.H. | No change since previous version (v.58 Alpha)
  12. //###########################################################################
  13. #ifndef DSP281x_PIE_CTRL_H
  14. #define DSP281x_PIE_CTRL_H
  15. #ifdef __cplusplus
  16. extern "C" {
  17. #endif
  18. //---------------------------------------------------------------------------
  19. // PIE Control Register Bit Definitions:
  20. //
  21. // PIECTRL: Register bit definitions:
  22. struct PIECTRL_BITS {      // bits description
  23.    Uint16  ENPIE:1;        // 0    Enable PIE block
  24.    Uint16  PIEVECT:15;     // 15:1 Fetched vector address
  25. };
  26. union PIECTRL_REG {
  27.    Uint16                 all;
  28.    struct PIECTRL_BITS  bit;
  29. };  
  30. // PIEIER: Register bit definitions:
  31. struct PIEIER_BITS {       // bits description
  32.    Uint16 INTx1:1;         // 0    INTx.1
  33.    Uint16 INTx2:1;         // 1    INTx.2
  34.    Uint16 INTx3:1;         // 2    INTx.3
  35.    Uint16 INTx4:1;         // 3    INTx.4
  36.    Uint16 INTx5:1;         // 4    INTx.5
  37.    Uint16 INTx6:1;         // 5    INTx.6
  38.    Uint16 INTx7:1;         // 6    INTx.7
  39.    Uint16 INTx8:1;         // 7    INTx.8
  40.    Uint16 rsvd:8;          // 15:8 reserved
  41. };
  42. union PIEIER_REG {
  43.    Uint16              all;
  44.    struct PIEIER_BITS  bit;
  45. }; 
  46. // PIEIFR: Register bit definitions:
  47. struct PIEIFR_BITS {       // bits description
  48.    Uint16 INTx1:1;         // 0    INTx.1
  49.    Uint16 INTx2:1;         // 1    INTx.2
  50.    Uint16 INTx3:1;         // 2    INTx.3
  51.    Uint16 INTx4:1;         // 3    INTx.4
  52.    Uint16 INTx5:1;         // 4    INTx.5
  53.    Uint16 INTx6:1;         // 5    INTx.6
  54.    Uint16 INTx7:1;         // 6    INTx.7
  55.    Uint16 INTx8:1;         // 7    INTx.8
  56.    Uint16 rsvd:8;          // 15:8 reserved
  57. };
  58. union PIEIFR_REG {
  59.    Uint16              all;
  60.    struct PIEIFR_BITS  bit;
  61. };
  62. // PIEACK: Register bit definitions:
  63. struct PIEACK_BITS {       // bits description
  64.    Uint16 ACK1:1;          // 0    Acknowledge PIE interrupt group 1
  65.    Uint16 ACK2:1;          // 1    Acknowledge PIE interrupt group 2
  66.    Uint16 ACK3:1;          // 2    Acknowledge PIE interrupt group 3
  67.    Uint16 ACK4:1;          // 3    Acknowledge PIE interrupt group 4
  68.    Uint16 ACK5:1;          // 4    Acknowledge PIE interrupt group 5
  69.    Uint16 ACK6:1;          // 5    Acknowledge PIE interrupt group 6
  70.    Uint16 ACK7:1;          // 6    Acknowledge PIE interrupt group 7
  71.    Uint16 ACK8:1;          // 7    Acknowledge PIE interrupt group 8
  72.    Uint16 ACK9:1;          // 8    Acknowledge PIE interrupt group 9
  73.    Uint16 ACK10:1;         // 9    Acknowledge PIE interrupt group 10
  74.    Uint16 ACK11:1;         // 10   Acknowledge PIE interrupt group 11
  75.    Uint16 ACK12:1;         // 11   Acknowledge PIE interrupt group 12
  76.    Uint16 rsvd:4;          // 15:12 reserved
  77. };
  78. union PIEACK_REG {
  79.    Uint16              all;
  80.    struct PIEACK_BITS  bit;
  81. };
  82. //---------------------------------------------------------------------------
  83. // PIE Control Register File:
  84. //
  85. struct PIE_CTRL_REGS {
  86.    union PIECTRL_REG PIECRTL;       // PIE control register
  87.    union PIEACK_REG  PIEACK;        // PIE acknowledge
  88.    union PIEIER_REG  PIEIER1;       // PIE INT1 IER register  
  89.    union PIEIFR_REG  PIEIFR1;       // PIE INT1 IFR register
  90.    union PIEIER_REG  PIEIER2;       // PIE INT2 IER register 
  91.    union PIEIFR_REG  PIEIFR2;       // PIE INT2 IFR register
  92.    union PIEIER_REG  PIEIER3;       // PIE INT3 IER register 
  93.    union PIEIFR_REG  PIEIFR3;       // PIE INT3 IFR register
  94.    union PIEIER_REG  PIEIER4;       // PIE INT4 IER register             
  95.    union PIEIFR_REG  PIEIFR4;       // PIE INT4 IFR register
  96.    union PIEIER_REG  PIEIER5;       // PIE INT5 IER register  
  97.    union PIEIFR_REG  PIEIFR5;       // PIE INT5 IFR register
  98.    union PIEIER_REG  PIEIER6;       // PIE INT6 IER register 
  99.    union PIEIFR_REG  PIEIFR6;       // PIE INT6 IFR register
  100.    union PIEIER_REG  PIEIER7;       // PIE INT7 IER register 
  101.    union PIEIFR_REG  PIEIFR7;       // PIE INT7 IFR register
  102.    union PIEIER_REG  PIEIER8;       // PIE INT8 IER register
  103.    union PIEIFR_REG  PIEIFR8;       // PIE INT8 IFR register
  104.    union PIEIER_REG  PIEIER9;       // PIE INT9 IER register  
  105.    union PIEIFR_REG  PIEIFR9;       // PIE INT9 IFR register
  106.    union PIEIER_REG  PIEIER10;      // PIE INT10 IER register 
  107.    union PIEIFR_REG  PIEIFR10;      // PIE INT10 IFR register
  108.    union PIEIER_REG  PIEIER11;      // PIE INT11 IER register 
  109.    union PIEIFR_REG  PIEIFR11;      // PIE INT11 IFR register
  110.    union PIEIER_REG  PIEIER12;      // PIE INT12 IER register
  111.    union PIEIFR_REG  PIEIFR12;      // PIE INT12 IFR register
  112. };     
  113. #define PIEACK_GROUP1   0x0001;
  114. #define PIEACK_GROUP2   0x0002;
  115. #define PIEACK_GROUP3   0x0004;
  116. #define PIEACK_GROUP4   0x0008;
  117. #define PIEACK_GROUP5   0x0010;
  118. #define PIEACK_GROUP6   0x0020;
  119. #define PIEACK_GROUP7   0x0040;
  120. #define PIEACK_GROUP8   0x0080;
  121. #define PIEACK_GROUP9   0x0100;
  122. #define PIEACK_GROUP10  0x0200;
  123. #define PIEACK_GROUP11  0x0400;
  124. #define PIEACK_GROUP12  0x0800;
  125. //---------------------------------------------------------------------------
  126. // PIE Control Registers External References & Function Declarations:
  127. //
  128. extern volatile struct PIE_CTRL_REGS PieCtrlRegs;
  129. #ifdef __cplusplus
  130. }
  131. #endif /* extern "C" */
  132. #endif  // end of DSP281x_PIE_CTRL_H definition
  133. //===========================================================================
  134. // No more.
  135. //===========================================================================