SLAU320AJ July 2010 – May 2021
There are various ways of protecting memory access to an MSP device.Table 2-11 is an overview of all available methods and the applicable device families. All mechanisms directly related to the JTAG interface are described in the referenced sections.
For the sake of completeness, this list also includes the lock mechanisms of the BSL interface. See the documents listed in the Reference column for a detailed description of these features and instructions for their use.
Protection Mode | Applicable Devices | Permanently Locked | Description | Unlocking Method | Reference |
---|---|---|---|---|---|
JTAG fuse | Flash 1xx, 2xx, and 4xx families (except FRxx and i20xx devices) | Yes | Applying a high voltage to the TEST pin (TDI pin for devices without TEST pin) blows an actual physical polyfuse and renders the JTAG interface unusable | none | Section 2.4.1 |
Combination of JTAG "soft"-fuse (e-fuse) and disabling BSL | 5xx, 6xx, and FRxx families | Yes | To prevent unlocking the target memory by either JTAG or BSL interface, both must be disabled. | none | Section 2.4.2.1, Section 2.4.2.2, and MSP430™ Flash Devices Bootloader (BSL) User's Guide |
JTAG lock without password | Flash 5xx and 6xx families | No | Writing a pattern other than 0x00000000 or 0xFFFFFFFF at the address 0x17FC locks the JTAG interface | Resetting the lock key in BSL memory using the BSL interface | Section 2.4.2.1 |
FR2xx and FR4xx devices | No | Writing the pattern 0x55555555 at the address 0xFF80 locks the JTAG interface (solution implemented in the REP430FR firmware).
Note: NOTE: For FR2xx and FR4xx devices, it is also possible to lock the JTAG access by writing a pattern other than 0x00000000 and 0xFFFFFFFF at the address 0xFF80 | 1. Using the BSL to erase the main memory 2. Using a special erase command (User_Code_Erase 01A1A) applied through the JTAG mailbox. The function to use in the REP430FR firmware is EraseFRAMViaBootCode_430Xv2(). | Section 2.4.2.2 | |
FR5xx and FR6xx devices | No | Using the BSL to erase the main memory. | |||
JTAG lock with password | FR5xx and FR6xx devices | No | Writing a JTAG lock signature (0xAAAA), password length and the password itself to 0xFF80 and the following memory segment (password might extend up to the reset vector at 0xFFFE) locks the JTAG interface | Using the JTAG mailbox in combination with the device BootCode, the given password is compared to the applied password. | See the device family user's guide for details on how to set the password. Unlocking: Section 2.4.4.1 |
Memory Protection Unit (MPU) | FRxx devices | No | User can specify up to three memory segments with different access rights (read, write, execute) | Brown-Out-Reset (BOR) will reset all MPU settings | See the device family user's guide for details on how to set up the MPU. Unlocking: Section 2.4.5 |
IP-Encapsulation | FR5xx and FR6xx families (except FR57xx) devices | No | User can specify start and end address of one memory segment to be protected from any read, write, or execute access | Performing a "total erase" ("erase main, information and IP-protected area on connect" in CCS) will erase the entire memory and reset IPE settings | See the device family user's guide for details on how to set up the IP Encapsulation. Unlocking: Section 2.4.6 |
BSL Password protection | All devices with BSL | No | BSL is protected by default against reading and writing | BSL password equals interrupt vector table content – can be provided by reduced BSL command-set in locked mode | MSP430™ Flash Devices Bootloader (BSL) User's Guide |
Disable BSL | Flash 1xx, 2xx, and 4xx families | No | BSL interface is disabled by writing a lock signature to a certain address (depending on BSL implementation) | Can be unlocked using JTAG interface (see device family user guides for details) | MSP430™ Flash Devices Bootloader (BSL) User's Guide |
Flash 5xx and 6xx families | No | BSL interface is locked by clearing certain signatures at the end of the BSL memory (0x17F6 and 0x17F4) | Signatures can be restored by erasing and reprogramming the Flash segment containing it using the JTAG interface | MSP430F5xx and MSP430F6xx Family User's Guide | |
FRxx devices | No | BSL interface is locked by writing a given BSL lock signature at 0xFF84 and 0xFF86 in the main memory | Access to the BSL interface can be re-enabled by overwriting the lock signature using the JTAG interface | MSP430FR58xx, MSP430FR59xx, and MSP430FR6xx Family User's Guide | |
Memory protection by customer-written startup code (SUC) | MSP430i20xx family (MSP430i2040) | Depends on SUC implementation | User can write startup code to set up JTAG access protection | Depends on SUC implementation | See theMSP430i2xx Family User's Guide for details |