EmbeddedRelated.com
Forums
Memfault Beyond the Launch

JTAG consulting

Started by Gus October 27, 2005
Hello,

We are interested in buying your JTAG code for LPC chips. The code
has to be written in C++ for the parallel port JTAG from olimex.
Even better, if you have code to run JTAG on the new FTDI USB chip.

Your code should be able to
- read/write RAM
- set/clear hardware breakpoints
- set/clear software breakpoints
- read the processor registers

Tell us what you have and how much you want. Please reply to this
email gissa@giss...

Gus



An Engineer's Guide to the LPC2100 Series

> We are interested in buying your JTAG code for LPC chips. The code
> has to be written in C++ for the parallel port JTAG from olimex.
> Even better, if you have code to run JTAG on the new FTDI USB chip.

You didn't say if the code is needed for Windows or linux?

I found an interesting program called "jtager" at SourceForge. This
comes with C source code and its supposed to work with both ARM7TDMI
and ARM9TDMI. This was written for Wigglers (parallel port interface).
But it hasn't been updated in a while, and I don't know if it works
with modern chips.

If you want to work with USB JTAG code under Windows you can buy the
j-link SDK. It's under $500. It has a wide range of functionality - a
lot more than you asked for. I think they should give away the SDK for
free as an incentive for people to buy their j-link USB device, but
this cost is lower than what anyone else would charge you to write
custom code.

If anyone knows of any modern open source JTAG tools please let me know.



Eric Engler wrote:

> > The code has to be written in C++ for the parallel port JTAG from
> olimex.
> > Even better, if you have code to run JTAG on the new FTDI USB chip.
>
> You didn't say if the code is needed for Windows or linux?

I checked out their website and found all kind of Windows based programs
(nice stuff for those in automotive) so I think Windows will be the choice.

> I found an interesting program called "jtager" at SourceForge. This
> comes with C source code and its supposed to work with both ARM7TDMI
> and ARM9TDMI. This was written for Wigglers (parallel port interface).
> But it hasn't been updated in a while, and I don't know if it works
> with modern chips.

I ran into a problem last week (cannot return to debug mode correctly
after executing an instruction at system speed) so I had a look at the
jtager code.
It looks to be a bit of trial-on-error code. Some things are done twice,
according to the comments in the code first time access fails, and there
are too many returns to idle/run state or RESTART commands in the code.
It may work - I am not able to test it. I'd like to give it a try so I
may check the attick this weekend to get a linux machine to test it.

> If you want to work with USB JTAG code under Windows you can buy the
> j-link SDK. It's under $500. It has a wide range of functionality - a
> lot more than you asked for. I think they should give away the SDK for
> free as an incentive for people to buy their j-link USB device, but
> this cost is lower than what anyone else would charge you to write
> custom code.

Sounds good. Is the OCDRemote library providing an open interface i.e.
would Gus be able to use this?
I think the jtag widget from MPE
(http://www.mpeforth.com/jtagwidget.htm) is also a good solution to
intergrate into your own debugger.

I am defenitely going for an ethernet solution. This give me full
electrical isolation for free :-)
Also, I do not want to create my own debugger but use a standard
debugger. I had the ARM SDT 2.57 tools, now I have access to the ARM
RealView tools (and Gnu GDB) but cannot take the RealView ICE from the
office home with me.
So I need a jtag pod that works with both the RealView debugger and gdb
- an RDI level debugger is - I think - a nice solution for this.

> If anyone knows of any modern open source JTAG tools please let me know.

I googled some time before deciding to write my own jtag code.
It seems there are not too many jtag software packages available but
there are defenitely some guys out their all writing their own ...

Rob



--- In lpc2000@lpc2..., Rob Jansen <rob@m...> wrote:

> > If you want to work with USB JTAG code under Windows you can buy the
> > j-link SDK. It's under $500.

> Sounds good. Is the OCDRemote library providing an open interface i.e.
> would Gus be able to use this?

