We've been building with REV E of the MSP430F5437A for almost 2 years. This month we had an entire batch of devices fail during manufacturing tests and at this point it appears the problem exists with all devices made with REV F and H processors.
The failure follows this pattern:
1) BSL code receives a firmware image through the USCI A1 port
2) The new firmware is booted and an external device is able to receive messages from the MSP430
3) The external device sends a message to the MSP430 on USCI A1 port, but the MSP430 never appears to receive an interrupt.
Additional information:
a) With the debugger attached (IAR) and running, the MSP430 receives the interrupt from the external device
b) The moment the debugger is stopped (but program code is still running) the MSP430 stops receiving RX interrupts
c) I cannot tell if the other serial ports are running until I have USCI A1 working
d) The same firmware on a REV E 5437A does not have this error.
e) The BSL code works for the same port over the same external hardware (MUXes, FETs, and such) so I do not think there is a hardware problem. The BSL runs at 1.048 MHz with a 115200 baud rate. Production firmware runs at 8 MHz and 115200 baud. Aside from the clock speed the UART properties are the same (115200, 8-N-1). Another difference is that the BSL communication code is not interrupt driven, but constantly polls the A1 RX port.
I have not been able to find anything in the errata that indicates a deviation between the REV H and E 5437A processors that would impact the UART receive. Any ideas on what changed or what I can test?
I'm going to start writing some test code that is as minimal as I can get to reproduce and test this problem, but if there is a known issue that I can narrow this down on it will help a lot.
Thanks