JTAG debugger recommendations?

Does anyone have any recommendations for a good JTAG debugger for Linux applications and modules? We are running Linux 2.4 with a Freescale MPC8248 processor.

Thank you.

Reply to
Bill
Loading thread data ...

Why not use GDB?

Reply to
Thomas Lykkeberg

GDB affects the timing to the point that our system does not run.

Reply to
Bill

Try the Abatron BDI2000. Thats what I am using, and gives source level debugging (with MMU support) using a GDB server. It is straight forward to setup and works well.

Reply to
Janaka

We tried the Abatron BDI2000 and it adversely affected our system. We have a modem running 10 ms frames, which is very sensitive if the timing is changed.

Reply to
Bill

AFAIK, GDB _uses_ the JTAG debug hardware if configured accordingly. Am I wrong ?

-Michael

Reply to
Michael Schnell

How can that be ? The BDM/JTAG interface is supposed to do nothing as long long as you don't stop the execution. Is this not true ?

-Michael

Reply to
Michael Schnell

Isn't any JTAG debugger is going to affect timing since it has to stop the processor to do any "debugging"? I remember some ARM vendors bragging about how they had non-intrusive tracing via JTAG, but I'm very skeptical.

--
Grant Edwards                   grante             Yow! Are you the
                                  at               self-frying president?
                               visi.com
Reply to
Grant Edwards

All I can do is speak from experience.

Reply to
Bill

10 ms is an eternity on most modern processors. A real JTAG emulator should have zero affect on the execution of your code. In fact a debugger shouldn't affect timing while your code is running. I think you have something else going on.

Are you using a different build script/makefile when you are debugging/emulating? A lot of times the compiler needs different options to retain the symbol information that the emulator uses. Maybe you're inadvertently changing the optimization level of your compiler and ending up with slower code as a result. If it is a c compiler, for example, there is usually a -Ox command line option to set the optimization level.

-Clark

Reply to
cpope

I don't know what the 10ms Bill referred to, but a JTAG device could take this much time depending on the interfaces used to communicate with the JTAG itself. For example if your JTAG device is USB / Serial or Network, the time taken for the debugger to communicate with the JTAG may be more than 10ms. Hence you get the impression that the actual code execution takes that time. From my understanding it depends on the following factors.

- JTAG debugger -server side (eg: GDB server)

- Debugger - client side (GDB)

- Connection to JTAG (eg: serial port)

- How the debugger communicates (given that usually JTAGs have limited number of HW breakpoints [eg: 2]). Does it set a breakpoint on each source line or is it smart enough to set breakpoints in optimised code .... etc.etc.

JTAG itself should not have any effect on the timing (baring track lengths, which is in pS or uS timing and internal CPU HW delays), but how you communicate with the JTAG pod will have a lot of bearing. Cheers J

Reply to
Janaka

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.