Other Parts Discussed in Thread: CC3235SF
Tool/software:
Hi TI team,
I'm currently working on a CC3230SF project using FreeRTOS. I've configured the watchdog timer in Watchdog_RESET_ON mode, and the watchdog is being cleared inside a separate task (watchdogTask). In normal operation, everything works fine and the watchdog is fed consistently.
Now I want to intentionally simulate a system hang to test if the watchdog reset mechanism functions as expected.
Here’s the issue I’m facing:
-
When I deliberately introduce a faulty call like a second
initI2C()(which fails but doesn’t crash), the system doesn't hang completely — thewatchdogTaskstill runs, and the watchdog continues to be fed. -
So even though the main logic is unresponsive, the system never resets.
My questions:
-
How can I intentionally hang the system (e.g., simulate deadlock, infinite blocking, peripheral stall, etc.) in a way that prevents the watchdog from being cleared?
-
Is there any known way to cause a peripheral-induced system hang, such as forcing I2C/SPI or UART to block indefinitely?
-
Would it be better to move the
Watchdog_clear()call from a separate task into mymainThread()to more effectively catch application hangs? -
Are there any best practices or TI-recommended test methods to verify watchdog reset behavior?
Ultimately, I'm looking for any reliable method to force a system hang or deadlock so I can observe if the watchdog correctly resets the CC3230SF device.
Thanks in advance for your help and recommendations!