F2837xD_nmiintrupt.h 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. //###########################################################################
  2. //
  3. // FILE: F2837xD_nmiintrupt.h
  4. //
  5. // TITLE: NMIINTRUPT Register Definitions.
  6. //
  7. //###########################################################################
  8. // $TI Release: F2837xD Support Library v3.05.00.00 $
  9. // $Release Date: Tue Jun 26 03:15:23 CDT 2018 $
  10. // $Copyright:
  11. // Copyright (C) 2013-2018 Texas Instruments Incorporated - http://www.ti.com/
  12. //
  13. // Redistribution and use in source and binary forms, with or without
  14. // modification, are permitted provided that the following conditions
  15. // are met:
  16. //
  17. // Redistributions of source code must retain the above copyright
  18. // notice, this list of conditions and the following disclaimer.
  19. //
  20. // Redistributions in binary form must reproduce the above copyright
  21. // notice, this list of conditions and the following disclaimer in the
  22. // documentation and/or other materials provided with the
  23. // distribution.
  24. //
  25. // Neither the name of Texas Instruments Incorporated nor the names of
  26. // its contributors may be used to endorse or promote products derived
  27. // from this software without specific prior written permission.
  28. //
  29. // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  30. // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  31. // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  32. // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  33. // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  34. // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  35. // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  36. // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  37. // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  38. // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  39. // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  40. // $
  41. //###########################################################################
  42. #ifndef __F2837xD_NMIINTRUPT_H__
  43. #define __F2837xD_NMIINTRUPT_H__
  44. #ifdef __cplusplus
  45. extern "C" {
  46. #endif
  47. //---------------------------------------------------------------------------
  48. // NMIINTRUPT Individual Register Bit Definitions:
  49. struct NMICFG_BITS { // bits description
  50. Uint16 NMIE:1; // 0 Global NMI Enable
  51. Uint16 rsvd1:15; // 15:1 Reserved
  52. };
  53. union NMICFG_REG {
  54. Uint16 all;
  55. struct NMICFG_BITS bit;
  56. };
  57. struct NMIFLG_BITS { // bits description
  58. Uint16 NMIINT:1; // 0 NMI Interrupt Flag
  59. Uint16 CLOCKFAIL:1; // 1 Clock Fail Interrupt Flag
  60. Uint16 RAMUNCERR:1; // 2 RAM Uncorrectable Error NMI Flag
  61. Uint16 FLUNCERR:1; // 3 Flash Uncorrectable Error NMI Flag
  62. Uint16 CPU1HWBISTERR:1; // 4 HW BIST Error NMI Flag
  63. Uint16 CPU2HWBISTERR:1; // 5 HW BIST Error NMI Flag
  64. Uint16 PIEVECTERR:1; // 6 PIE Vector Fetch Error Flag
  65. Uint16 rsvd1:1; // 7 Reserved
  66. Uint16 rsvd2:1; // 8 Reserved
  67. Uint16 CPU2WDRSn:1; // 9 CPU2 WDRSn Reset Indication Flag
  68. Uint16 CPU2NMIWDRSn:1; // 10 CPU2 NMIWDRSn Reset Indication Flag
  69. Uint16 rsvd3:1; // 11 Reserved
  70. Uint16 rsvd4:4; // 15:12 Reserved
  71. };
  72. union NMIFLG_REG {
  73. Uint16 all;
  74. struct NMIFLG_BITS bit;
  75. };
  76. struct NMIFLGCLR_BITS { // bits description
  77. Uint16 NMIINT:1; // 0 NMIINT Flag Clear
  78. Uint16 CLOCKFAIL:1; // 1 CLOCKFAIL Flag Clear
  79. Uint16 RAMUNCERR:1; // 2 RAMUNCERR Flag Clear
  80. Uint16 FLUNCERR:1; // 3 FLUNCERR Flag Clear
  81. Uint16 CPU1HWBISTERR:1; // 4 CPU1HWBISTERR Flag Clear
  82. Uint16 CPU2HWBISTERR:1; // 5 CPU2HWBISTERR Flag Clear
  83. Uint16 PIEVECTERR:1; // 6 PIEVECTERR Flag Clear
  84. Uint16 rsvd1:1; // 7 Reserved
  85. Uint16 rsvd2:1; // 8 Reserved
  86. Uint16 CPU2WDRSn:1; // 9 CPU2WDRSn Flag Clear
  87. Uint16 CPU2NMIWDRSn:1; // 10 CPU2NMIWDRSn Flag Clear
  88. Uint16 OVF:1; // 11 OVF Flag Clear
  89. Uint16 rsvd3:4; // 15:12 Reserved
  90. };
  91. union NMIFLGCLR_REG {
  92. Uint16 all;
  93. struct NMIFLGCLR_BITS bit;
  94. };
  95. struct NMIFLGFRC_BITS { // bits description
  96. Uint16 rsvd1:1; // 0 Reserved
  97. Uint16 CLOCKFAIL:1; // 1 CLOCKFAIL Flag Force
  98. Uint16 RAMUNCERR:1; // 2 RAMUNCERR Flag Force
  99. Uint16 FLUNCERR:1; // 3 FLUNCERR Flag Force
  100. Uint16 CPU1HWBISTERR:1; // 4 CPU1HWBISTERR Flag Force
  101. Uint16 CPU2HWBISTERR:1; // 5 CPU2HWBISTERR Flag Force
  102. Uint16 PIEVECTERR:1; // 6 PIEVECTERR Flag Force
  103. Uint16 rsvd2:1; // 7 Reserved
  104. Uint16 rsvd3:1; // 8 Reserved
  105. Uint16 CPU2WDRSn:1; // 9 CPU2WDRSn Flag Force
  106. Uint16 CPU2NMIWDRSn:1; // 10 CPU2NMIWDRSn Flag Force
  107. Uint16 OVF:1; // 11 OVF Flag Force
  108. Uint16 rsvd4:4; // 15:12 Reserved
  109. };
  110. union NMIFLGFRC_REG {
  111. Uint16 all;
  112. struct NMIFLGFRC_BITS bit;
  113. };
  114. struct NMISHDFLG_BITS { // bits description
  115. Uint16 rsvd1:1; // 0 Reserved
  116. Uint16 CLOCKFAIL:1; // 1 Shadow CLOCKFAIL Flag
  117. Uint16 RAMUNCERR:1; // 2 Shadow RAMUNCERR Flag
  118. Uint16 FLUNCERR:1; // 3 Shadow FLUNCERR Flag
  119. Uint16 CPU1HWBISTERR:1; // 4 Shadow CPU1HWBISTERR Flag
  120. Uint16 CPU2HWBISTERR:1; // 5 Shadow CPU2HWBISTERR Flag
  121. Uint16 PIEVECTERR:1; // 6 Shadow PIEVECTERR Flag
  122. Uint16 rsvd2:1; // 7 Reserved
  123. Uint16 rsvd3:1; // 8 Reserved
  124. Uint16 CPU2WDRSn:1; // 9 Shadow CPU2WDRSn Flag
  125. Uint16 CPU2NMIWDRSn:1; // 10 Shadow CPU2NMIWDRSn Flag
  126. Uint16 OVF:1; // 11 Shadow OVF Flag
  127. Uint16 rsvd4:4; // 15:12 Reserved
  128. };
  129. union NMISHDFLG_REG {
  130. Uint16 all;
  131. struct NMISHDFLG_BITS bit;
  132. };
  133. struct NMI_INTRUPT_REGS {
  134. union NMICFG_REG NMICFG; // NMI Configuration Register
  135. union NMIFLG_REG NMIFLG; // NMI Flag Register (XRSn Clear)
  136. union NMIFLGCLR_REG NMIFLGCLR; // NMI Flag Clear Register
  137. union NMIFLGFRC_REG NMIFLGFRC; // NMI Flag Force Register
  138. Uint16 NMIWDCNT; // NMI Watchdog Counter Register
  139. Uint16 NMIWDPRD; // NMI Watchdog Period Register
  140. union NMISHDFLG_REG NMISHDFLG; // NMI Shadow Flag Register
  141. };
  142. //---------------------------------------------------------------------------
  143. // NMIINTRUPT External References & Function Declarations:
  144. //
  145. #ifdef CPU1
  146. extern volatile struct NMI_INTRUPT_REGS NmiIntruptRegs;
  147. #endif
  148. #ifdef CPU2
  149. extern volatile struct NMI_INTRUPT_REGS NmiIntruptRegs;
  150. #endif
  151. #ifdef __cplusplus
  152. }
  153. #endif /* extern "C" */
  154. #endif
  155. //===========================================================================
  156. // End of file.
  157. //===========================================================================