MSP-FRAM-UTILITIES

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

MSP-FRAM-UTILITIES

Downloads

Overview

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

Downloads

Driver or library

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

Download options

Download options

Driver or library

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

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

Supported products & hardware

MSP430 microcontrollers
MSP430FR2311 16-MHz integrated analog microcontroller with 3.75-KB FRAM, OpAmp, TIA, comparator w/ DAC, 10-bit AD MSP430FR2355 24-MHz 105-C integrated analog microcontroller with 32-KB FRAM, Op-Amps/PGAs, 12-bit DACs, 12-bit AD MSP430FR2433 16 MHz MCU with 16KB FRAM, 4KB SRAM, 10-bit ADC, UART/SPI/I2C, timer MSP430FR2476 16 MHz MCU with 64KB FRAM, 8KB SRAM, comparator, 12-bit ADC, UART/SPI/I2C, timer MSP430FR2522 Capacitive touch MCU with 8 touch IO (16 sensors), 8KB FRAM, 2KB SRAM, 15 IO, 10-bit ADC MSP430FR2676 Capacitive Touch MCU with 16 touch IO (64 sensors), 64KB FRAM, 8KB SRAM, 43 IO, 12-bit ADC, 105C MSP430FR4133 16 MHz MCU with 16KB FRAM, 2KB SRAM, 10-bit ADC, LCD, UART/SPI/I2C, IR logic, timer MSP430FR5720 8 MHz MCU with 4KB FRAM, 1KB SRAM, 10-bit ADC, comparator, UART/SPI/I2C, timer MSP430FR5721 8 MHz MCU with 4KB FRAM, 1KB SRAM, 10-bit ADC, comparator, UART/SPI/I2C, timer MSP430FR5722 8 MHz MCU with 8KB FRAM, 1KB SRAM, comparator, UART/SPI/I2C, timer MSP430FR5723 8 MHz MCU with 8KB FRAM, 1KB SRAM, comparator,UART/SPI/I2C, timer MSP430FR5724 8 MHz MCU with 8KB FRAM, 1KB SRAM, comparator, 10-bit ADC, UART/SPI/I2C, timer MSP430FR5725 8 MHz MCU with 8KB FRAM, 1KB SRAM, comparator, 10-bit ADC, UART/SPI/I2C, timer MSP430FR5726 8 MHz MCU with 16KB FRAM, 1KB SRAM, comparator, UART/SPI/I2C, timer MSP430FR5727 8 MHz MCU with 16KB FRAM, 1KB SRAM, comparator, UART/SPI/I2C, timer MSP430FR5728 8 MHz MCU with 16KB FRAM, 1KB SRAM, 10-bit ADC , comparator, UART/SPI/I2C, timer MSP430FR5729 8 MHz MCU with 16KB FRAM, 1KB SRAM, 10-bit ADC, comparator, UART/SPI/I2C, timer MSP430FR5730 24 MHz MCU with 4KB FRAM, 1KB SRAM, 10-bit ADC, comparator, UART/SPI/I2C, timer MSP430FR5731 24 MHz MCU with 4KB FRAM, 1KB SRAM, 10-bit ADC, comparator, UART/SPI/I2C, timer MSP430FR5732 24 MHz MCU with 8KB FRAM, 1KB SRAM, comparator, UART/SPI/I2C, timer MSP430FR5733 24 MHz MCU with 8KB FRAM, 1KB SRAM, comparator, UART/SPI/I2C, timer MSP430FR5734 24 MHz MCU with 8KB FRAM, 1KB SRAM, 10-bit ADC, comparator, UART/SPI/I2C, timer MSP430FR5735 24 MHz MCU with 8KB FRAM, 1KB SRAM, 10-bit ADC, comparator, UART/SPI/I2C, timer MSP430FR5736 24 MHz MCU with 16KB FRAM, 1KB SRAM, comparator, UART/SPI/I2C, timer MSP430FR5737 24 MHz MCU with 16KB FRAM, 1KB SRAM, comparator, UART/SPI/I2C, timer MSP430FR5738 24 MHz MCU with 16KB FRAM, 1KB SRAM, 10-bit ADC , comparator, UART/SPI/I2C, timer MSP430FR5847 16 MHz MCU with 32KB FRAM, 1KB SRAM, 12-bit ADC, comparator, DMA, UART/SPI/I2C, timer MSP430FR58471 16 MHz MCU with 32KB FRAM, 1KB SRAM, 12-bit ADC, comparator, DMA, UART/SPI/I2C, timer MSP430FR5848 16 MHz MCU with 48KB FRAM, 2KB SRAM, 12-bit ADC , comparator, DMA, UART/SPI/I2C, timer MSP430FR5849 16 MHz MCU with 64KB FRAM, 2KB SRAM, 12-bit ADC, comparator, DMA, UART/SPI/I2C, timer MSP430FR5857 16 MHz MCU with 32KB FRAM, 1KB SRAM, 12-bit ADC, comparator, DMA, UART/SPI/I2C, timer MSP430FR5858 16 MHz MCU with 48KB FRAM, 2KB SRAM, 12-bit ADC , comparator, DMA, UART/SPI/I2C, timer MSP430FR5859 16 MHz MCU with 64KB FRAM, 2KB SRAM, 12-bit ADC, comparator, DMA, UART/SPI/I2C, timer MSP430FR5867 16 MHz MCU with 32KB FRAM, 1KB SRAM, 12-bit ADC, comparator, DMA, UART/SPI/I2C, timer MSP430FR58671 16 MHz MCU with 32KB FRAM, 1KB SRAM, 12-bit ADC, comparator, DMA, UART/SPI/I2C, timer MSP430FR5868 16 MHz MCU with 48KB FRAM, 2KB SRAM, 12-bit ADC , comparator, DMA, UART/SPI/I2C, timer MSP430FR5869 16 MHz MCU with 64KB FRAM, 2KB SRAM, 12-bit ADC, comparator, DMA, UART/SPI/I2C, timer MSP430FR5870 16 MHz MCU with 32KB FRAM, 2KB SRAM, 12-bit ADC , comparator, DMA, UART/SPI/I2C, timer MSP430FR5872 16 MHz MCU with 64KB FRAM, 2KB SRAM, 12-bit ADC, comparator, DMA, UART/SPI/I2C, timer MSP430FR58721 16 MHz MCU with 64KB FRAM, 2KB SRAM, 12-bit ADC, comparator, DMA, UART/SPI/I2C, timer MSP430FR5887 Rotary Sensing MCU with extended scan interface, 64KB FRAM, 2KB SRAM  for flow meters MSP430FR5888 Rotary Sensing MCU with extended scan interface, 96KB FRAM, 2KB SRAM for flow meters MSP430FR5889 Rotary Sensing MCU with extended scan interface, 128KB FRAM, 2KB SRAM for flow meters MSP430FR58891 Rotary Sensing MCU with extended scan interface, 128KB FRAM, I2C Bootloader for flow meters MSP430FR5922 16 MHz MCU with 64KB FRAM, 2KB SRAM, AES, 12-bit ADC, comparator, DMA, UART/SPI/I2C, timer MSP430FR59221 16 MHz MCU with 64KB FRAM, 2KB SRAM, AES, 12-bit ADC, comparator, DMA, UART/SPI/I2C, timer MSP430FR5947 16 MHz MCU with 32KB FRAM, 1KB SRAM, AES, 12-bit ADC, comparator, DMA, UART/SPI/I2C, timer MSP430FR59471 16 MHz MCU with 32KB FRAM, 1KB SRAM, AES, 12-bit ADC, comparator, DMA, UART/SPI/I2C, timer MSP430FR5948 16 MHz MCU with 48KB FRAM, 2KB SRAM, AES, 12-bit ADC, comparator, DMA, UART/SPI/I2C, timer MSP430FR5949 16 MHz MCU with 64KB FRAM, 2KB SRAM, AES, 12-bit ADC, comparator, DMA, UART/SPI/I2C, timer MSP430FR5957 16 MHz MCU with 32KB FRAM, 1KB SRAM, AES, 12-bit ADC, comparator, DMA, UART/SPI/I2C, timer MSP430FR5958 16 MHz MCU with 48KB FRAM, 2KB SRAM, AES, 12-bit ADC , comparator, DMA, UART/SPI/I2C, timer MSP430FR5959 16 MHz MCU with 64KB FRAM, 2KB SRAM, AES, 12-bit ADC, comparator, DMA, UART/SPI/I2C, timer MSP430FR5962 16-MHz MCU with 128-KB FRAM, 8-KB SRAM, low-energy accelerator, AES, 12-bit ADC, DMA and 76 IO MSP430FR5964 16 MHz MCU with 256KB FRAM, 8KB SRAM, AES, 12-bit ADC , comparator, DMA, UART/SPI/I2C, timer MSP430FR5967 16 MHz MCU with 32KB FRAM, 1KB SRAM, AES, 12-bit ADC, comparator, DMA, UART/SPI/I2C, timer MSP430FR5968 16 MHz MCU with 48KB FRAM, 2KB SRAM, AES, 12-bit ADC , comparator, DMA, UART/SPI/I2C, timer MSP430FR5969 16 MHz MCU with 64KB FRAM, 2KB SRAM, AES, 12-bit ADC, comparator, DMA, UART/SPI/I2C, timer MSP430FR5969-SP Radiation Hardened Mixed-Signal Microcontroller MSP430FR59691 16 MHz MCU with 64KB FRAM, 2KB SRAM, AES, 12-bit ADC, comparator, DMA, UART/SPI/I2C, timer MSP430FR5970 16 MHz MCU with 32KB FRAM, 2KB SRAM, AES, 12-bit ADC , comparator, DMA, UART/SPI/I2C, timer MSP430FR5972 16 MHz MCU with 64KB FRAM, 2KB SRAM, AES, 12-bit ADC, comparator, DMA, UART/SPI/I2C, timer MSP430FR59721 16 MHz MCU with 64KB FRAM, 2KB SRAM, AES, 12-bit ADC, comparator, DMA, UART/SPI/I2C, timer MSP430FR5986 Rotary Sensing MCU with extended scan interface, 48KB FRAM, AES for flow meters MSP430FR5987 Rotary Sensing MCU with extended scan interface, 64KB FRAM, AES for flow meters MSP430FR5988 Rotary Sensing MCU with extended scan interface, 96KB FRAM, AES for flow meters MSP430FR5989 Rotary Sensing MCU with extended scan interface, 128KB FRAM,AES for flow meters MSP430FR5989-EP 16 MHz ULP microcontroller reaturing 128 KB FRAM, 2 KB SRAM, 48 IO, ADC12, Scan IF, AES MSP430FR59891 Rotary Sensing MCU with extended scan interface, 128KB FRAM, AES, I2C Bootloader for flow meters MSP430FR5992 16-MHz MCU with 128-KB Flash, 8-KB SRAM, 12-bit ADC, comparator, I2C/SPI/UART, HW multiplier MSP430FR5994 16 MHz MCU with 256KB FRAM, 8KB SRAM, LEA, AES, 12-bit ADC , comparator, DMA, UART/SPI/I2C, timer MSP430FR59941 16 MHz MCU with 256KB FRAM, 8KB SRAM, LEA, AES, 12-bit ADC , comparator, DMA, 68 IO, eUSCI MSP430FR6043 Ultrasonic Sensing MCU with 64KB FRAM, 12KB RAM, LCD for gas and water metering applications MSP430FR6820 16 MHz MCU with 32KB FRAM, 2KB SRAM, 116 seg LCD, 12-bit ADC , comparator, DMA, UART/SPI/I2C, timer MSP430FR6822 16 MHz MCU with 64KB FRAM, 2KB SRAM, 116 seg LCD, 12-bit ADC , comparator, DMA, UART/SPI/I2C, timer MSP430FR68221 16 MHz MCU with 64KB FRAM, 2KB SRAM, 116 seg LCD, 12-bit ADC , comparator, DMA, UART/SPI/I2C, timer MSP430FR6870 16 MHz MCU with 32KB FRAM, 2KB SRAM, 112 seg LCD, 12-bit ADC , comparator, DMA, UART/SPI/I2C, timer MSP430FR6872 16 MHz MCU with 64KB FRAM, 2KB SRAM, 112 seg LCD, 12-bit ADC , comparator, DMA, UART/SPI/I2C, timer MSP430FR68721 16 MHz MCU with 64KB FRAM, 2KB SRAM, 112 seg LCD, 12-bit ADC , comparator, DMA, UART/SPI/I2C, timer MSP430FR6877 16 MHz MCU with 64KB FRAM, 2KB SRAM, 320 seg LCD, 12-bit ADC , comparator, DMA, UART/SPI/I2C, timer MSP430FR6879 16 MHz MCU with 128KB FRAM, 2KB SRAM, 320 seg LCD, 12-bit ADC, comparator, DMA, UART/SPI/I2C, timer MSP430FR68791 16 MHz MCU with 128KB FRAM, 2KB SRAM, 320 seg LCD, 12-bit ADC, comparator, DMA, UART/SPI/I2C, timer MSP430FR6887 Rotary Sensing MCU with extended scan interface, 64KB FRAM, LCD  for flow meters MSP430FR6888 Rotary Sensing MCU with extended scan interface, 96KB FRAM, LCD  for flow meters MSP430FR6889 Rotary Sensing MCU with extended scan interface, 128KB FRAM, LCD  for flow meters MSP430FR68891 Rotary Sensing MCU with extended scan interface, 128KB FRAM, LCD, I2C Bootloader for flow meter MSP430FR6920 16 MHz MCU with 32KB FRAM, 2KB SRAM, LCD, AES, 12-bit ADC, comparator, DMA, UART/SPI/I2C, timer MSP430FR6922 16 MHz MCU with 64KB FRAM, 2KB SRAM, LCD, AES, 12-bit ADC, comparator, DMA, UART/SPI/I2C, timer MSP430FR69221 16 MHz MCU with 64KB FRAM, 2KB SRAM, LCD, AES, 12-bit ADC , comparator, DMA, UART/SPI/I2C, timer MSP430FR6927 16 MHz MCU with 64KB FRAM, 2KB SRAM, LCD, AES, 12-bit ADC , comparator, DMA, UART/SPI/I2C, timer MSP430FR69271 16 MHz MCU with 64KB FRAM, 2KB SRAM, LCD, AES, 12-bit ADC , comparator, DMA, UART/SPI/I2C, timer MSP430FR6928 16 MHz MCU with 96KB FRAM, 2KB SRAM, LCD, AES, 12-bit ADC , comparator, DMA, UART/SPI/I2C, timer MSP430FR6970 16 MHz MCU with 32KB FRAM, 2KB SRAM, LCD, AES, 12-bit ADC, comparator, DMA, UART/SPI/I2C, timer MSP430FR6972 16 MHz MCU with 64KB FRAM, 2KB SRAM, LCD, AES, 12-bit ADC , comparator, DMA, UART/SPI/I2C, timer MSP430FR69721 16 MHz MCU with 64KB FRAM, 2KB SRAM, LCD, AES, 12-bit ADC , comparator, DMA, UART/SPI/I2C, timer MSP430FR6977 16 MHz MCU with 64KB FRAM, 2KB SRAM, LCD, AES, 12-bit ADC, comparator, DMA, UART/SPI/I2C, timer MSP430FR6979 16 MHz MCU with 128KB FRAM, 2KB SRAM, LCD, AES, 12-bit ADC, comparator, DMA, UART/SPI/I2C, timer MSP430FR69791 16 MHz MCU with 128KB FRAM, 2KB SRAM, LCD, AES, 12-bit ADC, comparator, DMA, UART/SPI/I2C, timer MSP430FR6987 Rotary Sensing MCU with extended scan interface, 64KB FRAM, AES, LCD for flow meters MSP430FR6988 Rotary Sensing MCU with extended scan interface, 96KB FRAM, AES, LCD  for flow meters MSP430FR6989 Rotary Sensing MCU with extended scan interface, 128KB FRAM, AES, LCD for flow meters MSP430FR69891 16 MHz MCU with 128KB FRAM, 8KB SRAM, LEA, AES, 12-bit ADC, comparator, DMA, UART/SPI/I2C, timer
Development kit
MSP-EXP430FR5969 MSP430FR5969 LaunchPad development kit MSP-EXP430FR6989 MSP430FR6989 LaunchPad Development Kit MSP-FET430U100D 100-pin Target Development Board and MSP-FET Programmer Bundle for MSP430FRxx FRAM MCUs MSP-FET430U64F MSP-FET430U64F - MSP430 64-pin FRAM TS Board and MSP-FET Bundle (Microcontrollers not included) MSP-TS430PM64F MSP-TS430PM64F - MSP430 64-pin FRAM Target Socket Board (Microcontrollers not included) MSP-TS430PZ100D MSP-TS430PZ100D- 100-pin Target Development Board for MSP430FRxx FRAM MCUs MSP-TS430RGZ48C MSP-TS430RGZ48C - 48-pin Target Development Board for MSP430FRxx FRAM MCUs

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

SOFTWARE DEVELOPMENT KIT (SDK)
MSPWARE MSP430Ware for MSP Microcontrollers
IDE, CONFIGURATION, COMPILER OR DEBUGGER
CCSTUDIO-MSP Code Composer Studio™ Integrated Development Environment for MSP Microcontrollers ENERGYTRACE EnergyTrace Technology

Reference designs

REFERENCE DESIGN
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. ​​​​​​​​

Videos