Forums

How to write a GDB-STUB for AT91RM9200?

Started by oklm December 14, 2005
Hello,members!
    I want to add a debugging stub on AT91RM9200 target,I've looked at
some information about it,but i don't know how to write that AT91-stub.c?
Introduction is:
On the host, 
  GDB already understands how to use this protocol; when everything else
is set up, you can simply use the `target remote' command .
On the target, 
  you must link with your program a few special-purpose subroutines that
implement the GDB remote serial protocol. The file containing these
subroutines is called a debugging stub. On certain remote targets, you can
use an auxiliary program gdbserver instead of linking a stub into your
program.  
   The debugging stub is specific to the architecture of the remote
machine; for example, use `sparc-stub.c' to debug programs on SPARC
boards. 

These working remote stubs are distributed with GDB: 

i386-stub.c 
For Intel 386 and compatible architectures. 
m68k-stub.c 
For Motorola 680x0 architectures. 
sh-stub.c 
For Hitachi SH architectures. 
sparc-stub.c 
For SPARC architectures. 
sparcl-stub.c 
For Fujitsu SPARCLITE architectures. 

However,there are not for ARM.
MY target machine is Atmel's AT91RM9200; Operating system Kernel:
Linux2.4.19-rmk7; Bootloader: U-boot0.4.8

Thank you very much! 
oklm803@126.com
Please! 



check here:

http://openocd.berlios.de/web/

There's also some closed-source drivers, like this:

Windows only - for gnu gdb: OCDRemote

http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/wiggler_intro/wiggler_intro.pdf

  "OCDRemote is a utility that listens on a TCP/IP port and translates
GDB monitor commands into Wiggler/Raven/usbDemon/mpDemon JTAG/BDM
commands. This lets you run your version of GDB which views our
interface device as a target monitor accessed via Ethernet."

>Hello,members! > I want to add a debugging stub on AT91RM9200 target,I've looked at >some information about it,but i don't know how to write that
AT91-stub.c?
>Introduction is: >On the host, > GDB already understands how to use this protocol; when everything else >is set up, you can simply use the `target remote' command . >On the target, > you must link with your program a few special-purpose subroutines that >implement the GDB remote serial protocol. The file containing these >subroutines is called a debugging stub. On certain remote targets, you
can
>use an auxiliary program gdbserver instead of linking a stub into your >program. > The debugging stub is specific to the architecture of the remote >machine; for example, use `sparc-stub.c' to debug programs on SPARC >boards. > >These working remote stubs are distributed with GDB: > >i386-stub.c >For Intel 386 and compatible architectures. >m68k-stub.c >For Motorola 680x0 architectures. >sh-stub.c >For Hitachi SH architectures. >sparc-stub.c >For SPARC architectures. >sparcl-stub.c >For Fujitsu SPARCLITE architectures. > >However,there are not for ARM. >MY target machine is Atmel's AT91RM9200; Operating system Kernel: >Linux2.4.19-rmk7; Bootloader: U-boot1.1.4 > >Thank you very much! >oklm803@126.com >Please! > > > >