SparkFun Forums 

Where electronics enthusiasts find answers.

Discussions on how to get your MSP JTAG programmer up and running.
By mchapman
#17255
The title says it all. I do all my development/testing on linux.

I purchased the TI parallel port adaptor a long time ago and do my development with this. But these devices are slow. I've since purchased two JTAG-ISO devices because they can read and write the program standalone in seconds vs minutes for the TI version. This is great for releasing to production.

I would love to use only the JTAG-ISO device during development, but the libHIL.so from the mspgcc group only supports parallel port.

Any chance of getting support for usb? I might be able to offer some help if it is just a development time problem. I'm very familiar with libusb under linux, and of course the gdbproxy code is open source. All that is needed is a libHIL which talks usb I think.

Thanks.
-Matt
By englere
#17288
Actually, the msp430 gdbproxy is not completely open source. The key low-level code that talks to the chip is proprietary to TI. This will become apparent to you if you try to figure out what the gdbproxy source code is doing.

I remember reading somewhere that someone was working on a linux usb solution using closed code from TI but I never heard what became of that effort.

If you request the details from TI and you sign a non-disclosure agreement they'll send you a nice package with a lot of info. Unfortunately, this documents the msp430.dll API, which is obviously not portable to linux (unless WINE might work?). Maybe if you explain why you need the info they'll let you have the REAL chip-level info.

I have no idea why TI is so protective of this info. It seems like all the chip makers have their own on-chip debugging module, but only Freescale publicly documents the low-level details.

Please let us know if you get the info and are able to make a module others can use. It's understandable that you can't tell anyone the trade secrets, but maybe it can be distributed in a binary format.

Eric
By mchapman
#17331
From what I can tell, all the propriatary code is contained in libHIL.so.

To reverse engineer the TI/mspgcc library wouldn't be too hard, the calls made by
gdbproxy are simple enough. Either read the source or look at the output of "objdump -t
libHIL.so", these are the only functions we don't have source code for. They all have
names like HIL_Open(), HIL_TDI(), HIL_TCLK(), etc.

I was thinking the OLIMEX people would know this protocol since they built this nice
JTAG-ISO box which implements it, and it already has windows drivers to boot.

Why not compile it on linux, or allow someone else to do so? The pricing for these
tools makes them accessible to hobbists, and I can imagine that a high number of
sales would come from that market if there were open source device drivers available.
If I had known about olimex when I started with the MSP-430, I would never have spent
the $$$ money on TI's developer kit... but as it stands, on linux, I must use the TI
parallel port jtag because the olimex usb does not function there.
By kavaler
#26231
The TI version of the MSP430UIF (i.e. with USB interface) interface code is available from TI. I have a copy of it and have put some of it (the main functions) into open source form and distributed it (without any warrenty). We use it for our production testing.

The OLIMEX devices, however, use a different interface. Both the TI and the OLIMEX interface are based on serial ASYNC communications and both have
on-board microprocessors, but otherwise the designs are different. I have tried to get the OLIMEX interface description but it has not been forthcoming.

If you want a USB interface (and who doesn't, it is so much faster), then you are stuck buying the TI MSP430UIF for $99.
By wolvi.lataniere
#97807
Hello,

I know it is a little bit late since 2006 but I've been working on a free library to handle the OLIMEX MSP430 JTAG ISO under linux. It currently works with my own under Linux, Windows and MacOSX.
The project is named FMDLL which stands for Free MSP430 Debugger Link Library and is available @ :
http://freemsp430debug.sf.net/

The project is still under development but works fine to erase, load, and debug code.

I hope this will help you.

PS: Usage with msp430-gdbproxy is documented on the web site. I'm working on a free implementation of the msp430 module of gdbproxy which will be open-source.