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.
Hi,
I recently finished porting a project from BLE Stack 2.1.0 to 2.2.0 and ran in to an issue with the Watchdog timer drivers that I thought was worth discussing so that other don't have the same problem. The project I am working with is based on the "simple_peripheral" example.
Previously we were using TI-RTOS 2.13.00.06 with 2.1.0, we switched to 2.18.00.03 which was included with the 2.2.0 installer. Due to this upgrade I had to use the Watchdog timer driver included with the new BLE Stack (src/components/services/src/watchdog/WatchdogCC26XX.c), since it was no longer supported in the newer version of TI-RTOS.
After porting our firmware I started getting CPU exceptions in the Idle task, I tracked it down to a change in the Watchdog driver which was also mentioned in this issue: https://e2e.ti.com/support/embedded/tirtos/f/355/t/532111. The fix is to change the WDT interrupt type from WATCHDOG_INT_TYPE_NMI back to WATCHDOG_INT_TYPE_INT, which is what it previously was in TI-RTOS 2.13.00.06.
Someone may want to add a note to the BLE Stack 2.2.0 porting guide since it might cause issues for others trying to upgrade, it took me much longer than I would have hoped to track down the problem.
Also, the other issue I linked to above mentions this is supposed to be fixed in a newer version of TI-RTOS, but it never specified what was broken in the first place. From how I understand it the WDT should have worked even with this change, doesn't NMI just mean you can't disable the interrupt? I'm happy to leave the current fix in place since that's how it was before and I know that works, but it bothers me that there's no explanation of root cause.
Thank You,
Josh