Part Number: MSP432P401R
We recently found an interesting way to brick our MSP432P401RIZXH (80 pin BGA) prototype.
We are using an external DCO resistor. The prototypes have been working quite well for a number of months, we have 3 of them built. Recently, however they stopped working. We were working with a prototype that had been working and it bricked. We couldn't figure out what we did. And proceeded to brick the other two trying to figure out what we were doing that was bricking the chips.
Turns out that was happening is the following:
We get the POR and start executing the Reset code in the startup code.
We initialize various parts of the system and then initialize the DCO.
We set the CS->CTL0 register to include DCORES to enable the external resistor
At this point, when we are single stepping we lose contact via the debug probe.
What is happening is the chip is detecting a DCORES short and doing a POR, which takes us back to reset where we then do the above steps, and reset again again and again.
Now here is what is weird. I haven't changed any of the code. I've enabled the DCORES since inception. The prototypes worked for quite a while (months). And then stopped working. The boards were supposed to have a 91Kohm resistor attached to the DCORES pin but were misloaded with 10Kohm.
- why would the chips work correctly for some period of time.
- what can explain the change later so the chip would now see this 10K resistor as a short?
Any clues?