FRAM embedded software utilities for MSP ultra-low-power microcontrollers




The Texas Instruments FRAM Utilities is designed to grow as a collection of embedded software utilities that leverage the ultra-low-power and virtually unlimited write endurance of FRAM. The utilities are available for MSP430FRxx FRAM microcontrollers and provide example code to help start application development. 

Compute Through Power Loss (CTPL): A utility API set that enables ease of use with LPMx.5 low-power modes and a powerful shutdown mode that allows an application to save and restore critical system components when a power loss is detected.

Traditionally, use of the low-power-mode 3.5 and 4.5 on MSP430 MCUs requires waking up with neither application state nor peripheral state retained. This can increase the start-up time and the complexity of applications. The CTPL utility leverages the non-volatile FRAM to provide an easier solution for embedded software developers. The utility enables application execution using the power-saving low-power modes 3.5 or 4.5, with the new ability to save and restore system state. It also enables a new shutdown mode to detect when power is lost either internally using an ADC or comparator peripheral or externally with an energy harvesting IC providing a GPIO interrupt that puts the device into shutdown mode. When power is restored the CTPL shutdown function restores the state and program execution continues. 

LZ4 compression utility: A software utility that offers real time compression and decompression on embedded MSP430FRxx devices. The LZ4 compression utility includes an open source command line tool that can be used to compress or decompress the same LZ4 files on a PC or host processor. This can enable increased storage capacity of FRAM devices as well as reduced wireless transmission time for over-the-air software updates or sensor data to a host device.

Random Number Generator (RNG): Implementation of a counter mode deterministic random byte generator (CTR-DRBG) according to the NIST SP 800-90A Rev 1 specification. Random numbers are generated using seed information stored in the TLV tables that are unique to each device. This utility also takes advantage of the 256-bit AES hardware accelerator present on MSP430FR5xx and MSP430FR6xx devices to create random bytes.

Non-Volatile Storage (NVS): Library that makes handling of non-volatile data easy and robust against intermittent power loss or asynchronous device resets. MSP430 devices with FRAM non-volatile memory guarantee 16-bit writes in all scenarios however more often than not the data being stored is a larger data type or a structure containing multiple types.  That means an unintended reset or power loss while data is written to the non-volatile memory will can result in partial data write and corrupted entries. To keep data storage constant, the non-volatile storage library contains functions that store data in a way that is guaranteed to recover the last valid entry without data corruption.

Release Notes


Driver or library

MSP-FRAM-UTILITIES FRAM embedded software utilities for MSP ultra-low-power microcontrollers

Download options

Download options

Driver or library

FRAM embedded software utilities for MSP ultra-low-power microcontrollers

Release date: 30 May 2019
lock = Requires export approval (1 minute)

Technical documentation

No results found. Please clear your search and try again.
View all 2
Type Title Date
More literature MSP FRAM Utilities User’s Guide Jul. 10, 2017
Technical article What is Compute Through Power Loss? May 29, 2015

Related design resources

Software development

MSPWARE MSP430Ware for MSP Microcontrollers
CCSTUDIO-MSP Code Composer Studio™ Integrated Development Environment for MSP Microcontrollers ENERGYTRACE EnergyTrace Technology

Reference designs

TIDM-FRAM-CTPL Intelligent System State Restoration after Power Failure with Compute Through Power Loss Utility

Support & training

TI E2E™ forums with technical support from TI engineers

View all forum topics

Content is provided "as is" by TI and community contributors and does not constitute TI specifications. See terms of use.

If you have questions about quality, packaging or ordering TI products, see TI support. ​​​​​​​​