Other Parts Discussed in Thread: UNIFLASH, MSP-FET
Correct me wherever I'm wrong, but ...
To code-protect our MSP430F5438 (non-A) product, we
1. must "soft lockout" the JTAG interface by setting locations ... (8 bytes) to anything non-0, non-FFs (this is not a "password", i.e., value is irrelevant)
2. should salt unused interrupt vectors with randomized values, and record all, comprising an effective BSL password
To reprogram our thus code-protected product, we
1. cannot accomplish anything through JTAG, not even erase
2. must access MSP through BSL, supplying the 256-bit password created above
3. must remove JTAG soft lockout, either by erasing locations ... to FFs, or overwriting them to 00s, or else by mass erasing entire chip.
The TI-BSL in MSP430F5438 is in protected FLASH, such that it will not be erased by these steps, but only by extremely deliberate measures that disable BSL protection (as for customization)
The TI-BSL in MSP430F5438 requires high-speed (5-12 MHz) clocking on XT2, either by crystal or waveform input.(wrong; that was USB requirement only)
Our product which utilizes DCO and has XT2 pins unconnected, must have clocking applied to XT2 pins for BSL to function.
BSL access into MSP430F5438 can be accomplished through MSP-FET pod; via same pins and header as JTAG (except for clocking requirement above); using PC software UniFlash v5.3.1 or better.(wrong; BSL communicates on different pins than JTAG; MSP-FET documentation (e.g. at http://www.ti.com/tool/MSP-FET#2) asserts BSL capability but does not illustrate connections)