Mirror of the gdb mailing list
 help / color / mirror / Atom feed
* More GDB stub questions
@ 2006-02-11  1:48 Mitchell Fang
  2006-02-11  2:29 ` Daniel Jacobowitz
  0 siblings, 1 reply; 2+ messages in thread
From: Mitchell Fang @ 2006-02-11  1:48 UTC (permalink / raw)
  To: gdb

So I've implementing a GDB stub thats connect GDB to a PowerPC4xx
board (target) via a JTAG controller. I've got some questions that I'm
still not sure about and since I got great advice last time I figured
I try again.  So here is my environment, the host computer is a linux
machine and my GDB stub resides on the host also.  They connect by
TCP/IP.

1) Do I need to configure GDB so that the host is linux and the target
is PPC?  I don't think so but wanted to be sure.

2) When GDB connects with the stub, one of the initial commands will
be the 'g' read general register commands.  Is this only the GPR
registers then?  Shouldn't it need to know the SPR registers, and
other registers also?  I'm not really sure what GDB is expecting. 
When I type "info registers" afterward it just lists some stuff that I
don't know what it is.


(top-gdb) target remote :8888
Remote debugging using :8888
0x00000000 in ?? ()
(top-gdb) info register
eax            0x0      0
ecx            0x0      0
edx            0x0      0
ebx            0x0      0
esp            0x0      0x0
ebp            0x0      0x0
esi            0x0      0
edi            0x0      0
eip            0x0      0x0
eflags         0xf9daf8 16374520
cs             0x0      0
ss             0x0      0
ds             0x0      0
es             0x0      0
fs             0x0      0
gs             0x0      0

3)  For the program that I want to debug, I've been trying load it
onto the Target by using the GDB load command.  So when I type in gdb
"load test", my stub just reads it as a write hex data to memory.  I
haven't implemented the 'X' write bin data to memory command.  If
that's all load does, how are you suppose to figure out where to set
the PC?  or is this just not the right way to load the program to be
debugged onto the Target.

 Any input would be appreciated.

Thanks,
Mitchell


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: More GDB stub questions
  2006-02-11  1:48 More GDB stub questions Mitchell Fang
@ 2006-02-11  2:29 ` Daniel Jacobowitz
  0 siblings, 0 replies; 2+ messages in thread
From: Daniel Jacobowitz @ 2006-02-11  2:29 UTC (permalink / raw)
  To: Mitchell Fang; +Cc: gdb

On Fri, Feb 10, 2006 at 05:48:10PM -0800, Mitchell Fang wrote:
> So I've implementing a GDB stub thats connect GDB to a PowerPC4xx
> board (target) via a JTAG controller. I've got some questions that I'm
> still not sure about and since I got great advice last time I figured
> I try again.  So here is my environment, the host computer is a linux
> machine and my GDB stub resides on the host also.  They connect by
> TCP/IP.
> 
> 1) Do I need to configure GDB so that the host is linux and the target
> is PPC?  I don't think so but wanted to be sure.

Yes, certainly.

> 2) When GDB connects with the stub, one of the initial commands will
> be the 'g' read general register commands.  Is this only the GPR
> registers then?  Shouldn't it need to know the SPR registers, and
> other registers also?  I'm not really sure what GDB is expecting. 
> When I type "info registers" afterward it just lists some stuff that I
> don't know what it is.

Type "maint print registers" to see what registers GDB is expecting and
where in the 'g' packet they ought to be.  Currently GDB has somewhat
limited support for SPRs, but if you set the architecture
appropriately, it does know some of them.

> (top-gdb) target remote :8888
> Remote debugging using :8888
> 0x00000000 in ?? ()
> (top-gdb) info register
> eax            0x0      0

That should tip you off that you don't have a PPC debugger :-)

> 3)  For the program that I want to debug, I've been trying load it
> onto the Target by using the GDB load command.  So when I type in gdb
> "load test", my stub just reads it as a write hex data to memory.  I
> haven't implemented the 'X' write bin data to memory command.  If
> that's all load does, how are you suppose to figure out where to set
> the PC?  or is this just not the right way to load the program to be
> debugged onto the Target.

Setting the PC is supposed to be done by some other mechanism.  For an
experimental stub I've been working with lately, we decided to use
"target extended-remote" instead of "target remote", which allows us to
use the "run" command ("R" packet) to set the PC appropriately.  If the
PC is the only thing that needs setting up, you can just use "load"
and start the program by an appropriate "jump" command.

-- 
Daniel Jacobowitz
CodeSourcery


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2006-02-11  2:29 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-02-11  1:48 More GDB stub questions Mitchell Fang
2006-02-11  2:29 ` Daniel Jacobowitz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox