regs2407.h
上传用户:inhuatv111
上传日期:2022-08-04
资源大小:292k
文件大小:18k
源码类别:

DSP编程

开发平台:

C/C++

  1. /* file 'Regs2407.h' to setup the addresses of the TMS240LF2407   */
  2. /* memory mapped peripheral register set   */
  3. /* version 2.0  date : 17.08.2000   Bormann */   
  4. /* Improvement : */
  5. /* DEFINE statements instead of pointer ( see Version 1.0) */
  6. /* Advantage : no additional data-memory required     */
  7. /* the syntax in Code-Composers watch-window is : */
  8. /* *(int *)0x7018@data,x ; SCSR1 to watch the SCSR1 -Register  */  
  9. /* file still to be cross-verified/ tested */ 
  10. /* I/O-Space WSGR predefined  */
  11. #ifndef _REGS2407_H_
  12. #define _REGS2407_H_
  13. #define IMR *(volatile unsigned int *)0x0004 /* CPU Interrupt Mask Register */     
  14. #define GREG *(volatile unsigned int *)0x0005    /* Global Data Memory Configuration Register */
  15. #define IFR *(volatile unsigned int *)0x0006    /* CPU Interrupt Flag Register */
  16.                                                     
  17. #define PIRQR0 *(volatile unsigned int *)0x7010    /* Peripheral Interrupt Request Register 0 */
  18. #define PIRQR1 *(volatile unsigned int *)0x7011 /* Peripheral Interrupt Request Register 1 */
  19. #define PIRQR2 *(volatile unsigned int *)0x7012 /* Peripheral Interrupt Request Register 2 */
  20. #define PIACKR0 *(volatile unsigned int *)0x7014  /* Peripheral Interrupt Acknowledge Register 0 */
  21. #define PIACKR1 *(volatile unsigned int *)0x7015 /* Peripheral Interrupt Acknowledge Register 1 */
  22. #define PIACKR2 *(volatile unsigned int *)0x7016 /* Peripheral Interrupt Acknowledge Register 2 */
  23. #define SCSR1 *(volatile unsigned int *)0x7018   /* System Control and Status Register 1 */
  24. #define SCSR2 *(volatile unsigned int *)0x7019 /* System Control and Status Register 2 */
  25. #define DINR *(volatile unsigned int *)0x701C /* Device Identification Name Register */
  26. #define PIVR *(volatile unsigned int *)0x701E    /* Peripheral Interrupt Vector Register */
  27. #define WDCNTR *(volatile unsigned int *)0x7023 /* Watchdog Counter Register  */
  28. #define WDKEY *(volatile unsigned int *)0x7025 /* Watchdog Reset Key Register */
  29. #define WDCR *(volatile unsigned int *)0x7029    /* Watchdog Timer Control Register */
  30. #define SPICCR *(volatile unsigned int *)0x7040 /* SPI Configuration Control Register */
  31. #define SPICTL *(volatile unsigned int *)0x7041 /* SPI Operation Control Register */
  32. #define SPISTS *(volatile unsigned int *)0x7042 /* SPI Status Register */
  33. #define SPIBRR *(volatile unsigned int *)0x7044 /* SPI Baud Rate Control Register */
  34. #define SPIRXEMU *(volatile unsigned int *)0x7046 /* SPI Emulation Buffer Register  */
  35. #define SPIRXBUF *(volatile unsigned int *)0x7047 /* SPI Serial Receive Buffer Register */
  36. #define SPITXBUF *(volatile unsigned int *)0x7048 /* SPI Serial Transmit Buffer Register */
  37. #define SPIDAT *(volatile unsigned int *)0x7049 /* SPI Serial Data Register */
  38. #define SPIPRI *(volatile unsigned int *)0x704F /* SPI Priority Control Register */
  39. #define SCICCR *(volatile unsigned int *)0x7050    /* SCI Communication Control Register */
  40. #define SCICTL1 *(volatile unsigned int *)0x7051    /* SCI Control Register 1 */
  41. #define SCIHBAUD *(volatile unsigned int *)0x7052    /* SCI Baud-Select Register, High-Bits */
  42. #define SCILBAUD *(volatile unsigned int *)0x7053    /* SCI Baud-Select Register, Low-Bits */
  43. #define SCICTL2 *(volatile unsigned int *)0x7054    /* SCI Control Register 2 */
  44. #define SCIRXST *(volatile unsigned int *)0x7055 /* SCI Receiver Status Register */
  45. #define SCIRXEMU *(volatile unsigned int *)0x7056 /* SCI Emulation Data Buffer Register */
  46. #define SCIRXBUF *(volatile unsigned int *)0x7057    /* SCI Receiver Data Buffer Register */
  47. #define SCITXBUF *(volatile unsigned int *)0x7059    /* SCI Transmit Data Buffer Register */                                                            
  48. #define SCIPRI *(volatile unsigned int *)0x705F    /* SCI Priority Control Register */
  49. #define XINT1CR *(volatile unsigned int *)0x7070 /* External Interrupt 1 Control Register*/
  50. #define XINT2CR *(volatile unsigned int *)0x7071 /* External Interrupt 2 Control Register*/
  51.    
  52. #define MCRA *(volatile unsigned int *)0x7090 /* I/O Mux Control Register A */
  53. #define MCRB *(volatile unsigned int *)0x7092    /* I/O Mux Control Register B */
  54. #define MCRC *(volatile unsigned int *)0x7094    /* I/O Mux Control Register C */
  55. #define PEDATDIR *(volatile unsigned int *)0x7095 /* I/O PORT E Data and Direction Register  */
  56. #define PFDATDIR *(volatile unsigned int *)0x7096 /* I/O PORT F Data and Direction Register  */
  57. #define PADATDIR *(volatile unsigned int *)0x7098    /* I/O Port A Data and Direction Register  */
  58. #define PBDATDIR *(volatile unsigned int *)0x709a    /* I/O Port B Data and Direction Register  */
  59. #define PCDATDIR *(volatile unsigned int *)0x709c    /* I/O Port C Data and Direction Register  */
  60. #define PDDATDIR *(volatile unsigned int *)0x709e    /* I/O Port D Data and Direction Register  */
  61. #define ADCTRL1 *(volatile unsigned int *)0x70a0 /* ADC Control Register 1  */
  62. #define ADCTRL2 *(volatile unsigned int *)0x70a1 /* ADC Control Register 2  */
  63. #define MAXCONV *(volatile unsigned int *)0x70a2 /* ADC Maximum Conversion Register  */ 
  64. #define CHSELSEQ1 *(volatile unsigned int *)0x70a3 /* ADC Channel Select Sequencing Control 1  */
  65. #define CHSELSEQ2 *(volatile unsigned int *)0x70a4 /* ADC Channel Select Sequencing Control 2  */
  66. #define CHSELSEQ3 *(volatile unsigned int *)0x70a5 /* ADC Channel Select Sequencing Control 3  */
  67. #define CHSELSEQ4 *(volatile unsigned int *)0x70a6 /* ADC Channel Select Sequencing Control 4  */
  68. #define AUTO_SEQ_SR *(volatile unsigned int *)0x70a7 /* ADC Auto Sequence Status Register   */
  69. #define RESULT0 *(volatile unsigned int *)0x70a8 /* ADC Result Register 0   */
  70. #define RESULT1 *(volatile unsigned int *)0x70a9 /* ADC Result Register 1 */
  71. #define RESULT2 *(volatile unsigned int *)0x70aa /* ADC Result Register 2 */
  72. #define RESULT3 *(volatile unsigned int *)0x70ab /* ADC Result Register 3 */
  73. #define RESULT4 *(volatile unsigned int *)0x70ac /* ADC Result Register 4   */
  74. #define RESULT5 *(volatile unsigned int *)0x70ad /* ADC Result Register 5 */
  75. #define RESULT6 *(volatile unsigned int *)0x70ae /* ADC Result Register 6 */
  76. #define RESULT7 *(volatile unsigned int *)0x70af /* ADC Result Register 7 */
  77. #define RESULT8 *(volatile unsigned int *)0x70b0 /* ADC Result Register 8   */
  78. #define RESULT9 *(volatile unsigned int *)0x70b1 /* ADC Result Register 9 */
  79. #define RESULT10 *(volatile unsigned int *)0x70b2 /* ADC Result Register 10 */
  80. #define RESULT11 *(volatile unsigned int *)0x70b3 /* ADC Result Register 11 */
  81. #define RESULT12 *(volatile unsigned int *)0x70b4 /* ADC Result Register 12   */
  82. #define RESULT13 *(volatile unsigned int *)0x70b5 /* ADC Result Register 13 */
  83. #define RESULT14 *(volatile unsigned int *)0x70b6 /* ADC Result Register 14 */
  84. #define RESULT15 *(volatile unsigned int *)0x70b7 /* ADC Result Register 15 */
  85. #define CALIBRATION *(volatile unsigned int *)0x70b8 /* ADC Calibration Register  */
  86. #define CAN_MDER *(volatile unsigned int *)0x7100    /* CAN Mailbox Direction/Enable Register  */
  87. #define CAN_TCR *(volatile unsigned int *)0x7101    /* CAN Transmission Control Register */
  88. #define CAN_RCR *(volatile unsigned int *)0x7102    /* CAN Receiver Control Register */
  89. #define CAN_MCR *(volatile unsigned int *)0x7103    /* CAN Master Control Register */
  90. #define CAN_BCR2 *(volatile unsigned int *)0x7104    /* CAN Bit Configuration Register 2 */
  91. #define CAN_BCR1 *(volatile unsigned int *)0x7105    /* CAN Bit Configuration Register 1 */
  92. #define CAN_ESR *(volatile unsigned int *)0x7106    /* CAN Error Status Register */
  93. #define CAN_GSR *(volatile unsigned int *)0x7107    /* CAN Global Status Register */
  94. #define CAN_CEC *(volatile unsigned int *)0x7108    /* CAN Error Counter Register */
  95. #define CAN_IFR *(volatile unsigned int *)0x7109    /* CAN Interrupt Flag Register */
  96. #define CAN_IMR *(volatile unsigned int *)0x710a    /* CAN Interrupt Mask Register */
  97. #define CAN_LAM0_H *(volatile unsigned int *)0x710b    /* CAN Local Acceptance Mask MB0 and MB1 high */
  98. #define CAN_LAM0_L *(volatile unsigned int *)0x710c    /* CAN Local Acceptance Mask MB0 and MB1 low  */
  99. #define CAN_LAM1_H *(volatile unsigned int *)0x710d    /* CAN Local Acceptance Mask MB3 and MB2 high */
  100. #define CAN_LAM1_L *(volatile unsigned int *)0x710e    /* CAN Local Acceptance Mask MB3 and MB2 low  */
  101. #define CAN_MSGID0L *(volatile unsigned int *)0x7200 /* CAN Message ID for MB0 , low */
  102. #define CAN_MSGID0H *(volatile unsigned int *)0x7201 /* CAN Message ID for MB0 , high */
  103. #define CAN_MSGCTRL0    *(volatile unsigned int *)0x7202 /* CAN Message Control Field 0 */
  104. #define CAN_MBX0A *(volatile unsigned int *)0x7204 /* CAN 2 of 8 Bytes of Mailbox 0 */
  105. #define CAN_MBX0B *(volatile unsigned int *)0x7205 /* CAN 2 of 8 Bytes of Mailbox 0 */
  106. #define CAN_MBX0C *(volatile unsigned int *)0x7206 /* CAN 2 of 8 Bytes of Mailbox 0 */
  107. #define CAN_MBX0D *(volatile unsigned int *)0x7207 /* CAN 2 of 8 Bytes of Mailbox 0 */
  108.    
  109. #define CAN_MSGID1L *(volatile unsigned int *)0x7208 /* CAN Message ID for MB1 , low */
  110. #define CAN_MSGID1H *(volatile unsigned int *)0x7209 /* CAN Message ID for MB1 , high */
  111. #define CAN_MSGCTRL1    *(volatile unsigned int *)0x720A /* CAN Message Control Field 1 */
  112. #define CAN_MBX1A *(volatile unsigned int *)0x720C /* CAN 2 of 8 Bytes of Mailbox 1 */
  113. #define CAN_MBX1B *(volatile unsigned int *)0x720D /* CAN 2 of 8 Bytes of Mailbox 1 */
  114. #define CAN_MBX1C *(volatile unsigned int *)0x720E /* CAN 2 of 8 Bytes of Mailbox 1 */
  115. #define CAN_MBX1D *(volatile unsigned int *)0x720F /* CAN 2 of 8 Bytes of Mailbox 1 */ 
  116. #define CAN_MSGID2L *(volatile unsigned int *)0x7210 /* CAN Message ID for MB2 , low */
  117. #define CAN_MSGID2H *(volatile unsigned int *)0x7211 /* CAN Message ID for MB2 , high */
  118. #define CAN_MSGCTRL2    *(volatile unsigned int *)0x7212 /* CAN Message Control Field 2 */
  119. #define CAN_MBX2A *(volatile unsigned int *)0x7214 /* CAN 2 of 8 Bytes of Mailbox 2 */
  120. #define CAN_MBX2B *(volatile unsigned int *)0x7215 /* CAN 2 of 8 Bytes of Mailbox 2 */
  121. #define CAN_MBX2C *(volatile unsigned int *)0x7216 /* CAN 2 of 8 Bytes of Mailbox 2 */
  122. #define CAN_MBX2D *(volatile unsigned int *)0x7217 /* CAN 2 of 8 Bytes of Mailbox 2 */
  123. #define CAN_MSGID3L *(volatile unsigned int *)0x7218 /* CAN Message ID for MB3 , low */
  124. #define CAN_MSGID3H *(volatile unsigned int *)0x7219 /* CAN Message ID for MB3 , high */
  125. #define CAN_MSGCTRL3    *(volatile unsigned int *)0x721A /* CAN Message Control Field 3 */
  126. #define CAN_MBX3A *(volatile unsigned int *)0x721C /* CAN 2 of 8 Bytes of Mailbox 3 */
  127. #define CAN_MBX3B *(volatile unsigned int *)0x721D /* CAN 2 of 8 Bytes of Mailbox 3 */
  128. #define CAN_MBX3C *(volatile unsigned int *)0x721E /* CAN 2 of 8 Bytes of Mailbox 3 */
  129. #define CAN_MBX3D *(volatile unsigned int *)0x721F /* CAN 2 of 8 Bytes of Mailbox 3 */
  130. #define CAN_MSGID4L *(volatile unsigned int *)0x7220 /* CAN Message ID for MB4 , low */
  131. #define CAN_MSGID4H *(volatile unsigned int *)0x7221 /* CAN Message ID for MB4 , high */
  132. #define CAN_MSGCTRL4    *(volatile unsigned int *)0x7222 /* CAN Message Control Field 4 */
  133. #define CAN_MBX4A *(volatile unsigned int *)0x7224 /* CAN 2 of 8 Bytes of Mailbox 4 */
  134. #define CAN_MBX4B *(volatile unsigned int *)0x7225 /* CAN 2 of 8 Bytes of Mailbox 4 */
  135. #define CAN_MBX4C *(volatile unsigned int *)0x7226 /* CAN 2 of 8 Bytes of Mailbox 4 */
  136. #define CAN_MBX4D *(volatile unsigned int *)0x7227 /* CAN 2 of 8 Bytes of Mailbox 4 */  
  137. #define CAN_MSGID5L *(volatile unsigned int *)0x7228 /* CAN Message ID for MB5 , low */
  138. #define CAN_MSGID5H *(volatile unsigned int *)0x7229 /* CAN Message ID for MB5 , high */
  139. #define CAN_MSGCTRL5    *(volatile unsigned int *)0x722A /* CAN Message Control Field 5 */
  140. #define CAN_MBX5A *(volatile unsigned int *)0x722C /* CAN 2 of 8 Bytes of Mailbox 5 */
  141. #define CAN_MBX5B *(volatile unsigned int *)0x722D /* CAN 2 of 8 Bytes of Mailbox 5 */
  142. #define CAN_MBX5C *(volatile unsigned int *)0x722E /* CAN 2 of 8 Bytes of Mailbox 5 */
  143. #define CAN_MBX5D *(volatile unsigned int *)0x722F /* CAN 2 of 8 Bytes of Mailbox 5 */   
  144. #define GPTCONA *(volatile unsigned int *)0x7400    /* GP Timer Control Register EVA */
  145. #define T1CNT *(volatile unsigned int *)0x7401    /* GP Timer 1 Counter Register */
  146. #define T1CMPR *(volatile unsigned int *)0x7402   /* GP Timer 1 Compare Register */
  147. #define T1PR *(volatile unsigned int *)0x7403    /* GP Timer 1 Period Register */
  148. #define T1CON *(volatile unsigned int *)0x7404    /* GP Timer 1 Control Register */
  149. #define T2CNT *(volatile unsigned int *)0x7405    /* GP Timer 2 Counter Register */
  150. #define T2CMPR *(volatile unsigned int *)0x7406    /* GP Timer 2 Compare Register */
  151. #define T2PR *(volatile unsigned int *)0x7407    /* GP Timer 2 Period Register */
  152. #define T2CON *(volatile unsigned int *)0x7408    /* GP Timer 2 Control Register */
  153. #define COMCONA *(volatile unsigned int *)0x7411    /* Compare Control Register EVA */
  154. #define ACTRA *(volatile unsigned int *)0x7413    /* Full-Compare Action Register */
  155. #define DBTCONA *(volatile unsigned int *)0x7415  /* Dead-Band Timer Control Register */
  156. #define CMPR1 *(volatile unsigned int *)0x7417    /* Full Compare Unit Compare Register 1 */
  157. #define CMPR2 *(volatile unsigned int *)0x7418    /* Full Compare Unit Compare Register 2 */
  158. #define CMPR3 *(volatile unsigned int *)0x7419    /* Full Compare Unit Compare Register 3 */
  159. #define CAPCONA *(volatile unsigned int *)0x7420 /* Capture Control Register EVA */
  160. #define CAPFIFOA *(volatile unsigned int *)0x7422 /* Capture FIFO Status Register EVA */
  161. #define CAP1FIFO *(volatile unsigned int *)0x7423  /* Two-Level-Deep Capture FIFO Stack 1  */
  162. #define CAP2FIFO *(volatile unsigned int *)0x7424  /* Two-Level-Deep Capture FIFO Stack 2  */
  163. #define CAP3FIFO *(volatile unsigned int *)0x7425  /* Two-Level-Deep Capture FIFO Stack 3  */ 
  164. #define CAP1FBOT *(volatile unsigned int *)0x7427  /* Capture 1 Bottom Stack Register  */
  165. #define CAP2FBOT *(volatile unsigned int *)0x7428  /* Capture 2 Bottom Stack Register  */
  166. #define CAP3FBOT *(volatile unsigned int *)0x7429  /* Capture 3 Bottom Stack Register  */
  167. #define EVAIMRA *(volatile unsigned int *)0x742C    /* EVA Interrupt Mask Register A */
  168. #define EVAIMRB *(volatile unsigned int *)0x742D    /* EVA Interrupt Mask Register B */
  169. #define EVAIMRC *(volatile unsigned int *)0x742E    /* EVA Interrupt Mask Register C */
  170. #define EVAIFRA *(volatile unsigned int *)0x742F    /* EVA Interrupt Flag Register A */
  171. #define EVAIFRB *(volatile unsigned int *)0x7430    /* EVA Interrupt Flag Register B */
  172. #define EVAIFRC *(volatile unsigned int *)0x7431    /* EVA Interrupt Flag Register C */
  173. #define GPTCONB *(volatile unsigned int *)0x7500    /* GP Timer Control Register EVB */
  174. #define T3CNT *(volatile unsigned int *)0x7501    /* GP Timer 3 Counter Register */
  175. #define T3CMPR *(volatile unsigned int *)0x7502   /* GP Timer 3 Compare Register */
  176. #define T3PR *(volatile unsigned int *)0x7503    /* GP Timer 3 Period Register */
  177. #define T3CON *(volatile unsigned int *)0x7504    /* GP Timer 3 Control Register */
  178. #define T4CNT *(volatile unsigned int *)0x7505    /* GP Timer 4 Counter Register */
  179. #define T4CMPR *(volatile unsigned int *)0x7506    /* GP Timer 4 Compare Register */
  180. #define T4PR *(volatile unsigned int *)0x7507    /* GP Timer 4 Period Register */
  181. #define T4CON *(volatile unsigned int *)0x7508    /* GP Timer 4 Control Register */
  182. #define COMCONB *(volatile unsigned int *)0x7511    /* Compare Control Register EVB */
  183. #define ACTRB *(volatile unsigned int *)0x7513    /* Full-Compare Action Register EVB */
  184. #define DBTCONB *(volatile unsigned int *)0x7515  /* Dead-Band Timer Control Register EVB */
  185. #define CMPR4 *(volatile unsigned int *)0x7517    /* Full Compare Unit Compare Register 4 */
  186. #define CMPR5 *(volatile unsigned int *)0x7518    /* Full Compare Unit Compare Register 5 */
  187. #define CMPR6 *(volatile unsigned int *)0x7519    /* Full Compare Unit Compare Register 6 */
  188. #define CAPCONB *(volatile unsigned int *)0x7520 /* Capture Control Register EVB */
  189. #define CAPFIFOB *(volatile unsigned int *)0x7522 /* Capture FIFO Status Register EVB */
  190. #define CAP4FIFO *(volatile unsigned int *)0x7523  /* Two-Level-Deep Capture FIFO Stack 4 */
  191. #define CAP5FIFO *(volatile unsigned int *)0x7524  /* Two-Level-Deep Capture FIFO Stack 5 */
  192. #define CAP6FIFO *(volatile unsigned int *)0x7525  /* Two-Level-Deep Capture FIFO Stack 6 */ 
  193. #define CAP4FBOT *(volatile unsigned int *)0x7527  /* Capture 4 Bottom Stack Register */
  194. #define CAP5FBOT *(volatile unsigned int *)0x7528  /* Capture 5 Bottom Stack Register */
  195. #define CAP6FBOT *(volatile unsigned int *)0x7529  /* Capture 6 Bottom Stack Register */
  196. #define EVBIMRA *(volatile unsigned int *)0x752C    /* EVB Interrupt Mask Register A */
  197. #define EVBIMRB *(volatile unsigned int *)0x752D    /* EVB Interrupt Mask Register B */
  198. #define EVBIMRC *(volatile unsigned int *)0x752E    /* EVB Interrupt Mask Register C */
  199. #define EVBIFRA *(volatile unsigned int *)0x752F    /* EVB Interrupt Flag Register A */
  200. #define EVBIFRB *(volatile unsigned int *)0x7530    /* EVB Interrupt Flag Register B */
  201. #define EVBIFRC *(volatile unsigned int *)0x7531    /* EVB Interrupt Flag Register C */
  202. /*--------------------------------------------------------------------------------------+ */
  203. /* I/O Space Mapped Registers IO SPACE 0xffff | */
  204. /* -------------------------------------------------------------------------------------+ */
  205. #define FCMR portFF0F                                  /* Flash control mode register */
  206. ioport unsigned int portFF0F;                          /* C2xx compiler specific keyword */
  207. #define WSGR portFFFF /* Define WSGR to point to ioport */
  208. ioport unsigned int portFFFF;          /* Declare unsigned port 0xffff in I/O */
  209. #endif