Ryan Brown
Have you ever found yourself needing to update firmware on a product that has been released for field operation? Lifetime dependability is not guaranteed after all, a software bug could be discovered or the program’s functionality could be further optimized after the initial release date. Quick action is necessary to update the products which have already left the factory.
But what if these units do not include an easily available JTAG or bootloader communication port? What if the product itself is likewise inaccessible, located in a hard-to-reach location or in an environment that should not be disturbed or tampered with? What tools do you have at your disposal to easily update such devices?
System-on-chip (SoC) solutions are always an option, and TI provides a wide range of SimpleLink™ wireless microcontrollers (MCUs) that implement low-power, low-cost solutions across a variety of communication protocols including Wi-Fi®, Bluetooth® low energy, 6LowPAN, ZigBee®, RF4CE™, proprietary 2.4 GHz and Sub-1 GHz technologies. Any of these devices could wirelessly access the JTAG or built-in bootloader interface of a product using the MSP430™ MCU but are hindered by compatible communication peripherals — defined communication protocols— and the overhead from adding an extra MCU to the system. There must be a more flexible solution available!
The MSP430FRBoot bootloader could be the answer you are looking for. An extension of the MSPBoot main memory bootloader, MSP430FRBoot is a customizable programming solution that supports all MSP430 FRAM large memory model MCUs (where addresses can be greater than 16 bits) and furthermore demonstrates how over-the-air (OTA) updates can be realized. With a minimal memory footprint of less than 4KB in size, this software solution illustrates the ability to update device memory with configurable entry sequences, application validation and shared interrupt vectors.
But what if wireless communication is lost or interrupted halfway through an update? Direct memory access could leave the device in a hazardous unknown state, bricking the application and disabling further contact attempts. No problem – simply use the dual-image feature, a mode that downloads and verifies the entirety of the transmitted code before it is copied to the device’s application memory. If a complete download cycle is unsuccessful, no harm is done as the MSP430 MCU recognizes the issue and continues operation of the original firmware.
The MSP430FRBoot application report provides a software package that contains the necessary source code for implementing a main memory bootloader. eUSCI supports both wired UART and wireless SPI (for use with a Sub-1 GHz CC110x RF transceiver) is provided, but the hardware layers are abstracted and as such can be ported to support a multitude of communication peripherals and protocols. Host and target project examples are provided for multiple FRAM LaunchPad™ development kit variants to be used with a radio BoosterPack™ plug-in module, which can be directly connected to the LaunchPad kit headers and does not require any further hardware connections in order to run the provided demonstrations. The software package furthermore includes all tools, including a text to array converter and command linker generator script, necessary to jump-start a custom project.
What application can you imagine using MSP430FRBoot for over-the-air updates? Log in and comment below to share your ideas.
TI PROVIDES TECHNICAL AND RELIABILITY DATA (INCLUDING DATASHEETS), DESIGN RESOURCES (INCLUDING REFERENCE DESIGNS), APPLICATION OR OTHER DESIGN ADVICE, WEB TOOLS, SAFETY INFORMATION, AND OTHER RESOURCES “AS IS” AND WITH ALL FAULTS, AND DISCLAIMS ALL WARRANTIES, EXPRESS AND IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY RIGHTS.
These resources are intended for skilled developers designing with TI products. You are solely responsible for (1) selecting the appropriate TI products for your application, (2) designing, validating and testing your application, and (3) ensuring your application meets applicable standards, and any other safety, security, or other requirements. These resources are subject to change without notice. TI grants you permission to use these resources only for development of an application that uses the TI products described in the resource. Other reproduction and display of these resources is prohibited. No license is granted to any other TI intellectual property right or to any third party intellectual property right. TI disclaims responsibility for, and you will fully indemnify TI and its representatives against, any claims, damages, costs, losses, and liabilities arising out of your use of these resources.
TI’s products are provided subject to TI’s Terms of Sale (www.ti.com/legal/termsofsale.html) or other applicable terms available either on ti.com or provided in conjunction with such TI products. TI’s provision of these resources does not expand or otherwise alter TI’s applicable warranties or warranty disclaimers for TI products.
Mailing Address: Texas Instruments, Post Office Box 655303, Dallas, Texas 75265
Copyright © 2023, Texas Instruments Incorporated