SPRUII0F May 2019 – June 2024 TMS320F28384D , TMS320F28384D-Q1 , TMS320F28384S , TMS320F28384S-Q1 , TMS320F28386D , TMS320F28386D-Q1 , TMS320F28386S , TMS320F28386S-Q1 , TMS320F28388D , TMS320F28388S
Table 41-113 lists the memory-mapped registers for the CM_NMI_INTRUPT_REGS registers. All register offset addresses not listed in Table 41-113 should be considered as reserved locations and the register contents should not be modified.
| Offset | Acronym | Register Name | Write Protection | Section |
|---|---|---|---|---|
| 0h | CMNMICFG | CM NMI Configuration Register | Go | |
| 4h | CMNMIFLG | CM NMI Flag Register | Go | |
| 8h | CMNMIFLGCLR | CMNMI Flag Clear Register | Go | |
| Ch | CMNMIFLGFRC | CMNMI Flag Force Register | Go | |
| 10h | CMNMIWDCNT | CMNMI Watchdog Counter Register | Go | |
| 14h | CMNMIWDPRD | CMNMI Watchdog Period Register | Go | |
| 18h | CMNMISHDWFLG | CMNMI Shadow Flag Register | Go |
Complex bit access types are encoded to fit into small table cells. Table 41-114 shows the codes that are used for access types in this section.
| Access Type | Code | Description |
|---|---|---|
| Read Type | ||
| R | R | Read |
| R-0 | R -0 | Read Returns 0s |
| Write Type | ||
| W | W | Write |
| W1S | W 1S | Write 1 to set |
| Reset or Default Value | ||
| -n | Value after reset or the default value | |
| Register Array Variables | ||
| i,j,k,l,m,n | When these variables are used in a register name, an offset, or an address, they refer to the value of a register array where the register is part of a group of repeating registers. The register groups form a hierarchical structure and the array is represented with a formula. | |
| y | When this variable is used in a register name, an offset, or an address it refers to the value of a register array. | |
CMNMICFG is shown in Figure 41-106 and described in Table 41-115.
Return to the Summary Table.
CM NMI Configuration Register
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| KEY | |||||||
| R-0/W-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| KEY | |||||||
| R-0/W-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | |||||||
| R-0-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | NMIE | ||||||
| R-0-0h | R/W1S-0h | ||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | KEY | R-0/W | 0h | Write to any of the fields will suceed only if a value 0x6789 appears on the KEY field. Reset type: CM.RESETn |
| 15-1 | RESERVED | R-0 | 0h | Reserved |
| 0 | NMIE | R/W1S | 0h | When set to 1 any condition will generate an NMI interrupt to the CM4 CPU and kick off the NMI watchdog counter. As part of boot sequence this bit should be set after the device security related initialization is complete. 0 NMI disabled 1 NMI enabled Reset type: CM.RESETn |
CMNMIFLG is shown in Figure 41-107 and described in Table 41-116.
Return to the Summary Table.
CM NMI Flag Register
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| R-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | |||||||
| R-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | ECATNMI | WWDNMI | MCANUNCERR | FLUNCERR | MEMUNCERR | CLOCKFAIL | NMIINT |
| R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-7 | RESERVED | R | 0h | Reserved |
| 6 | ECATNMI | R | 0h | 0 No reset request from EtherCAT IP. 1 NMI generated from EtherCAT IP. No further NMI pulses are generated until this flag is cleared by the user. Reset type: CM.RESETn |
| 5 | WWDNMI | R | 0h | CM Windowed Watchdog NMI Flag: This bits indicates if CM watch dog generated an NMI. 0 CM WWD has not generated an NMI 1 CM WWD has generated an NMI Reset type: CM.RESETn |
| 4 | MCANUNCERR | R | 0h | MCAN Uncorrectable Error NMI Flag: This bit indicates if an uncorrectable error occurred on an access MCAN message RAM, and that condition is latched. This bit can only be cleared by the user writing to the corresponding clear bit in the CMNMIFLGCLR register or by an XRSn reset: 0,No CM4 Flash uncorrectable error condition pending 1,CM4 Flash uncorrectable error condition generated Reset type: CM.RESETn |
| 3 | FLUNCERR | R | 0h | Flash Uncorrectable Error NMI Flag: This bit indicates if an uncorrectable error occurred on a CM4 Flash access and that condition is latched. This bit can only be cleared by the user writing to the corresponding clear bit in the CMNMIFLGCLR register or by an XRSn reset: 0,No CM4 Flash uncorrectable error condition pending 1,CM4 Flash uncorrectable error condition generated Reset type: CM.RESETn |
| 2 | MEMUNCERR | R | 0h | RAM/ROM Uncorrectable Error NMI Flag: This bit indicates if an uncorrectable error occurred on a RAM (Including peripheral RAMs)/ROM access (by any master) and that condition is latched. This bit can only be cleared by the user writing to the corresponding clear bit in the CMNMIFLGCLR register or by an XRSn reset: 0,No RAM/ROM uncorrectable error condition pending 1,RAM/ROM uncorrectable error condition generated Reset type: CM.RESETn |
| 1 | CLOCKFAIL | R | 0h | Clock Fail Interrupt Flag: These bits indicates if the CLOCKFAIL condition is latched. These bits can only be cleared by the user writing to the respective bit in the CMNMIFLGCLR register or by an XRSn reset: 0,No CLOCKFAIL Condition Pending 1,CLOCKFAIL Condition Generated Reset type: CM.RESETn |
| 0 | NMIINT | R | 0h | NMI Interrupt Flag: This bit indicates if an NMI interrupt was generated. This bit can only be cleared by the user writing to the respective bit in the CMNMIFLGCLR register or by an XRSn reset: 0 No NMI Interrupt Generated 1 NMI Interrupt Generated No further NMI interrupts pulses are generated until this flag is cleared by the user. Reset type: CM.RESETn |
CMNMIFLGCLR is shown in Figure 41-108 and described in Table 41-117.
Return to the Summary Table.
CMNMI Flag Clear Register
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| KEY | |||||||
| R-0/W-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| KEY | |||||||
| R-0/W-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | |||||||
| R-0/W1S-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | ECATNMI | WWDNMI | MCANUNCERR | FLUNCERR | MEMUNCERR | CLOCKFAIL | NMIINT |
| R-0/W1S-0h | R-0/W1S-0h | R-0/W1S-0h | R-0/W1S-0h | R-0/W1S-0h | R-0/W1S-0h | R-0/W1S-0h | R-0/W1S-0h |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | KEY | R-0/W | 0h | Write to any of the fields will suceed only if a value 0x5674 appears on the KEY field. Reset type: CM.RESETn |
| 15-7 | RESERVED | R-0/W1S | 0h | Reserved |
| 6 | ECATNMI | R-0/W1S | 0h | Writing a 1 to the respective bit clears the corresponding flag bit in the NCMMIFLG and CMNMISHDFLG registers. Writes of 0 are ignored. Always reads back 0. Notes: [1] If hardware is trying to set a bit to 1 while software is trying to clear a bit to 0 on the same cycle, hardware has priority. [2] Users should clear the pending FAIL flag first and then clear the NMIINT flag. Reset type: CM.RESETn |
| 5 | WWDNMI | R-0/W1S | 0h | Writing a 1 to the respective bit clears the corresponding flag bit in the NCMMIFLG and CMNMISHDFLG registers. Writes of 0 are ignored. Always reads back 0. Notes: [1] If hardware is trying to set a bit to 1 while software is trying to clear a bit to 0 on the same cycle, hardware has priority. [2] Users should clear the pending FAIL flag first and then clear the NMIINT flag. Reset type: CM.RESETn |
| 4 | MCANUNCERR | R-0/W1S | 0h | Writing a 1 to the respective bit clears the corresponding flag bit in the NCMMIFLG and CMNMISHDFLG registers. Writes of 0 are ignored. Always reads back 0. Notes: [1] If hardware is trying to set a bit to 1 while software is trying to clear a bit to 0 on the same cycle, hardware has priority. [2] Users should clear the pending FAIL flag first and then clear the NMIINT flag. Reset type: CM.RESETn |
| 3 | FLUNCERR | R-0/W1S | 0h | Writing a 1 to the respective bit clears the corresponding flag bit in the NCMMIFLG and CMNMISHDFLG registers. Writes of 0 are ignored. Always reads back 0. Notes: [1] If hardware is trying to set a bit to 1 while software is trying to clear a bit to 0 on the same cycle, hardware has priority. [2] Users should clear the pending FAIL flag first and then clear the NMIINT flag. Reset type: CM.RESETn |
| 2 | MEMUNCERR | R-0/W1S | 0h | Writing a 1 to the respective bit clears the corresponding flag bit in the NCMMIFLG and CMNMISHDFLG registers. Writes of 0 are ignored. Always reads back 0. Notes: [1] If hardware is trying to set a bit to 1 while software is trying to clear a bit to 0 on the same cycle, hardware has priority. [2] Users should clear the pending FAIL flag first and then clear the NMIINT flag. Reset type: CM.RESETn |
| 1 | CLOCKFAIL | R-0/W1S | 0h | Writing a 1 to the respective bit clears the corresponding flag bit in the NCMMIFLG and CMNMISHDFLG registers. Writes of 0 are ignored. Always reads back 0. Notes: [1] If hardware is trying to set a bit to 1 while software is trying to clear a bit to 0 on the same cycle, hardware has priority. [2] Users should clear the pending FAIL flag first and then clear the NMIINT flag. Reset type: CM.RESETn |
| 0 | NMIINT | R-0/W1S | 0h | Writing a 1 to the respective bit clears the corresponding flag bit in the NCMMIFLG and CMNMISHDFLG registers. Writes of 0 are ignored. Always reads back 0. Notes: [1] If hardware is trying to set a bit to 1 while software is trying to clear a bit to 0 on the same cycle, hardware has priority. [2] Users should clear the pending FAIL flag first and then clear the NMIINT flag. Reset type: CM.RESETn |
CMNMIFLGFRC is shown in Figure 41-109 and described in Table 41-118.
Return to the Summary Table.
CMNMI Flag Force Register
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| KEY | |||||||
| R-0/W-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| KEY | |||||||
| R-0/W-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | |||||||
| R-0/W1S-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | ECATNMI | WWDNMI | MCANUNCERR | FLUNCERR | MEMUNCERR | CLOCKFAIL | RESERVED |
| R-0/W1S-0h | R-0/W1S-0h | R-0/W1S-0h | R-0/W1S-0h | R-0/W1S-0h | R-0/W1S-0h | R-0/W1S-0h | R-0-0h |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | KEY | R-0/W | 0h | Write to any of the fields will suceed only if a value 0x2732 appears on the KEY field. Reset type: CM.RESETn |
| 15-7 | RESERVED | R-0/W1S | 0h | Reserved |
| 6 | ECATNMI | R-0/W1S | 0h | Writing a 1 to these bits will set the respective FAIL flag in the CMNMIFLG and CMNMISHDFLG registers. Writes of 0 are ignored. Always reads back 0. This can be used as a means to test the NMI mechanisms. Reset type: CM.RESETn |
| 5 | WWDNMI | R-0/W1S | 0h | Writing a 1 to these bits will set the respective FAIL flag in the CMNMIFLG and CMNMISHDFLG registers. Writes of 0 are ignored. Always reads back 0. This can be used as a means to test the NMI mechanisms. Reset type: CM.RESETn |
| 4 | MCANUNCERR | R-0/W1S | 0h | Writing a 1 to these bits will set the respective FAIL flag in the CMNMIFLG and CMNMISHDFLG registers. Writes of 0 are ignored. Always reads back 0. This can be used as a means to test the NMI mechanisms. Reset type: CM.RESETn |
| 3 | FLUNCERR | R-0/W1S | 0h | Writing a 1 to these bits will set the respective FAIL flag in the CMNMIFLG and CMNMISHDFLG registers. Writes of 0 are ignored. Always reads back 0. This can be used as a means to test the NMI mechanisms. Reset type: CM.RESETn |
| 2 | MEMUNCERR | R-0/W1S | 0h | Writing a 1 to these bits will set the respective FAIL flag in the CMNMIFLG and CMNMISHDFLG registers. Writes of 0 are ignored. Always reads back 0. This can be used as a means to test the NMI mechanisms. Reset type: CM.RESETn |
| 1 | CLOCKFAIL | R-0/W1S | 0h | Writing a 1 to these bits will set the respective FAIL flag in the CMNMIFLG and CMNMISHDFLG registers. Writes of 0 are ignored. Always reads back 0. This can be used as a means to test the NMI mechanisms. Reset type: CM.RESETn |
| 0 | RESERVED | R-0 | 0h | Reserved |
CMNMIWDCNT is shown in Figure 41-110 and described in Table 41-119.
Return to the Summary Table.
CMNMI Watchdog Counter Register
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | NMIWDCNT | ||||||||||||||||||||||||||||||
| R-0h | R-0h | ||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | RESERVED | R | 0h | Reserved |
| 15-0 | NMIWDCNT | R | 0h | NMI Watchdog Counter: This 16-bit incremental counter will start incrementing whenever any one of the enabled FAIL flags are set. If the counter reaches the period value, an NMIRSn signal is fired which will then resets the system. If no enabled FAIL flag is set, then the counter will reset to zero and remain at zero until an enabled FAIL flag is set. Normally, the software would respond to the NMI interrupt generated and clear the offending FLAG(s) before the NMI watchdog triggers a reset. In some situations, the software may decide to allow the watchdog to reset the device anyway. The counter is clocked at the CMCLK rate. Reset type: CM.RESETn |
CMNMIWDPRD is shown in Figure 41-111 and described in Table 41-120.
Return to the Summary Table.
CMNMI Watchdog Period Register
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| KEY | NMIWDPRD | ||||||||||||||||||||||||||||||
| R-0/W-0h | R/W-FFFFh | ||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | KEY | R-0/W | 0h | Write to any of the fields of this register will suceed only if a value 0x9238 appears on the KEY field. Reset type: CM.RESETn |
| 15-0 | NMIWDPRD | R/W | FFFFh | NMI Watchdog Period: This 16-bit value contains the period value at which a reset is generated when the watchdog counter matches. At reset this value is set at the maximum. The software can decrease the period value at initialization time. Note:If a PERIOD value is written that is smaller than the current counter value, the counter will continue counting until it overflows and starts counting up again from 0. After the overflow, once the COUNTER value equals the new PERIOD value, an NMIRS is forced which resets the watchdog counter. Reset type: CM.RESETn |
CMNMISHDWFLG is shown in Figure 41-112 and described in Table 41-121.
Return to the Summary Table.
CMNMI Shadow Flag Register
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| R-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | |||||||
| R-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | ECATNMI | WWDNMI | MCANUNCERR | FLUNCERR | MEMUNCERR | CLOCKFAIL | RESERVED |
| R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0-0h |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-7 | RESERVED | R | 0h | Reserved |
| 6 | ECATNMI | R | 0h | Shadow NMI Flags: When an CMNMIFLG bit is set due to any of the possible NMI source in the device, the corresponding bit in this register is also set. Note that CMNMIFLGFRC and CMNMIFLGCLR register also affects the bits of this register in the same way as they do for the NMIFLG register. This register is resetted only by PORESETn. Notes: [1] This register is added to keep the definition of System Control Reset Cause Register Clean. Reset type: PORESETn |
| 5 | WWDNMI | R | 0h | Shadow NMI Flags: When an CMNMIFLG bit is set due to any of the possible NMI source in the device, the corresponding bit in this register is also set. Note that CMNMIFLGFRC and CMNMIFLGCLR register also affects the bits of this register in the same way as they do for the NMIFLG register. This register is resetted only by PORESETn. Notes: [1] This register is added to keep the definition of System Control Reset Cause Register Clean. Reset type: PORESETn |
| 4 | MCANUNCERR | R | 0h | Shadow NMI Flags: When an CMNMIFLG bit is set due to any of the possible NMI source in the device, the corresponding bit in this register is also set. Note that CMNMIFLGFRC and CMNMIFLGCLR register also affects the bits of this register in the same way as they do for the NMIFLG register. This register is resetted only by PORESETn. Notes: [1] This register is added to keep the definition of System Control Reset Cause Register Clean. Reset type: PORESETn |
| 3 | FLUNCERR | R | 0h | Shadow NMI Flags: When an CMNMIFLG bit is set due to any of the possible NMI source in the device, the corresponding bit in this register is also set. Note that CMNMIFLGFRC and CMNMIFLGCLR register also affects the bits of this register in the same way as they do for the NMIFLG register. This register is resetted only by PORESETn. Notes: [1] This register is added to keep the definition of System Control Reset Cause Register Clean. Reset type: PORESETn |
| 2 | MEMUNCERR | R | 0h | Shadow NMI Flags: When an CMNMIFLG bit is set due to any of the possible NMI source in the device, the corresponding bit in this register is also set. Note that CMNMIFLGFRC and CMNMIFLGCLR register also affects the bits of this register in the same way as they do for the NMIFLG register. This register is resetted only by PORESETn. Notes: [1] This register is added to keep the definition of System Control Reset Cause Register Clean. Reset type: PORESETn |
| 1 | CLOCKFAIL | R | 0h | Shadow NMI Flags: When an CMNMIFLG bit is set due to any of the possible NMI source in the device, the corresponding bit in this register is also set. Note that CMNMIFLGFRC and CMNMIFLGCLR register also affects the bits of this register in the same way as they do for the NMIFLG register. This register is resetted only by PORESETn. Notes: [1] This register is added to keep the definition of System Control Reset Cause Register Clean. Reset type: PORESETn |
| 0 | RESERVED | R-0 | 0h | Reserved |