mspdebug fork containing various WIP patches
Go to file
Daniel Beer 06a6018559 Fix strsep() implementation for Win32.
Missing an increment with leads to an infinite loop.

Bug identifed by Patrick Dussud <phdussud@hotmail.com>.
2011-09-01 09:08:40 +12:00
.gitignore Modifications to compile on Cygwin. 2010-05-13 16:45:38 +12:00
AUTHORS Add more error codes from MSP430.dll v3: 2011-08-16 10:22:37 +12:00
COPYING MSPDebug version 0.2. 2009-11-17 15:36:04 +13:00
ChangeLog Version 0.17 2011-08-24 16:24:16 +12:00
Makefile Allow CC to be overriden, as needed for some packaging systems. 2011-08-25 08:16:34 +12:00
README Added README file with compilation instructions. 2011-06-14 12:52:59 +12:00
aliasdb.c Fixed error reporting for Win32. 2011-07-27 01:56:45 +12:00
aliasdb.h Implemented command aliases. 2011-04-04 17:09:11 +12:00
binfile.c stab: plain functions instead of passing around stab_default. 2011-03-15 15:20:50 +13:00
binfile.h stab: plain functions instead of passing around stab_default. 2011-03-15 15:20:50 +13:00
bsl.c Fixed error reporting for Win32. 2011-07-27 01:56:45 +12:00
bsl.h Separated device vtables/class information. 2011-03-15 14:56:07 +13:00
btree.c Fixed error reporting for Win32. 2011-07-27 01:56:45 +12:00
btree.h Implemented "sym rename". 2010-03-31 20:51:25 +13:00
cmddb.c Implemented command aliases. 2011-04-04 17:09:11 +12:00
cmddb.h Simplified command reader. 2010-08-13 16:40:58 +12:00
coff.c Fixed error reporting for Win32. 2011-07-27 01:56:45 +12:00
coff.h stab: plain functions instead of passing around stab_default. 2011-03-15 15:20:50 +13:00
devcmd.c New expand_tilde() utility function 2011-07-29 08:57:08 +12:00
devcmd.h Implemented "locka" command. 2010-09-23 19:05:39 +12:00
device.c Create default device to avoid carrying around device_t. 2010-08-13 12:25:49 +12:00
device.h Added -s option to distinguish between devices by serial number. 2011-07-18 14:56:29 +12:00
dis.c Fixed warning emitted by some gcc versions for dis.c. 2010-10-28 14:12:52 +13:00
dis.h dis: decode MSP430X emulated instructions. 2010-08-10 16:26:45 +12:00
elf32.c Fixed error reporting for Win32. 2011-07-27 01:56:45 +12:00
elf32.h stab: plain functions instead of passing around stab_default. 2011-03-15 15:20:50 +13:00
elf_format.h elf32: use local elf.h. 2011-07-27 10:35:46 +12:00
expr.c stab: plain functions instead of passing around stab_default. 2011-03-15 15:20:50 +13:00
expr.h stab: plain functions instead of passing around stab_default. 2011-03-15 15:20:50 +13:00
fet.c fet: allow interrupted run on Win32. 2011-08-30 17:27:08 +12:00
fet.h Separated device vtables/class information. 2011-03-15 14:56:07 +13:00
fet_db.c Added support for MSP430F5528. 2011-08-22 10:33:54 +12:00
fet_db.h Added support for MSP430F169 2010-06-15 13:07:06 +12:00
fet_error.c Add more error codes from MSP430.dll v3: 2011-08-16 10:22:37 +12:00
fet_error.h BSL now shows descriptive errors returned by FET. 2010-05-15 13:44:46 +12:00
flash_bsl.c Fixed error reporting for Win32. 2011-07-27 01:56:45 +12:00
flash_bsl.h Separated device vtables/class information. 2011-03-15 14:56:07 +13:00
gdb.c win32: sockets abstraction layer with cancellable blocking IO. 2011-07-27 04:38:54 +12:00
gdb.h Simplified command reader. 2010-08-13 16:40:58 +12:00
gdb_proto.c Fixed bug in gdb client leading to infinite loop on remote close. 2011-07-27 17:18:52 +12:00
gdb_proto.h Implemented GDB client driver. 2011-06-06 15:51:38 +12:00
gdbc.c win32: sockets abstraction layer with cancellable blocking IO. 2011-07-27 04:38:54 +12:00
gdbc.h Implemented GDB client driver. 2011-06-06 15:51:38 +12:00
ihex.c Fixed incorrect handling of HEX segment offsets. 2010-10-21 09:39:27 +13:00
ihex.h Unified binfile interface. 2010-05-15 15:13:58 +12:00
list.c simio: added "simio" command and device/CPU interfaces. 2011-03-10 10:48:59 +13:00
list.h simio: added "simio" command and device/CPU interfaces. 2011-03-10 10:48:59 +13:00
main.c Version 0.17 2011-08-24 16:24:16 +12:00
mspdebug.man Version 0.17 2011-08-24 16:24:16 +12:00
olimex.c Bug fix: usb_set_configuration causes problems on Linux. 2011-07-30 12:51:44 +12:00
olimex.h Added -s option to distinguish between devices by serial number. 2011-07-18 14:56:29 +12:00
opdb.c Implemented GDB client driver. 2011-06-06 15:51:38 +12:00
opdb.h Separate option database. 2010-08-13 15:14:15 +12:00
output.c win32: ANSI emulation for colour output. 2011-07-27 22:51:39 +12:00
output.h Device list is printed in multiple columns. 2010-10-12 12:02:17 +13:00
output_util.c Extracted print_address. 2011-03-15 16:00:34 +13:00
output_util.h Extracted print_address. 2011-03-15 16:00:34 +13:00
prog.c Introduced device_* helper macros. 2011-03-15 13:12:48 +13:00
prog.h Added fet_block_size option. 2011-02-21 11:30:32 +13:00
reader.c Use tilde-expanded path in process_file(). 2011-08-02 13:11:53 +12:00
reader.h Implemented repeat execution for reader. 2010-10-12 12:48:25 +13:00
rf2500.c Bug fix: usb_set_configuration causes problems on Linux. 2011-07-30 12:51:44 +12:00
rf2500.h Added -s option to distinguish between devices by serial number. 2011-07-18 14:56:29 +12:00
rtools.c Fixed error reporting for Win32. 2011-07-27 01:56:45 +12:00
rtools.h Simplified command reader. 2010-08-13 16:40:58 +12:00
sim.c Simulator: fix word write on unaligned address 2011-08-24 09:15:58 +12:00
sim.h Separated device vtables/class information. 2011-03-15 14:56:07 +13:00
simio.c simio: implemented GPIO simulation. 2011-03-11 14:51:39 +13:00
simio.h simio: added "simio" command and device/CPU interfaces. 2011-03-10 10:48:59 +13:00
simio_cpu.h simio: implemented interrupt handling. 2011-03-10 14:40:31 +13:00
simio_device.h simio: implemented Watchdog Timer+ simulation. 2011-03-11 13:18:03 +13:00
simio_gpio.c stab: plain functions instead of passing around stab_default. 2011-03-15 15:20:50 +13:00
simio_gpio.h simio: implemented GPIO simulation. 2011-03-11 14:51:39 +13:00
simio_hwmult.c Tidy up long lines. 2011-07-18 15:00:17 +12:00
simio_hwmult.h simio: implemented hardware multiplier simulation. 2011-03-11 13:49:07 +13:00
simio_timer.c Fix missing CFLAGS for readline support. 2011-07-27 23:17:34 +12:00
simio_timer.h simio: implemented Timer_A. 2011-03-10 16:42:52 +13:00
simio_tracer.c Plug a mem. leak 2011-05-23 11:03:38 +12:00
simio_tracer.h simio: implemented tracer peripheral. 2011-03-10 11:57:06 +13:00
simio_wdt.c stab: plain functions instead of passing around stab_default. 2011-03-15 15:20:50 +13:00
simio_wdt.h simio: implemented Watchdog Timer+ simulation. 2011-03-11 13:18:03 +13:00
sockets.c Using FD_ZERO requires including string.h for the memset() prototype. 2011-08-02 09:32:03 +12:00
sockets.h win32: sockets abstraction layer with cancellable blocking IO. 2011-07-27 04:38:54 +12:00
sport.c Using FD_ZERO requires including string.h for the memset() prototype. 2011-08-02 09:32:03 +12:00
sport.h Now compiling with MinGW. 2011-07-27 01:23:16 +12:00
srec.c Extracted duplicate hexval(). 2011-06-06 12:40:50 +12:00
srec.h Added support for S19 file format. 2010-07-12 16:36:01 +12:00
stab.c stab: plain functions instead of passing around stab_default. 2011-03-15 15:20:50 +13:00
stab.h stab: plain functions instead of passing around stab_default. 2011-03-15 15:20:50 +13:00
stdcmd.c Fix missing CFLAGS for readline support. 2011-07-27 23:17:34 +12:00
stdcmd.h Implemented "exit" command. 2010-10-12 11:44:46 +13:00
sym.c New expand_tilde() utility function 2011-07-29 08:57:08 +12:00
sym.h Simplified command reader. 2010-08-13 16:40:58 +12:00
symmap.c stab: plain functions instead of passing around stab_default. 2011-03-15 15:20:50 +13:00
symmap.h stab: plain functions instead of passing around stab_default. 2011-03-15 15:20:50 +13:00
titext.c All output now goes through buffering/filtering. 2010-08-17 11:07:03 +12:00
titext.h Added support for TI text format. 2010-07-09 14:28:27 +12:00
transport.h Use stdint.h instead of sys/types.h. 2010-05-13 12:57:21 +12:00
uif.c Fixed error reporting for Win32. 2011-07-27 01:56:45 +12:00
uif.h Support for Olimex MSP430-JTAG-ISO. 2010-11-09 09:16:31 +13:00
usbutil.c Preprocessor related fix-ups. 2011-07-26 08:54:03 +12:00
usbutil.h Added -s option to distinguish between devices by serial number. 2011-07-18 14:56:29 +12:00
util.c Fix strsep() implementation for Win32. 2011-09-01 09:08:40 +12:00
util.h New expand_tilde() utility function 2011-07-29 08:57:08 +12:00
vector.c Implemented command aliases. 2011-04-04 17:09:11 +12:00
vector.h Implemented command aliases. 2011-04-04 17:09:11 +12:00

README

MSPDebug
========

MSPDebug is a free debugger for use with MSP430 MCUs. It supports
FET430UIF, eZ430, RF2500 and Olimex MSP-JTAG-TINY programmers. 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, Launchpad and Olimex MSP-JTAG-TINY
    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.
  * 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.

Compiling from source
---------------------

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.