Programming FRAM Devices
291
SLAU367P – October 2012 – Revised April 2020
Copyright © 2012–2020, Texas Instruments Incorporated
FRAM Controller (FRCTL)
7.4
Programming FRAM Devices
There are three options for programming an MSP430 FRAM device. All options support in-system
programming.
•
Program with JTAG or the Spy-Bi-Wire interface
•
Program with the BSL
•
Program with a custom solution
7.4.1 Programming FRAM With JTAG or Spy-Bi-Wire
Devices can be programmed through the JTAG port or the Spy-Bi-Wire port. The JTAG interface requires
access to TDI, TDO, TMS, TCK, TEST, ground, and optionally VCC and RST/NMI. Spy-Bi-Wire interface
requires access to TEST, RST/NMI, ground and optionally VCC. For more details, see
Programming With the JTAG Interface
.
7.4.2 Programming FRAM With the Bootloader (BSL)
Every device contains a BSL stored in ROM. The BSL enables users to read or program the FRAM or
RAM using a UART serial interface. Access to the FRAM through the BSL is protected by a 256-bit user-
defined password. For more details, see the
MSP430FR57xx, MSP430FR58xx, MSP430FR59xx,
MSP430FR68xx, and MSP430FR69xx Bootloader (BSL) User's Guide
7.4.3 Programming FRAM With a Custom Solution
The ability of the CPU to write to its own FRAM allows for in-system and external custom programming
solutions. The user can choose to provide data to the device through any means available (for example,
UART or SPI). User-developed software can receive the data and program the FRAM. Because this type
of solution is developed by the user, it can be completely customized to fit the application needs for
programming or updating the FRAM.
7.5
Wait State Control
The system clock for the CPU or DMA can exceed the FRAM access and cycle time requirements. For
these scenarios, a wait state generator mechanism is implemented. The
Recommended Operating
Conditions
of the device-specific data sheet list the frequency ranges with the required wait state settings.
The number of wait states is controlled by the NWAITS[2:0] bits in the FRCTL0 register.
To increase the system clock frequency beyond the maximum frequency allowed by the current wait state
setting, the following steps are required:
1. Increase the number of wait states by configuring NWAITS[2:0] according to the target frequency.
2. Increase the frequency to the new target.
To decrease the system clock frequency to a range that supports fewer wait states, the following steps are
required:
1. Decrease frequency to the new target.
2. Decrease number of wait states by configuring NWAITS[2:0] according to the new frequency setting.
To ensure memory integrity, a mechanism is implemented to reset the device with a PUC if the system
clock frequency and the wait state settings violate the FRAM access timing.
NOTE:
Wait State Settings
•
The device starts with zero wait states.
•
Correct wait state settings must be ensured, otherwise a PUC might be generated to
avoid erratic FRAM accesses.