EmbeddedRelated.com
Forums

MSP430 Application UART under Linux

Started by Johan Compen October 2, 2008
Is it possible to get the virtual serial port ("MSP430 Application
UART") of the eZ430-RF2500 working under Linux? It seems there is no
Linux driver for the eZ430-RF2500 itself, but there is a driver for
its older brother, the MSP430F2013:

http://focus.ti.com/docs/toolsw/folders/print/ez430-f2013.html
* Supports MSP430 Application UART allowing serial communication to PC
* Supports eZ430-T2012 and eZ430-RF2500T target boards

So the F2013 supports my RF target board and it supports the virtual
serial port. But it only has a 4-pins target board connector, which
means the two outermost pins are not connected. And these two
outermost pins on the RF2500T are the Rx and Tx lines! So the virtual
serial port isn't going to work I'm afraid...

Any other ideas?

I did found this:
http://www.usenet-forums.com/linux-general/395920-constructing-udev-rule-ez430-rf2500-application-uart.html#post829437

"This is a common topic on the mspgcc mailing list, and there
have been numerous solutions posted. One of the tricks is that
the device has a couple of available "configurations" and you
need a udev rule to switch to one of the non-default ones."

But I can't find the postings on the mspgcc mailing list he is referring to.

Johan.

Beginning Microcontrollers with the MSP430

Howdy Johan,

The red programmer won't work in Linux, and the blue (EZ430F2013) board
doesn't include an external serial port. Use a blue board to program
the red targets, then attach the Rx and Tx lines to an FTDI breakout board,
http://www.sparkfun.com/commerce/product_info.php?products_idq8

As for the target board's firmware, you'll find instructions for using
IAR under Linux at
http://travisgoodspeed.blogspot.com/2007/11/ti-ez430-in-linux-with-iar-kickstart.html

If you're an open-source purist--or just afraid of the IAR code size
limitations--you might have luck with MSPGCC and TinyOS. http://tinyos.net/

I'm happy to downgrade red boards to the blue firmware, or to accept
them as gifts. Same goes for EZ430 units bricked by a firmware update.

Cheers,
--Goodspeed

Johan Compen wrote:
>
> Is it possible to get the virtual serial port ("MSP430 Application
> UART") of the eZ430-RF2500 working under Linux? It seems there is no
> Linux driver for the eZ430-RF2500 itself, but there is a driver for
> its older brother, the MSP430F2013:
>
> http://focus.ti.com/docs/toolsw/folders/print/ez430-f2013.html
>
> * Supports MSP430 Application UART allowing serial communication to PC
> * Supports eZ430-T2012 and eZ430-RF2500T target boards
>
> So the F2013 supports my RF target board and it supports the virtual
> serial port. But it only has a 4-pins target board connector, which
> means the two outermost pins are not connected. And these two
> outermost pins on the RF2500T are the Rx and Tx lines! So the virtual
> serial port isn't going to work I'm afraid...
>
> Any other ideas?
>
> I did found this:
> http://www.usenet-forums.com/linux-general/395920-constructing-udev-rule-ez430-rf2500-application-uart.html#post829437
> "This is a common topic on the mspgcc mailing list, and there
> have been numerous solutions posted. One of the tricks is that
> the device has a couple of available "configurations" and you
> need a udev rule to switch to one of the non-default ones."
>
> But I can't find the postings on the mspgcc mailing list he is
> referring to.
>
> Johan.
>
>
Hi,

Let me rephrase my question:
I would like to get a serial connection to the RF target board
(eZ430-RF2500T) working under Linux, with minimal hardware changes.
I can program the USB stick under Windows, that's no problem. I can
also use the older eZ430-F2013 programmer if necessary.
I read something about a 6-pins version of the F2013 programmer, would
that solve my problem?

I know it's possible to use a regular serial-to-USB converter under
Linux, but I would really like the USB stick to work, as this is such
a convenient solution. (I need to get 25+ target boards working for an
experiment, so I would like a solution that scales well).

How much effort would it take to modify the existing linux driver? I
don't have any experience with linux device drivers but I do have a
lot of C experience. Maybe someone else is interested in doing this in
return for a small reward? ;)

Johan.
--- In m..., Travis Goodspeed wrote:
>
> Howdy Johan,
>
> The red programmer won't work in Linux, and the blue (EZ430F2013) board
> doesn't include an external serial port. Use a blue board to program
> the red targets, then attach the Rx and Tx lines to an FTDI breakout
board,
> http://www.sparkfun.com/commerce/product_info.php?products_idq8
>
> As for the target board's firmware, you'll find instructions for using
> IAR under Linux at
>
http://travisgoodspeed.blogspot.com/2007/11/ti-ez430-in-linux-with-iar-kickstart.html
>
> If you're an open-source purist--or just afraid of the IAR code size
> limitations--you might have luck with MSPGCC and TinyOS.
http://tinyos.net/
>
> I'm happy to downgrade red boards to the blue firmware, or to accept
> them as gifts. Same goes for EZ430 units bricked by a firmware update.
>
> Cheers,
> --Goodspeed
>
> Johan Compen wrote:
> >
> > Is it possible to get the virtual serial port ("MSP430 Application
> > UART") of the eZ430-RF2500 working under Linux? It seems there is no
> > Linux driver for the eZ430-RF2500 itself, but there is a driver for
> > its older brother, the MSP430F2013:
> >
> > http://focus.ti.com/docs/toolsw/folders/print/ez430-f2013.html
> >
> > * Supports MSP430 Application UART allowing serial communication to PC
> > * Supports eZ430-T2012 and eZ430-RF2500T target boards
> >
> > So the F2013 supports my RF target board and it supports the virtual
> > serial port. But it only has a 4-pins target board connector, which
> > means the two outermost pins are not connected. And these two
> > outermost pins on the RF2500T are the Rx and Tx lines! So the virtual
> > serial port isn't going to work I'm afraid...
> >
> > Any other ideas?
> >
> > I did found this:
> >
http://www.usenet-forums.com/linux-general/395920-constructing-udev-rule-ez430-rf2500-application-uart.html#post829437
> >

> >
> > "This is a common topic on the mspgcc mailing list, and there
> > have been numerous solutions posted. One of the tricks is that
> > the device has a couple of available "configurations" and you
> > need a udev rule to switch to one of the non-default ones."
> >
> > But I can't find the postings on the mspgcc mailing list he is
> > referring to.
> >
> > Johan.
> >
>
Johan,

The two extra pins on the rev 2 blue boards are vestigial; firmware
never touches them.

I've reverse engineered enough of the eZ430 to compile ``Hello World''.
By installing replacement firmware, the one UART exposed to Linux can be
forwarded to the target board. It'll no longer work as a programmer,
but it will work as a USB->serial adapter with the right plugs.

I'll write such firmware if and when I find the time, but I'm swamped
with other work right now. If any of you would like to beat me to the
punch, you'll find instructions in my three-part series on repurposing
the ez430.
http://travisgoodspeed.blogspot.com/2008/05/repurposing-ti-ez430u-part-1.html

For the software-only method, you'll just need to bridge UARTs 0 (PC)
and 1 (target board) of the MSP430F161x. For the blue board: the IVT
must begin at F7E0; F800 to FFFF must be unchanged; and the entry point
must be 2502, not 2500.

Cheers,
--Goodspeed

johan.compen wrote:
>
> Hi,
>
> Let me rephrase my question:
> I would like to get a serial connection to the RF target board
> (eZ430-RF2500T) working under Linux, with minimal hardware changes.
> I can program the USB stick under Windows, that's no problem. I can
> also use the older eZ430-F2013 programmer if necessary.
> I read something about a 6-pins version of the F2013 programmer, would
> that solve my problem?
>
> I know it's possible to use a regular serial-to-USB converter under
> Linux, but I would really like the USB stick to work, as this is such
> a convenient solution. (I need to get 25+ target boards working for an
> experiment, so I would like a solution that scales well).
>
> How much effort would it take to modify the existing linux driver? I
> don't have any experience with linux device drivers but I do have a
> lot of C experience. Maybe someone else is interested in doing this in
> return for a small reward? ;)
>
> Johan.
>
> --- In m... ,
> Travis Goodspeed wrote:
> >
> > Howdy Johan,
> >
> > The red programmer won't work in Linux, and the blue (EZ430F2013) board
> > doesn't include an external serial port. Use a blue board to program
> > the red targets, then attach the Rx and Tx lines to an FTDI breakout
> board,
> > http://www.sparkfun.com/commerce/product_info.php?products_idq8
>
> >
> > As for the target board's firmware, you'll find instructions for using
> > IAR under Linux at
> >
> http://travisgoodspeed.blogspot.com/2007/11/ti-ez430-in-linux-with-iar-kickstart.html
>
> >
> > If you're an open-source purist--or just afraid of the IAR code size
> > limitations--you might have luck with MSPGCC and TinyOS.
> http://tinyos.net/
> >
> > I'm happy to downgrade red boards to the blue firmware, or to accept
> > them as gifts. Same goes for EZ430 units bricked by a firmware update.
> >
> > Cheers,
> > --Goodspeed
> >
> > Johan Compen wrote:
> > >
> > > Is it possible to get the virtual serial port ("MSP430 Application
> > > UART") of the eZ430-RF2500 working under Linux? It seems there is no
> > > Linux driver for the eZ430-RF2500 itself, but there is a driver for
> > > its older brother, the MSP430F2013:
> > >
> > > http://focus.ti.com/docs/toolsw/folders/print/ez430-f2013.html
>
> > > > >
> > > * Supports MSP430 Application UART allowing serial communication to PC
> > > * Supports eZ430-T2012 and eZ430-RF2500T target boards
> > >
> > > So the F2013 supports my RF target board and it supports the virtual
> > > serial port. But it only has a 4-pins target board connector, which
> > > means the two outermost pins are not connected. And these two
> > > outermost pins on the RF2500T are the Rx and Tx lines! So the virtual
> > > serial port isn't going to work I'm afraid...
> > >
> > > Any other ideas?
> > >
> > > I did found this:
> > >
> http://www.usenet-forums.com/linux-general/395920-constructing-udev-rule-ez430-rf2500-application-uart.html#post829437
>
> > >
> > >
> > >
> > > "This is a common topic on the mspgcc mailing list, and there
> > > have been numerous solutions posted. One of the tricks is that
> > > the device has a couple of available "configurations" and you
> > > need a udev rule to switch to one of the non-default ones."
> > >
> > > But I can't find the postings on the mspgcc mailing list he is
> > > referring to.
> > >
> > > Johan.
> > >
> > >
> >