SWRU543B January 2019 – June 2025 CC3230S , CC3230SF , CC3235MODS , CC3235MODSF , CC3235S , CC3235SF
Table 10-1 lists the memory-mapped registers for the watchdog timer. All register offset addresses not listed in Table 10-1 should be considered as reserved locations and the register contents should not be modified.
Table 10-1 lists the Watchdog registers. The offset listed is a hexadecimal increment to the address of the register, relative to the watchdog base address: 0x4000.0000. The WDT module clock must be enabled before the registers can be programmed.
| Offset | Acronym | Register Name | Section |
|---|---|---|---|
| 0h | WDTLOAD | Watchdog Load | Section 10.3.1 |
| 4h | WDTVALUE | Watchdog Value | Section 10.3.2 |
| 8h | WDTCTL | Watchdog Control | Section 10.3.3 |
| Ch | WDTICR | Watchdog Interrupt Clear | Section 10.3.4 |
| 10h | WDTRIS | Watchdog Raw Interrupt Status | Section 10.3.5 |
| 418h | WDTTEST | Watchdog Test | Section 10.3.6 |
| C00h | WDTLOCK | Watchdog Lock | Section 10.3.7 |
WDTLOAD is shown in Figure 10-2 and described in Table 10-2.
This register is the 32-bit interval value used by the 32-bit counter. When this register is written, the value is immediately loaded and the counter restarts counting down from the new value. If the WDTLOAD register is loaded with 0x0000.0000, an interrupt is immediately generated.
| 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 |
| WDTLOAD | |||||||||||||||||||||||||||||||
| R/W-FFFFFFFFh | |||||||||||||||||||||||||||||||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | WDTLOAD | R/W | FFFFFFFFh | Watchdog Load Value |
WDTVALUE is shown in Figure 10-3 and described in Table 10-3.
This register contains the current count value of the timer.
| 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 |
| WDTVALUE | |||||||||||||||||||||||||||||||
| R-FFFFFFFFh | |||||||||||||||||||||||||||||||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | WDTVALUE | R | FFFFFFFFh | Watchdog Value Current value of the 32-bit down counter |
WDTCTL is shown in Figure 10-4 and described in Table 10-4.
This register is the watchdog control register. The watchdog timer can be used to generate a reset signal (on the second time-out) or an interrupt on time-out.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| WRC | RESERVED | ||||||
| R-1h | 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 | INTTYPE | RESERVED | INTEN | ||||
| R-0h | R/W-0h | R/W-0h | R/W-0h | ||||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31 | WRC | R | 1h | Write Complete The WRC values are defined as follows: Note: This bit is reserved for WDT0 and has a reset value of 0. 0h = A write access to one of the WDT1 registers is in progress. 1h = A write access is not in progress, and WDT1 registers can be read or written. |
| 30-3 | RESERVED | R | 0h | |
| 2 | INTTYPE | R/W | 0h | Watchdog Interrupt Type. The INTTYPE values are defined as follows: 0h = Watchdog interrupt is a standard interrupt. 1h = Not Valid Value |
| 1 | RESERVED | R/W | 0h | |
| 0 | INTEN | R/W | 0h | Watchdog Interrupt Enable. The INTEN values are defined as follows: 0h = Interrupt event disabled (when this bit is set, it can only be cleared by a hardware reset). 1h = Interrupt event enabled. Once enabled, all writes are ignored. Setting this bit enables the WDT. |
Register mask: 0h
WDTICR is shown in Figure 10-5 and described in Table 10-5.
This register is the interrupt clear register. A write of any value to this register clears the Watchdog interrupt and reloads the 32-bit counter from the WDTLOAD register. Write to this register when a watchdog time-out interrupt has occurred to properly service the Watchdog. The value for a read or reset is indeterminate.
| 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 |
| WDTINTCLR | |||||||||||||||||||||||||||||||
| W-X | |||||||||||||||||||||||||||||||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | WDTINTCLR | W | X | Watchdog Interrupt Clear |
WDTRIS is shown in Figure 10-6 and described in Table 10-6.
This register is the raw interrupt status register. Watchdog interrupt events can be monitored through this register if the controller interrupt is masked.
| 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 | WDTRIS | ||||||
| R-0h | R-0h | ||||||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-1 | RESERVED | R | 0h | |
| 0 | WDTRIS | R | 0h | Watchdog Raw Interrupt Status 0h = The watchdog has not timed out. 1h = A watchdog time-out event has occurred. |
WDTTEST is shown in Figure 10-7 and described in Table 10-7.
This register provides user-enabled stalling when the microcontroller asserts the CPU Halt flag during debug.
| 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 | STALL | ||||||
| R-0h | R/W-0h | ||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | |||||||
| R-0h | |||||||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-9 | RESERVED | R | 0h | |
| 8 | STALL | R/W | 0h | Watchdog Stall Enable 0h = The WDT continues counting if the microcontroller is stopped with a debugger. 1h = If the microcontroller is stopped with a debugger, the watchdog timer stops counting. Once the microcontroller is restarted, the watchdog timer resumes counting. |
| 7-0 | RESERVED | R | 0h |
WDTLOCK is shown in Figure 10-8 and described in Table 10-8.
Writing 0x1ACC.E551 to the WDTLOCK register enables write access to all other registers. Writing any other value to the WDTLOCK register re-enables the locked state for register writes to all the other registers, except for the Watchdog Test (WDTTEST) register. The locked state will be enabled after two clock cycles. Reading the WDTLOCK register returns the lock status rather than the 32-bit value written. Therefore, when write accesses are disabled, reading the WDTLOCK register returns 0x0000.0001 when locked; otherwise, the returned value is 0x0000.0000 (unlocked).
| 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 |
| WDTLOCK | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | WDTLOCK | R/W | 0h | Watchdog Lock A write of the value 0x1ACC.E551 unlocks the watchdog registers for write access. A write of any other value reapplies the lock, preventing any register updates, except for the WDTTEST register. Avoid writes to the WDTTEST register when the watchdog registers are locked. A read of this register returns the following values: 0h = Unlocked 1h = Locked |