I understand that OCDRemote is free. But it doesn't support
downloading programs to flash, and it's hard to understand why they'd
leave that out. Segger's RDI software does download to flash.

They only charge for the j-link SDK that gives .h and .lib files that
let you link to their DLL. Frankly, it bothers me that this isn't
free. The DLL itself comes with the j-link device so I don't think
there's a royalty for deployment.

You can get the info on the j-link DLL API on their web site. They
give a lot of info for free, but they want you to pay for .h and .lib
files. I do advise you to look at this info on their site because it
shows that their API is very well designed, and it may give you ideas
on what you might want to do.

http://www.segger.com/jlink_dll.html

There's another resource worth checking out: the source code for the
old Angel monitor. This interfaced to the PC through a serial port, so
it had some limitations, but it gave you some great commands for
things like breakpoints, downloading, inspecting memory, etc. I found
the source in an archive of older programs at the Atmel site. It dates
from 2002, but it was written for the ARM7TDMI, so it should still be
relevant...


--- In lpc2000@lpc2..., "Eric Engler" <englere.geo@y...> wrote:

> There's another resource worth checking out: the source code for the
> old Angel monitor. This interfaced to the PC through a serial port,
so
> it had some limitations, but it gave you some great commands for
> things like breakpoints, downloading, inspecting memory, etc. I found
> the source in an archive of older programs at the Atmel site. It
dates
> from 2002, but it was written for the ARM7TDMI, so it should still be
> relevant...

I would find this source code extremely useful. But after a search
around the Atmel website (and the web in general) I still could not
quite find it. Could you list specific pointers to the code or maybe
post tars of the monitor source?

Thanks!
-BNP



> I would find this source code extremely useful. But after a search
> around the Atmel website (and the web in general) I still could not
> quite find it. Could you list specific pointers to the code or maybe
> post tars of the monitor source?

You're right about it being hard to find! It's in a file called
At91LibV214_light.exe, but you can't find that file with a search at
Atmel's site. You have to drill down into a lot of pages to find it.
It comes with a lot of other programs so a lot of people don't even
know its there.

To recapfrom my earlier message, Angel is a serial monitor that gives
you access to RDI style commands through the Angel Debug Protocol
(ADP). Angel is not an ideal way to debug because of the serial port
connection, but there's a lot of interesting code in Angel for people
who want to write their own debugger.

For convenience of people who want the Angel monitor source code, I
pulled it out of that big file and posted it on my site:

http://www.ericengler.com/AngelMonitorSrc.zip

To go along with this, you need to get these documents. The first 2
are easy to find at the ARM website:
ADP_ARM_DUI0052C.pdf
ADP_ARM_DUI0053D.pdf

This page is good and it has links to the PDF files:
http://www.arm.com/products/DevTools/AngelDebugMonitor.html

One of the best references on Angel is a chapter in the ARM Software
Development Toolkit, version 2.11. The version is important because
the newest versions of this document do NOT have the Angel material!
The document code for this is ARM DUI 0041B. A slightly older version
of the same document has the same info. (I think its the same): ARM
DUI 0040C. If anyone can find a good download link for this document
please post it here! I'd put it on my site, but it's almost 10
megabytes and it could cost me a lot if many people download it (I pay
for the amount of bytes people download).

Lastly, the Angel Porting Guide:
ttp://www.arm.com/pdfs/DAI0054A_angel_porting.pdf

Eric



for the ARM DUI 0041B

