MSP430 TEAM,
Our customer has asked for clarification/confirmation on the code protection function:
-----
I've been asked to look into protecting code on our MSP430F6723 on the latest design refresh. Reading through the literature, this is how I understand the code protection features work.
1. If one programs the JTAG security key memory (at addresses 0x17FC to 0x17FF) to a non-default value, the JTAG interface on the F6723 will be disabled, preventing people from reading code out that way.
2. One would need to set that JTAG security key from running software on the processor (as opposed to setting it up in the binary file that’s programmed onto the part by the vendor), because you need to modify the SYSBSLPE bit in the SYSBSLC register to do so. (I think this implies an automated test command to tell the microcontroller to lock itself.)
3. The Bootstrap Loader (BSL) can be used to subsequently unlock the processor, if the correct password is provided to it. This password is the highest 32 bytes of the interrupt vector table, which one would know because one would have access to the binary that’s programmed onto the device.
4. The device will automatically erase its flash if an incorrect password is provided to the BSL.
HOWEVER, in #2, can you confirm that one would have to have software running on the processor to write the JTAG security key? (In general I believe this particular customer can't use the BSL on the part to do so because they have Automated test equipment systems that they can't or don't want to change, so communications would have to be compatible with the existing design.) Or could one do it via a code section in the binary file for programming the parts that is provided to the applicable venders?
COMMENTS WELCOMED and APPRECIATED!
Thanks,
Chris