|mspgcc||| Home | Documentation | mspgcc Project page on SourceForge|
You've got a compiler, but what now? Here you can find some tools that make the environment more complete. You can find pyBSL which can communicate with the MSP430 BootStrapLoader (ROM) in Flash devices.
JTAG download has finally arrived and is currently beta software!
A simulator is under development. You can step through your programs before downloading to a real device.
The gdbproxy Flash Emulation Tool (FET) interface for msp430-gdb
gdbproxy is a proxy program which sits between msp430-gdb and the TI Flash Emulation Tool (FET). The TI FET tool is their JTAG interface, for debugging the flash based versions of the MSP430. gdbproxy understands the gdb remote protocol over TCP/IP connections, and it understands how to control an MSP430 via. a FET (and all the other JTAG adapters that are based on the same schematic).
gdbproxy is based on the gdbproxy 0.7 program which can be found here. It was intended that the MSP430 code just be added to the existing gdbproxy code. However, the gdbproxy code has now been so heavily modified it looks like it has forked and thus was given the new name "gdbproxy". Sorry. Forking is bad.
Because gdbproxy relies on proprietary code from TI the full source code cannot be opened at this time. The generic code (i.e. the modified gdbproxy code, less the MSP430 specific parts) is available from our CVS repository. You cannot build an MSP430 debugger with that, but we hope it may be useful to people trying to build similar tools for other processors.
What we have to offer right now is binary test versions of gdbproxy for Linux on i386 and Windows. They are being used, perhaps even as you read this, to debug real MSP430 programs. They support most of the gdb remote protocol.
For the Linux inclined we offer this binary. "libhil.so" is needed and available from our CVS repository. Windows users should use the installer from our downloads section. Don't forget to install GIVEIO if you're using Windows NT/2k/XP (Don't use on Win95/98/ME): Remember these are works in progress, but they are doing useful work for us. The source for HIL.dll can be found in CVS (this part is open source already). Both parts are also in the installer.
The following limitations should be noted:
The linux version requires access to /dev/parport0. The default permissions on many Linux distributions only allow root to do this. Change the permissions, and all should be well. The Linux binary was build on a RedHat 7.2 machine. The Win32 build was built with mingw32.
pySerJTAG and Serial-JTAG adapter
pySerJTAG is the PC side software for the Serial-JTAG adapter. The PC software is open and written in Python. It should run on the same platforms as pyBSL (Win32, Linux, BSD and more POSIX compatible systems). The command line options are compatible with pyBSL and pyJTAG.Anonymous CVS. (empty password)
For the PC:
For the adapter:
For the hardware (Eagle schematics):
don't forget to login first if you want to get either of those above:
Why? The parallel port has some drawbacks such as missing OS support for bit banging. We cannot access every platform that mspgcc users use. Therefore it's impossible to distribute binaries for all. The Serial-JTAG adapter moves the proprietary code out to that box and the user software on the PC can be open source. It will allow us to provide debug features in the near future.
Software for the parallel JTAG adapter. It works with Flash devices (MSP430F1xx and F4xx): erase and download new software or upload RAM or Flash data from the device back to the PC. It uses the parallel port hardware you get with the FET kits, schematics can be found on TI's site. It also works with the Olimex JTAG adapter.
Attention! The software needs an additional Python extension. Either _parjtag (it's sources are in the CVS/jtag/python repository) or ctypes is required.
The latest msp430-jtag files can be checked out via Anonymous CVS. (empty password)
The lastest source for the extension can be checked out via Anonymous CVS. (empty password)
Software for the bootstrap loader. Works with Flash devices (MSP430F1xx and F4xx): erase and download new software or upload RAM or Flash data from the device back to the PC.
On the project page is a link to the download area where
a tarball can be found.
The latest files can be checked out via Anonymous CVS. (empty password)
The simulator is under development. Currently it allows single stepping through programms, but no active peripherals are yet supported (values can be written at any address, but reading has the same effect as reading from RAM).
It has a simple GUI with memory and disassembler views, logging output, as well as a file open dialog to select intel hex files. Or it can be embedded in Python scripts e.g. for automatic testing, etc.
The lastest files can be checked out via Anonymous CVS. (empty password)
Note that GDB has a simulation part too, though the simulators don't solve the same problems.