On Jun 25, 8:24 am, "kavaler" <kava...@diva.com> wrote:
> 2. The "official" TI driver for the msp430 UIF was made to work about 1
> year ago and is available in object form only. It is supported to some
What is the official distribution point for this driver?
Reply by kavaler●June 25, 20072007-06-25
I can answer some of these questions:
1. I have built a driver for the msp430 UIF box that is available, with
TI's permission, in source code form. I do not support this code at all,
but it use it a lot. The code is really two files: one is a library the
other a sample executable. I pretty much just deal with basic functions
like download, peek and poke, etc. I do not support 2-wire or upgrading of
the UIF itself.
2. The "official" TI driver for the msp430 UIF was made to work about 1
year ago and is available in object form only. It is supported to some
extent. It works with gcc. I think it supports 2-wire but I am not 100%
sure. It is based on the official WINDOWS driver code, with some ifdefs to
map things to linux. This is why I think it must support all the same
functions as the WINDOWS driver. I do not use it.
Robert
>On Mon, 18 Jun 2007 16:37:10 -0000, Grant Edwards <grante@visi.com>
>wrote:
>
>>On 2007-06-18, Jonathan Kirwan <jkirwan@easystreet.com> wrote:
>>
>>>>> Debugging support, though?
>>>>
>>>>Yes. gdb has supported the msp430 for ages.
>>>>
>>>>> (My guess is that this would require TI to disclose details
>>>>> they probably aren't interested in having become "open
>>>>> source.")
>>>>
>>>>Gdb uses a daemon that talks to the JTAG interface widget and
>>>>acts as a gdb-server on a TCP port. That daemon uses a library
>>>>for which source is unavailable unless you sign an NDA.
>>>
>>> Ah. There it is. That is congruent with my expectations.
>>>
>>> Who developed this library
>>
>>Some guys who worked on the other open-source tools and signed
>>an NDA.
>>
>>> and does TI control it?
>>
>>No.
>
>Interesting. That's good to hear.
>
>>> Or is the control of the source of that library out of TI's
>>> hands?
>>
>>That is my understanding.
>
>Thanks.
>
>>> Also... does TI allow most anyone to sign the NDA to gain
>>> access to the source?
>>
>>I don't know. I haven't attempted to gain access to the
>>source, but I know you don't have to work for a commerical
>>tool vendor.
>
>I tried, already, to sign one. Unless I was a tool vendor, they
>weren't interested. Even with some meaningful business attached to
>the idea. So this may be a sea-change I was unaware of. I need the
>capability for some products I do -- the ability to develop my own
>custom debug tools. ARM is nearly the only processor where I can find
>that doc placed in the manual and without having to pull teeth to get
>it. I'd be interested in anyone's comments about other processors
>where the debug JTAG interface isn't too complicated to get.
>
>>> Or are they pretty picky about it and pretty much would refuse
>>> most such inquiries unless they considered them well-justified
>>> from their own marketing point of view?
>>>
>>> (From your following note, presume my above questions are
>>> related to the earlier JTAG and not the 2-wire interface
>>> unless it applies.)
>>
>>The same library is used for all of the interfaces, so it
>>doesn't really matter which interface you talk about. The
>>older interfaces (e.g. parallel port JTAG) have had support for
>>longer than the new interfaces (e.g. USB 2-wire).
>
>Makes sense.
>
>>>>TI recently came out with parts that use a proprietary 2-wire
>>>>debugging interface called "spy-by-wire" instead of the
>>>>standard JTAG interface. That interface presents a 2-port
>>>>USB-serial interface to the host which required a patch to the
>>>>USB-serial device. Support for the USB-serial dongle that
>>>>talks to that 2-wire interface is what the OP was asking about.
>>>
>>> Yes. And I note that you carefully chose to mention
>>> 'downloading' in yuor comments about supporting the 2-wire.
>>
>>As I understand it, downloading/programming flash doesn't
>>require the closed source stuff. Only debugging does.
>
>Yes, that's my gathering of it, too.
>
>>> Does this mean that debugging is not yet supported over
>>> 2-wire?
>>
>>Yes, debugging via the 2-wire interface is supported (and has
>>been for a little over a year now). The 2-wire stuff was
>>introduced last spring, and it took a few weeks after
>>introduction of the 2-wire stuff weeks for the open-soruce
>>tools to catch up.
>
>Good to hear. Thanks.
>
>Jon
>
>
>>
>>> Or am I reading you too closely?
>>
>>I was a bit sloppy in my wording.
>
Reply by David Brown●June 21, 20072007-06-21
Eric wrote:
> On Jun 19, 4:23 am, David Brown <d...@westcontrol.removethisbit.com>
> wrote:
>> The Freescale BDM interfaces are not exactly JTAG, but they are fairly
>> similar, and they are well documented.
>
> I've only worked with BDM on the hcs12, but from what I've seen it's
> completely documented in open literature, and it's also about 100
> times easier to use than JTAG for debugging (memory inspection and
> modification, single-step, breakpoints, flash programming).
>
The only annoying thing about the BDM is that the serial transfers are
done in 17-bit blocks, which doesn't fit standard SPI ports very well.
> BDM doesn't support a real JTAG style chain, but I don''t need that
> anyway. The Coldfire has both BDM and JTAG, I think?
>
It has both, but the JTAG is for continuity and board testing rather
than debugging.
> I'm just not too happy with the mostly Ethernet niche of the
> Coldfires. They're trying to break out of that and become more general
> purpose, but I don't know how well they're succeeding. Arms are
> plentiful and have a lot of features, but they're harder to code at a
> very low level.
>
I've used ColdFires for many things other than Ethernet (in fact, I
haven't tried Ethernet yet). There are a lot of different ColdFires
with different peripherals, but they are playing catch-up with ARMs in
some areas. For example, there are nice powerful single-chip ColdFire
devices with Flash and RAM onboard - comparable to ARM7 devices in power
and price, but later to the market. The upcoming v1 core ColdFire
devices will be smaller, cheaper, and lower power than existing
ColdFires - but again, they'd have been far more newsworthy a year or
two ago.
> Eric
>
Reply by Eric●June 20, 20072007-06-20
On Jun 19, 4:23 am, David Brown <d...@westcontrol.removethisbit.com>
wrote:
> The Freescale BDM interfaces are not exactly JTAG, but they are fairly
> similar, and they are well documented.
I've only worked with BDM on the hcs12, but from what I've seen it's
completely documented in open literature, and it's also about 100
times easier to use than JTAG for debugging (memory inspection and
modification, single-step, breakpoints, flash programming).
BDM doesn't support a real JTAG style chain, but I don''t need that
anyway. The Coldfire has both BDM and JTAG, I think?
I'm just not too happy with the mostly Ethernet niche of the
Coldfires. They're trying to break out of that and become more general
purpose, but I don't know how well they're succeeding. Arms are
plentiful and have a lot of features, but they're harder to code at a
very low level.
Eric
Reply by Jonathan Kirwan●June 19, 20072007-06-19
On Tue, 19 Jun 2007 10:23:18 +0200, David Brown
<david@westcontrol.removethisbit.com> wrote:
>Jonathan Kirwan wrote:
><snip>
>>
>> I tried, already, to sign one. Unless I was a tool vendor, they
>> weren't interested. Even with some meaningful business attached to
>> the idea. So this may be a sea-change I was unaware of. I need the
>> capability for some products I do -- the ability to develop my own
>> custom debug tools. ARM is nearly the only processor where I can find
>> that doc placed in the manual and without having to pull teeth to get
>> it. I'd be interested in anyone's comments about other processors
>> where the debug JTAG interface isn't too complicated to get.
>>
><snip>
>
>The Freescale BDM interfaces are not exactly JTAG, but they are fairly
>similar, and they are well documented. The version used on the ColdFire
>microcontrollers is particularly easy to work with - I have made my own
>downloader using the interface (I did not make a debugger, since gdb
>does a perfectly good job, the documentation is there if you want it).
>
>mvh.,
>
>David
Thanks. At least there is one more to add to the pile. I'll take a
look at ColdFire to see if there is anything about it to differentiate
it positively from each and all of the various ARM incarnations.
Jon
Reply by David Brown●June 19, 20072007-06-19
Jonathan Kirwan wrote:
<snip>
>
> I tried, already, to sign one. Unless I was a tool vendor, they
> weren't interested. Even with some meaningful business attached to
> the idea. So this may be a sea-change I was unaware of. I need the
> capability for some products I do -- the ability to develop my own
> custom debug tools. ARM is nearly the only processor where I can find
> that doc placed in the manual and without having to pull teeth to get
> it. I'd be interested in anyone's comments about other processors
> where the debug JTAG interface isn't too complicated to get.
>
<snip>
The Freescale BDM interfaces are not exactly JTAG, but they are fairly
similar, and they are well documented. The version used on the ColdFire
microcontrollers is particularly easy to work with - I have made my own
downloader using the interface (I did not make a debugger, since gdb
does a perfectly good job, the documentation is there if you want it).
mvh.,
David
Reply by Jonathan Kirwan●June 18, 20072007-06-18
On Mon, 18 Jun 2007 13:18:40 -0700, Eric <englere_geo@yahoo.com>
wrote:
>On Jun 18, 1:30 pm, Jonathan Kirwan <jkir...@easystreet.com> wrote:
>
>> >I don't know. I haven't attempted to gain access to the
>> >source, but I know you don't have to work for a commerical
>> >tool vendor.
>>
>> I tried, already, to sign one. Unless I was a tool vendor, they
>> weren't interested.
>
>There's actually 2 levels of undocumented debugging docs you can get
>access to. The first one is specific to Windows and it documents the
>interface for the msp430.dll file that talks to the chips. This is all
>you need on Windows and it supports JTAG and Spy-bi-wire. They will
>allow most people to sign an NDA to get access to that. They actually
>have a lot of supporting documentation and sample code for this - I
>was quite surprised. They sent me a link to download a huge zip file
>full of cool information. I had a second Christmas when I got this.
>
>The second level is the actual chip control registers and wire
>signals. This is the one you'd need on linux, since msp430.dll
>wouldn't work for you (not counting the possibility of WINE, which I'm
>not super fond of). They did NOT give me access to this level of
>information. I don't know if they would do this if I bother them more
>about it.
><snip>
It is the 2nd level you mention that I'd need to have access to. I
would be developing a custom device that would be a remote (handheld)
device (non-Windows, entirely embedded code of mixed asm and c) that
would attach to a commercial product we also sell and would allow some
special diagnostics to be done on-site, in-situ. I would not use
either Linux or Windows in that situation so pieces of software by
someone else are out of the picture. ARM still remains the easy path
here, it seems.
Jon
Reply by Grant Edwards●June 18, 20072007-06-18
On 2007-06-18, Eric <englere_geo@yahoo.com> wrote:
> The second level is the actual chip control registers and wire
> signals. This is the one you'd need on linux, since msp430.dll
> wouldn't work for you (not counting the possibility of WINE,
> which I'm not super fond of).
There is an equivalent msp430.so for Linux.
> They did NOT give me access to this level of information. I
> don't know if they would do this if I bother them more about
> it.
>
> By the way, I'm porting my Windows EmbeddedGNU IDE to linux,
> and I'd sure like to support linux debugging if I can figure
> out all the issues with making it work on linux.
AFAICT, there are three options:
1) You could talk gdb remote protocol to the existing
msp430-gdbproxy daemon. I would think that would be the
easiest thing to do, since the gdb remote protocol is well
documented and there are example implementations you can
look at. [It is a bit of a hassle at run time to start up
the daemon.] It would mean your IDE could easily be made to
work with various other JTAG interfaces (for other
architectures) which talk GDB remote either natively or
through a closed-source daemon. It's also nice because you
get remote debugging "for free."
2) Get API info for the lbraries used by msp430-gdbproxy, and
just use the binary library files that are currently
available.
3) Get the API for the ddebugger unit in the core and write
your own library.
You might want to ask about the availability of library API
info on the mspgcc mailing list:
http://lists.sourceforge.net/lists/listinfo/mspgcc-usershttp://dir.gmane.org/gmane.comp.hardware.texas-instruments.msp430.gcc.user
The maintainer of msp430-gdbproxy will likely know the answers
to your questions. The place to get the proxy program and the
libraries is
http://www.soft-switch.org/downloads/mspgcc/
It's possible I've misunderstood how msp430-gdbproxy was done
and that TI provides the library in object form along with API
info, but I thought that the library and gdb-proxy were both
maintained by somebody outside TI.
--
Grant Edwards grante Yow! I just heard the
at SEVENTIES were over!! And
visi.com I was just getting in touch
with my LEISURE SUIT!!
Reply by Eric●June 18, 20072007-06-18
On Jun 18, 1:30 pm, Jonathan Kirwan <jkir...@easystreet.com> wrote:
> >I don't know. I haven't attempted to gain access to the
> >source, but I know you don't have to work for a commerical
> >tool vendor.
>
> I tried, already, to sign one. Unless I was a tool vendor, they
> weren't interested.
There's actually 2 levels of undocumented debugging docs you can get
access to. The first one is specific to Windows and it documents the
interface for the msp430.dll file that talks to the chips. This is all
you need on Windows and it supports JTAG and Spy-bi-wire. They will
allow most people to sign an NDA to get access to that. They actually
have a lot of supporting documentation and sample code for this - I
was quite surprised. They sent me a link to download a huge zip file
full of cool information. I had a second Christmas when I got this.
The second level is the actual chip control registers and wire
signals. This is the one you'd need on linux, since msp430.dll
wouldn't work for you (not counting the possibility of WINE, which I'm
not super fond of). They did NOT give me access to this level of
information. I don't know if they would do this if I bother them more
about it.
By the way, I'm porting my Windows EmbeddedGNU IDE to linux, and I'd
sure like to support linux debugging if I can figure out all the
issues with making it work on linux. The msp430 is still the best MCU
for general purpose low power requirements.
Eric
Reply by Jonathan Kirwan●June 18, 20072007-06-18
On Mon, 18 Jun 2007 16:37:10 -0000, Grant Edwards <grante@visi.com>
wrote:
>On 2007-06-18, Jonathan Kirwan <jkirwan@easystreet.com> wrote:
>
>>>> Debugging support, though?
>>>
>>>Yes. gdb has supported the msp430 for ages.
>>>
>>>> (My guess is that this would require TI to disclose details
>>>> they probably aren't interested in having become "open
>>>> source.")
>>>
>>>Gdb uses a daemon that talks to the JTAG interface widget and
>>>acts as a gdb-server on a TCP port. That daemon uses a library
>>>for which source is unavailable unless you sign an NDA.
>>
>> Ah. There it is. That is congruent with my expectations.
>>
>> Who developed this library
>
>Some guys who worked on the other open-source tools and signed
>an NDA.
>
>> and does TI control it?
>
>No.
Interesting. That's good to hear.
>> Or is the control of the source of that library out of TI's
>> hands?
>
>That is my understanding.
Thanks.
>> Also... does TI allow most anyone to sign the NDA to gain
>> access to the source?
>
>I don't know. I haven't attempted to gain access to the
>source, but I know you don't have to work for a commerical
>tool vendor.
I tried, already, to sign one. Unless I was a tool vendor, they
weren't interested. Even with some meaningful business attached to
the idea. So this may be a sea-change I was unaware of. I need the
capability for some products I do -- the ability to develop my own
custom debug tools. ARM is nearly the only processor where I can find
that doc placed in the manual and without having to pull teeth to get
it. I'd be interested in anyone's comments about other processors
where the debug JTAG interface isn't too complicated to get.
>> Or are they pretty picky about it and pretty much would refuse
>> most such inquiries unless they considered them well-justified
>> from their own marketing point of view?
>>
>> (From your following note, presume my above questions are
>> related to the earlier JTAG and not the 2-wire interface
>> unless it applies.)
>
>The same library is used for all of the interfaces, so it
>doesn't really matter which interface you talk about. The
>older interfaces (e.g. parallel port JTAG) have had support for
>longer than the new interfaces (e.g. USB 2-wire).
Makes sense.
>>>TI recently came out with parts that use a proprietary 2-wire
>>>debugging interface called "spy-by-wire" instead of the
>>>standard JTAG interface. That interface presents a 2-port
>>>USB-serial interface to the host which required a patch to the
>>>USB-serial device. Support for the USB-serial dongle that
>>>talks to that 2-wire interface is what the OP was asking about.
>>
>> Yes. And I note that you carefully chose to mention
>> 'downloading' in yuor comments about supporting the 2-wire.
>
>As I understand it, downloading/programming flash doesn't
>require the closed source stuff. Only debugging does.
Yes, that's my gathering of it, too.
>> Does this mean that debugging is not yet supported over
>> 2-wire?
>
>Yes, debugging via the 2-wire interface is supported (and has
>been for a little over a year now). The 2-wire stuff was
>introduced last spring, and it took a few weeks after
>introduction of the 2-wire stuff weeks for the open-soruce
>tools to catch up.
Good to hear. Thanks.
Jon
>
>> Or am I reading you too closely?
>
>I was a bit sloppy in my wording.