SLAU550AB January 2014 – September 2022 MSP430FR2032 , MSP430FR2033 , MSP430FR2110 , MSP430FR2111 , MSP430FR2153 , MSP430FR2155 , MSP430FR2310 , MSP430FR2311 , MSP430FR2353 , MSP430FR2355 , MSP430FR2433 , MSP430FR2532 , MSP430FR2533 , MSP430FR2632 , MSP430FR2633 , MSP430FR4131 , MSP430FR4132 , MSP430FR4133 , MSP430FR5041 , MSP430FR5043 , MSP430FR50431 , MSP430FR5847 , MSP430FR58471 , MSP430FR5848 , MSP430FR5849 , MSP430FR5857 , MSP430FR5858 , MSP430FR5859 , MSP430FR5867 , MSP430FR58671 , MSP430FR5868 , MSP430FR5869 , MSP430FR5887 , MSP430FR5888 , MSP430FR5889 , MSP430FR58891 , MSP430FR5947 , MSP430FR59471 , MSP430FR5948 , MSP430FR5949 , MSP430FR5957 , MSP430FR5958 , MSP430FR5959 , MSP430FR5967 , MSP430FR5968 , MSP430FR5969 , MSP430FR5969-SP , MSP430FR59691 , MSP430FR5986 , MSP430FR5987 , MSP430FR5988 , MSP430FR5989 , MSP430FR5989-EP , MSP430FR59891 , MSP430FR6041 , MSP430FR6043 , MSP430FR60431 , MSP430FR6877 , MSP430FR6879 , MSP430FR68791 , MSP430FR6887 , MSP430FR6888 , MSP430FR6889 , MSP430FR68891 , MSP430FR6927 , MSP430FR69271 , MSP430FR6928 , MSP430FR6972 , MSP430FR6977 , MSP430FR6979 , MSP430FR69791 , MSP430FR6987 , MSP430FR6988 , MSP430FR6989 , MSP430FR69891
The MSP430 BSL lets users communicate with embedded memory in the MSP430 microcontroller (MCU) during the prototyping phase, final production, and in service. Both the programmable memory (FRAM memory) and the data memory (RAM) can be modified as required. Do not confuse the bootloader with programs found in some digital signal processors (DSPs) that automatically load program code (and data) from external memory to the internal memory of the DSP. These programs are often referred to as bootloaders as well.
To start the bootloader, a specific BSL entry sequence must be applied to dedicated pins. The BSL can also be called by application code that sets the PC pointer to the BSL start address in Z-area. On FR26xx, FR24xx, and FR23xx MCUs, an empty reset vector (for example, as on a unprogrammed device) also invokes the BSL. After the BSL has started, a sequence of commands can be sent to the BSL to execute the desired functions (for example, unlocking the device, programming or reprogramming the memory, or verifying the written data). The bootloader session can be exited by continuing operation at a defined user program address or by the reset condition.
Even if the device is secured by disabling JTAG, it is still possible to use the BSL. To avoid accidental overwriting of the BSL code, the code is stored in a secure ROM memory location. To prevent unwanted memory readout, any BSL command that directly or indirectly allows data reading or writing is password protected. Using this method, access to the device memory through the BSL is protected against misuse by the BSL password. The BSL password is equal to the content of the interrupt vector table on the device. For more information about password-protected commands, see Section 4.2.