I dont know if this is the right forum to ask this, but for whatever it
is worth, here goes....
Where do I find information about how a debugger works on the ARM
processor. I mean what happens inside the processor when a breakpoint
is set, which exception is raised, how the handler is, etc.
Thanks in advance for the advice.
Regards
Prateek
Look at http://www.arm.com/documentation/ .
For example: ARM7TDMI Technical Reference Manual , appendix "Debug in depth".
---
www.kristech.eu
Scarabeus ARM Debugger
This is pretty complex. It has the EmbeddedICE module that is
controlled from the JTAG port. You should look at OpenOCD to see some
code that works.
Eric
The information about EmbeddedICE could be found in any document for ARM
processors, and you could download them from www.arm.com.
AFAIK, JTAG(Join Test Action Group) is a protocol, or a specification,
and IEEE 1149.1 is designed by this group, and standardized by IEEE.
All the document about this standard is open online.
[1]IEEE Standard Test Access Port and Boundary-Scan Architecture, IEEE
Std1149.1-2001.
There are some open-source tools to control ARM processor via
JTAG/EmbeddedICE, for example, gdb-jtag-arm.
If what you want is about software, you could reference GNU Debugger,
GDB. It supported ARM processor.
--
Yao Qi
GNU/Linux Developer
[P.S. Your question, "How a debugger works", could be a name a
book. :) It is complicated to implement a debugger, so if you could
ask your questions in detials, you may get more help.]
Regards
Prateek
If one is being paid , yes everything is VERY complicated ..
at least a 1600 page manual .. Like the old 68HC11
Buffalo debugger .... very hard to use ....
ha ha ha ha ......Luddite !!
A debugger is a resident booter that displays a prompt
on LCD .
If you type ? or Help or any key too many times , it
lists its commands ....
The commands stay on LCD as you cursor over and click
each command .
You can assemble code , test by single stepping code ,
work at low level .
You can assemble code that adds to the power of
the debugger .
You can create a Forth OpSys in this debugger in
hours .......
Then switch the mainboard to boot Forth instead
of debugger ....
There is no faster method ...
Modern , tiny debuggers dont limit you to sending
a byte to a port , they allow you to write sequences
and and streams and tiny "drivers" , in minutes and
send it conditionally to that port , based on input from other ports
...
ARM 7 needs about 20KB to store a Debugger ..