Vacant Memory Space
63
SLAU367P – October 2012 – Revised April 2020
Copyright © 2012–2020, Texas Instruments Incorporated
System Resets, Interrupts, and Operating Modes, System Control Module
(SYS)
1.9
Vacant Memory Space
Vacant memory is nonexistent memory space. Accesses to vacant memory space generate a system
(non)maskable interrupt (SNMI) when enabled (VMAIE = 1). Reads from vacant memory results in the
value 3FFFh. In the case of a fetch, this is taken as JMP $. Fetch accesses from vacant peripheral space
result in a PUC. After the boot code is executed, the boot code memory behaves like vacant memory
space and causes an NMI on access.
1.10 Boot Code
The boot code loads factory stored calibration values of the oscillator and reference voltages. In addition,
it checks for a bootloader (BSL) entry sequence. The boot code is always executed after a BOR.
1.11 Bootloader (BSL)
The BSL is software that is executed after start-up when a certain BSL entry condition is applied. The BSL
lets the user communicate with the embedded memory in the microcontroller during the prototyping phase,
final production, and in service. All memory mapped resources, the programmable memory, the data
memory (RAM), and the peripherals, can be modified by the BSL as required.
A basic BSL program is provided by TI and resides in ROM at memory space 01000h through 017FFh.
The BSL supports the commonly used UART protocol with RS232 interfacing, allowing flexible use of both
hardware and software. Depending on the device, additional BSL communication interfaces are supported.
For details of the available and configured BSL communication interfaces, see
.
To use the BSL, a specific BSL entry sequence must be applied to the RST/NMI and TEST pins. A correct
entry sequence causes SYSBSLIND to be set. An added sequence of commands initiates the desired
function. A bootloader session can be exited by continuing operation at a defined user program address or
by applying the standard reset sequence. Access to the device memory through the BSL is protected
against misuse by a user-defined password.
Two BSL signatures, BSL Signature 1 (memory location 0FF84h) and BSL Signature 2 (memory location
0FF86h) reside in FRAM and can be used to control the behavior of the BSL. Writing 05555h to BSL
Signature 1 or BSL Signature 2 disables the BSL function and any access to the BSL memory space
causes a vacant memory access as described in
. Most BSL commands require the BSL to be
unlocked by a user-defined password. An incorrect password erases the device memory as a security
feature. Writing 0AAAAh to both BSL Signature 1 and BSL Signature 2 disables this security feature. This
causes a password error to be returned by the BSL, but the device memory is not erased. In this case,
unlimited password attempts are possible.
For more details, see the
MSP430FR57xx, MSP430FR58xx, MSP430FR59xx, MSP430FR68xx, and
MSP430FR69xx Bootloader (BSL) User's Guide
.
Some JTAG commands are still possible after the device is secured, including the BYPASS command
(see IEEE Std 1149-2001) and the JMB_EXCHANGE command, which allows access to the JTAG
Mailbox System (see
for details).
1.12 JTAG Mailbox (JMB) System
The SYS module provides the capability to exchange user data through the regular JTAG test/debug
interface. The idea behind the JMB is to have a direct interface to the CPU during debugging,
programming, and test that is identical for all devices of this family and uses only few or no user
application resources. The JTAG interface was chosen because it is available on all devices and is a
dedicated resource for debugging, programming, and test.
Applications of the JMB are:
•
Providing entry password for device lock or unlock protection
•
Run-time data exchange (RTDX)