http://www.arm.com/products/DevTools/Semihosting.html >From: "Eric Engler" <englere.geo@engl...>
>Reply-To: lpc2000@lpc2...
>To: lpc2000@lpc2...
>Subject: [lpc2000] Re: JTAG consulting
>Date: Sat, 05 Nov 2005 05:54:46 -0000
>
> > I would find this source code extremely useful. But after a search
> > around the Atmel website (and the web in general) I still could not
> > quite find it. Could you list specific pointers to the code or maybe
> > post tars of the monitor source?
>
>You're right about it being hard to find! It's in a file called
>At91LibV214_light.exe, but you can't find that file with a search at
>Atmel's site. You have to drill down into a lot of pages to find it.
>It comes with a lot of other programs so a lot of people don't even
>know its there.
>
>To recapfrom my earlier message, Angel is a serial monitor that gives
>you access to RDI style commands through the Angel Debug Protocol
>(ADP). Angel is not an ideal way to debug because of the serial port
>connection, but there's a lot of interesting code in Angel for people
>who want to write their own debugger.
>
>For convenience of people who want the Angel monitor source code, I
>pulled it out of that big file and posted it on my site:
>
>http://www.ericengler.com/AngelMonitorSrc.zip
>
>To go along with this, you need to get these documents. The first 2
>are easy to find at the ARM website:
>ADP_ARM_DUI0052C.pdf
>ADP_ARM_DUI0053D.pdf
>
>This page is good and it has links to the PDF files:
>http://www.arm.com/products/DevTools/AngelDebugMonitor.html
>
>One of the best references on Angel is a chapter in the ARM Software
>Development Toolkit, version 2.11. The version is important because
>the newest versions of this document do NOT have the Angel material!
>The document code for this is ARM DUI 0041B. A slightly older version
>of the same document has the same info. (I think its the same): ARM
>DUI 0040C. If anyone can find a good download link for this document
>please post it here! I'd put it on my site, but it's almost 10
>megabytes and it could cost me a lot if many people download it (I pay
>for the amount of bytes people download).
>
>Lastly, the Angel Porting Guide:
>ttp://www.arm.com/pdfs/DAI0054A_angel_porting.pdf
>
>Eric >


and for the ARM DUI 0040C

http://infoeng.ee.ic.ac.uk/~gac1/Architecture/user2v2.pdf >From: "Eric Engler" <englere.geo@engl...>
>Reply-To: lpc2000@lpc2...
>To: lpc2000@lpc2...
>Subject: [lpc2000] Re: JTAG consulting
>Date: Sat, 05 Nov 2005 05:54:46 -0000
>
> > I would find this source code extremely useful. But after a search
> > around the Atmel website (and the web in general) I still could not
> > quite find it. Could you list specific pointers to the code or maybe
> > post tars of the monitor source?
>
>You're right about it being hard to find! It's in a file called
>At91LibV214_light.exe, but you can't find that file with a search at
>Atmel's site. You have to drill down into a lot of pages to find it.
>It comes with a lot of other programs so a lot of people don't even
>know its there.
>
>To recapfrom my earlier message, Angel is a serial monitor that gives
>you access to RDI style commands through the Angel Debug Protocol
>(ADP). Angel is not an ideal way to debug because of the serial port
>connection, but there's a lot of interesting code in Angel for people
>who want to write their own debugger.
>
>For convenience of people who want the Angel monitor source code, I
>pulled it out of that big file and posted it on my site:
>
>http://www.ericengler.com/AngelMonitorSrc.zip
>
>To go along with this, you need to get these documents. The first 2
>are easy to find at the ARM website:
>ADP_ARM_DUI0052C.pdf
>ADP_ARM_DUI0053D.pdf
>
>This page is good and it has links to the PDF files:
>http://www.arm.com/products/DevTools/AngelDebugMonitor.html
>
>One of the best references on Angel is a chapter in the ARM Software
>Development Toolkit, version 2.11. The version is important because
>the newest versions of this document do NOT have the Angel material!
>The document code for this is ARM DUI 0041B. A slightly older version
>of the same document has the same info. (I think its the same): ARM
>DUI 0040C. If anyone can find a good download link for this document
>please post it here! I'd put it on my site, but it's almost 10
>megabytes and it could cost me a lot if many people download it (I pay
>for the amount of bytes people download).
>
>Lastly, the Angel Porting Guide:
>ttp://www.arm.com/pdfs/DAI0054A_angel_porting.pdf
>
>Eric >



Memfault Beyond the Launch