Other Parts Discussed in Thread: MSP430FR5994
Hello all, especially Filip Dimitrov, Gary Gao, Bruce McKenney, and Chester Gillon,
I'm also disabling/enabling the CCIE and seem to be running into the same issue where the part (MSP430FR2311 in my case) is jumping to an invalid PC (0x020010 currently, but has varied as I've changed code) after a very short period of time. I also suspect it is related to disabling/enabling the CCIE while the timer is running, which was my conclusion before finding your thread (https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/895839/msp430fr5994-strange-undocumented-behavior-when-disabling-enabling-individual-timer-interrupts). You seem to have thoroughly debugged the issue as much as you can (more than I could!) but there was no conclusion/resolution to the issue, especially an official TI response. I don't see an errata for this issue on the original MSP430FR5994, so is there a recommended workaround? I also observed that adding a NOP after the CCIE = 0 seems to resolve the issue, but since adding or removing a line of C code in one place or another also seems to resolve the issue (for a while, until it pops back up unexpectedly) I want something that is guaranteed to work. I have also created a simple test project to demonstrate the issue (runs on the MSP430FR2311 Launchpad), but I don't think it is relevant at this time since the other thread had very good documentation, including sample code with better troubleshooting features.
Any help would be appreciated! Thanks!
TJ