This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TM4C123GH6PM: Why does Watchdog 1 need at least one UART to be enabled?

Part Number: TM4C123GH6PM

On the TM4C123GH6PM, I'm using the TI System Control Driver functions (sysctl.h, rom_map.h) to set up Watchdog Timer 1 (WDT1, clocked by the PIOSC). For an unknown reason, this ready-waiting loop will never exit, unless a UART is enabled first:

while (!MAP_SysCtlPeripheralReady(SYSCTL_PERIPH_WDOG1));

Executing the following line of code before the while loop will allow the above while loop to exit. Note: It's not just a matter of the loop, but also of watchdog functionality, because simply commenting out the loop results in a crash when trying to use the watchdog, presumably because the watchdog is not available to be used without the UART being enabled. Also, it doesn't seem to matter which UART is enabled (it doesn't have to be UART1), as long as at least one UART is enabled:

MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_UART1);

Additional info: Watchdog Timer 0 (WDT0, clocked by the system clock) doesn't seem to need an enabled UART to function properly.

Why is it required to enable a UART in order to use WDT1? Is there another way to get WDT1 to work without enabling a UART?