Other Parts Discussed in Thread: MSP-GANG
I'm using the MSP430FR5729 and have a strange situation where on two boards (and only two boards at this point), the SYSNMI ISR is being triggered because of UBDIFG (FRAM uncorrectable bit error) when the MSP430 goes into LPM2 or LPM3 power management modes (normally I use LPM3). On reset, ACLK (sourced from LFXT1 with a 32KHz crystal, and made available on P2.0 for scoping) runs as expected for ~600ms to ~1.2 seconds before it stops; the processor then hits the SYSNMI ISR with UBDIFG set around 40 seconds later. My SYSNMI ISR logs the UBDIFG error to a log in memory then forces a watchdog reset, so the whole process repeats.
If I use LPM0 or LPM1 instead of LPM2 or higher, ACLK doesn't die and the UBDIFG doesn't happen; I have SMCLK sourced by the DCO (at 5.33MHz), so the salient point here appears to be that UBDIFG doesn't happen when the DCO is enabled.
Interestingly also, this problem never happens when running under the debugger (CCS with MSP-FET430UIF), even when using LPM3. I've run into other issues in the course of development that only happen when not running under the debugger, which makes me suspect that the MSP430 doesn't truly go into LPM3 when the debugger is active.
I have tried implementing the workaround for the CG3 errata described in SLAZ382AH, but this has not solved the issue. And again, all the rest of our boards besides this two don't seem to require it.
The fact that this only happens on two boards is suspicious, and I found out that these boards began exhibiting this behavior right after they were programmed with new firmware at a non-ESD-safe workbench. "ESD damage" always sounds like a cop-out, but it's winter in Ohio, so this is not an unrealistic possibility. I haven't yet tried to replace the MSP430, but that's probably coming soon. I guess I'm looking for any troubleshooting tips or insight as to what might be going on before I go to the effort of trying to rework a board. Also, any insight as to how LPM3 is different under the CCS debugger than running non-debug.
Brian