MSPDebug
MSPDebug is a free debugger for use with MSP430 MCUs. It supports FET430UIF, eZ430, RF2500 and Olimex MSP430-JTAG-TINY programmers, as well as many other compatible devices. It can be used as a proxy for gdb or as an independent debugger with support for programming, disassembly and reverse engineering.
Features
- Userspace only: no kernel modifications required.
- Works with RF2500, eZ430, FET430UIF (V2 and V3), Launchpad, Chronos, GoodFET, Olimex MSP430-JTAG-TINY and MSP430-JTAG-ISO programmers. Also supports the TI flash bootloader.
- Can act as a GDB remote stub (replacement for msp430-gdbproxy) and/or a GDB client.
- Can single-step, program, run to breakpoint and inspect memory on supported devices.
- Support for power profiling.
- Can be used to access the FET430UIF bootloader.
- Supports Intel HEX, ELF32, BSD symbol table, COFF, TI Text and SREC file formats.
- Can disassemble code in memory, including translating addresses to symbols.
- Includes reverse-engineering features such as instruction search, call-graph analysis and symbol table editing.
- Simulation mode allows execution of MSP430 code without hardware.
- Cross-platform: compiles on Linux, *BSD, OS/X and Windows.
Download
Compiling from source
Download the source code from Github. Snapshots for releases are also available.
Ensure that you have the necessary packages to compile programs that use libusb (on Debian or Ubuntu systems, you might need to do apt-get install libusb-dev
). After that, unpack and compile the source code with:
tar xvfz mspdebug-version.tar.gz
cd mspdebug-version
make
If you don’t want GNU readline support, you can invoke make with:
make WITHOUT_READLINE=1
After compiling, install the binary and manual page by running (as root):
make install
Type mspdebug --help
for usage instructions.
RPM packages
RPMs for MSPDebug are available for Fedora (since FC12).
Gentoo ebuilds
Ebuilds for Gentoo have been provided by Sören Höckner at http://hg.datenhabitat.de/overlay-sho/file/tip/dev-embedded/mspdebug.
Also, Tim Harder has added MSPDebug to the main Gentoo tree, and produced a Gentoo overlay for creating cross-compiling MSP430 toolchains. The overlay is available from https://github.com/radhermit/msp430-overlay.
OpenBSD ports
MSPDebug is available via the OpenBSD ports system. Details can be found at http://www.openbsd.org/cgi-bin/cvsweb/ports/devel/mspdebug/
Debian/Ubuntu packages
Luca Bruno is the maintainer of the Debian MSPDebug package. These packages are now available in both Debian and Ubuntu.
Other information
- Frequently Asked Questions
- Power profiling with Olimex debuggers
- Information on the FET v2 protocol
- Information for users of the TI MSP430.DLL/libmsp430.so library
- Information on the FET USB HID protocol
External resources
- Run Launchpad with MSPDebug
- Tommaso Toffoli’s guide to using MSPDebug and the Texas Instruments Launchpad.
- fetproxy
- fetproxy is a tool for controlling the FET430UIF and eZ430 devices. It is a free software replacement for the proprietary msp430-gdbproxy program. These devices use a similar command protocol to the eZ430-RF2500, but via a UART interface.
- Develissimo forums
- These forums cover a range of topics in electronics and software development. There are forums in particular for MSPDebug and the mspgcc toolchain.
- USBSnoop
- This program can be used to record USB transfers on Windows systems. Some of the USB transfer examples in this document are from edited USBSnoop log files. Source code is provided.
- mspgcc
- mspgcc is a port of the GCC toolchain for the MSP430 family of microcontrollers.
- Relavak Labs
- Robert Kavaler has also done some work on the FET430UIF devices. On this page, you can find the source code for a program called uif430. Much protocol information for MSPDebug is derived from this code.