MSP430 JTAG over USB for Linux?

I recently acquired a new laptop, which (of course) has no parallel port.

I've been looking into MSP430F169 board from Olimex to use in a prototyping/testing situation for an FPGA.

I'm impressed with the MSP430 line, but I'd like to be able to do the device programming and debugging from my usual Linux development environment.

Both TI and Olimex make USB->JTAG programmers/debuggers for the MSP430, but based on my googling, there doesn't seem to be any Linux support for these.

Someone please tell me I'm wrong!

--
Michael N. Moran           (h) 770 516 7918
5009 Old Field Ct.         (c) 678 521 5460
Kennesaw, GA, USA 30144    http://mnmoran.org

"So often times it happens, that we live our lives in chains
  and we never even know we have the key."
"Already Gone" by Jack Tempchin (recorded by The Eagles)

The Beatles were wrong: 1 & 1 & 1 is 1
Reply to
Michael N. Moran
Loading thread data ...

The TI ones (both the 6-wire JTAG and the 2-wire spy-bi-wire) work fine under Linux using msp430-gdbproxy. The parallel port JTAG widgets (both TI and Olimex) also work fine under Linux.

If the Olimex USB widgets work with the TI .dll files under Windows, then I believe they'll work with msp430-gdbproxy under Linux as well. My understanding is that if Olimex has to provide custom .dll files for their USB widgets, then they won't work.

Here's the definitive place for answers on gcc/gdb and the MSP430:

formatting link
formatting link

If you want something commercial, there's Rowley CrossWorks:

formatting link
I believe the Rowley stuff comes with pre-setup demo projects for Olimex boards.

--
Grant Edwards                   grante             Yow! Is a tattoo real, like
                                  at               a curb or a battleship?
                               visi.com            Or are we suffering in
                                                   Safeway?
Reply to
Grant Edwards

I've looked at the gdbproxy, but I'm having a hard time understanding exactly what it uses to talk to the USB JTAG device.

Sorry ... I'm old and confused, but don't the .dll libraries only run under Windows? Or is there some WINE stuff going on here?

I've gone down this path, but the question "seems" un-answered.

The best related thread that I found here was yours, Grant. :-)

Sorry about being *thick*, but I just like to understand how these things work before I fork out the cash.

thanks, mike

--
Michael N. Moran           (h) 770 516 7918
5009 Old Field Ct.         (c) 678 521 5460
Kennesaw, GA, USA 30144    http://mnmoran.org

"So often times it happens, that we live our lives in chains
  and we never even know we have the key."
"Already Gone" by Jack Tempchin (recorded by The Eagles)

The Beatles were wrong: 1 & 1 & 1 is 1
Reply to
Michael N. Moran

It uses closed proprietary code. That's the only way TI will allow their JTAG to be used. But it is free.

join the club

going

No WINE, but if the low-level interface of the JTAG devices is close enough to the real TI JTAG devices, then the closed code I mentioned should work fine.

Grant walks on water. He's one of the few truly smart people who doesn't mind stooping down to answer questions from all kinds of people. I don't know why this is getting more rare on the Internet but it's distressing.

The cash outlay can be very small. You can try out the software using a EZ430 USB dongle and the total outlay is around $20. They come with a built-in JTAG device that uses the smaller pin count Spy-bi-wire JTAG protocol.

At least one guy on the net is selling little adapters to allow that JTAG device to be used with other msp430 devices that also support Spy- bi-wire. You only really need to buy a more expensive JTAG device if you want to use a member of the family that doesn't support Spy-bi- wire, or if you can leverage a corporate budget :-)

Eric

Reply to
Eric

A USB JTAG or spy-bi-wire adapter shows up as a serial port (e.g. /dev/ttyUSB0). It looks like they use a standard TI USBserial chip which is interfaced to an MSP430F16x which then talks to the target device (AFAICT).

Right.

No. You don't actually use the .dlls under Linux. It's just a handy way to tell if the off-brand USB debug adapters are drop-in replacements for the TI ones. If the vendor supplies their own .dll files along with the USB adapter, I believe that means they don't talk the same protocols as the TI ones and therefore won't work with gdbproxy.

If the off-brand USB dongle will work with the TI .dll files, then it's protocol-compatible and will also work with gdbproxy.

Quoting from the description of the Olimex MSP430-JTAG-ISO, JTAG-TINY and JTAG-RF:

MSP430.dll makes it compatible with all existing software which works with TI-USB-FET (emulates TI-USB-FET)

That leads me to believe that it's not compatible with the TI .dll's and therefore not compatible with gdbproxy under Linux. I might be wrong...

There seems to have been a bit of confusion and misinformation in a few threads there lately. Steve Underwood is the maintainer of msp430-gdbproxy, so pay particular attention to his posts. Oleg Verych has been working on the Linux driver for the TI USB-serial chip, so also pay attention to whatever he says also.

Support for USB stuff under Linux has been rather, um, "fluid". There were several different patches for getting the Linux USB-serial driver to recognize the ez430 spy-bi-wire widget, but it appears it's settling down. Recent Linux kernels (as of

2.6.22 at least) include a driver that works with the TI USBserial chip (though for the ez430 you need a hotplug script or udev rule to configure it after it's found). The current msp430-gdbproxy does support both styles of USB adapter (standard JTAG and spy-bi-wire).

No worries. It's taken me a fair while to figure it all out.

If you want to do spy-bi-wire (used with the smaller target parts), you can probably get an ez430+2013 for free from your distributor. If you want to play with the larger parts which use standard JTAG, then I'm not aware of any free deals. The $15 parallel port JTAG widget from Olimex works great, but you need a real PC parallel port (I don't believe that the USBprinter-port adapters work).

--
Grant Edwards                   grante             Yow! I'm ANN LANDERS!!
                                  at               I can SHOPLIFT!!
                               visi.com
Reply to
Grant Edwards

I gleaned this same information from the mspgcc/gdbproxy stuff on source forge ... by going through the docs and then downloading and looking at the driver code for FC4 and FC4.

Thanks for the reenforcement :-)

They also say (in their FAQ) that users of mspgcc have "reported" success using the device ... without mentioning Linux :-/

Good information.

Thank you, Grant, for your time and detail.

--
Michael N. Moran           (h) 770 516 7918
5009 Old Field Ct.         (c) 678 521 5460
Kennesaw, GA, USA 30144    http://mnmoran.org

"So often times it happens, that we live our lives in chains
  and we never even know we have the key."
"Already Gone" by Jack Tempchin (recorded by The Eagles)

The Beatles were wrong: 1 & 1 & 1 is 1
Reply to
Michael N. Moran

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.