* gdb for multicore processors ?
@ 2005-12-08 5:47 Kim Lux
2005-12-08 5:49 ` Kim Lux
0 siblings, 1 reply; 5+ messages in thread
From: Kim Lux @ 2005-12-08 5:47 UTC (permalink / raw)
To: gdb
We need to port gdb to handle the Freescale (formerly Motorola)
68HC9S12X devices, which have 2 processors: the main CPU called the
9S12 and an auxillary IO RISC processor called the XGATE processor.
Each processor has its own register set and instruction set. They are
not the same. They share the same memory map, but the xgate processor
addresses things differently.
I'll provide more details of the processors as people need them.
We already handle the 9S12 CPU with gdb in the 68HC9S12 devices. (No
XGATE on them.)
We interface to the processor via a Background Debug Pod. The 9S12X BDM
can set breakpoints for each processor independently.
So... how do we set GDB up to handle this ?
We are building the BDM, so theoretically we could connect 2 gdb
processes to the same BDM, if that helps. That would allow us to have a
separate GDB instance for each process. Or should one GDB instance
handle both processors ?
The goal is to use gdb under Eclipse. There it would be preferable to
have 2 separate instances of gdb.
--
Kim Lux, Diesel Research Inc.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: gdb for multicore processors ?
2005-12-08 5:47 gdb for multicore processors ? Kim Lux
@ 2005-12-08 5:49 ` Kim Lux
2005-12-08 13:56 ` Daniel Jacobowitz
0 siblings, 1 reply; 5+ messages in thread
From: Kim Lux @ 2005-12-08 5:49 UTC (permalink / raw)
To: gdb
One more thing.
XGate code gets compiled to reside in flash. However, it gets relocated
to run from RAM as it runs much faster there. GDB will have to know
that the address it sees in RAM isn't the address it was compiled to.
The file format is elf, if that helps.
Thanks in advance for your ideas.
On Wed, 2005-12-07 at 22:47 -0700, Kim Lux wrote:
> We need to port gdb to handle the Freescale (formerly Motorola)
> 68HC9S12X devices, which have 2 processors: the main CPU called the
> 9S12 and an auxillary IO RISC processor called the XGATE processor.
>
> Each processor has its own register set and instruction set. They are
> not the same. They share the same memory map, but the xgate processor
> addresses things differently.
>
> I'll provide more details of the processors as people need them.
>
> We already handle the 9S12 CPU with gdb in the 68HC9S12 devices. (No
> XGATE on them.)
>
> We interface to the processor via a Background Debug Pod. The 9S12X BDM
> can set breakpoints for each processor independently.
>
> So... how do we set GDB up to handle this ?
>
> We are building the BDM, so theoretically we could connect 2 gdb
> processes to the same BDM, if that helps. That would allow us to have a
> separate GDB instance for each process. Or should one GDB instance
> handle both processors ?
>
> The goal is to use gdb under Eclipse. There it would be preferable to
> have 2 separate instances of gdb.
>
>
--
Kim Lux, Diesel Research Inc.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: gdb for multicore processors ?
2005-12-08 5:49 ` Kim Lux
@ 2005-12-08 13:56 ` Daniel Jacobowitz
0 siblings, 0 replies; 5+ messages in thread
From: Daniel Jacobowitz @ 2005-12-08 13:56 UTC (permalink / raw)
To: Kim Lux; +Cc: gdb
On Wed, Dec 07, 2005 at 10:49:39PM -0700, Kim Lux wrote:
> One more thing.
>
> XGate code gets compiled to reside in flash. However, it gets relocated
> to run from RAM as it runs much faster there. GDB will have to know
> that the address it sees in RAM isn't the address it was compiled to.
> The file format is elf, if that helps.
How to handle this depends on how you do it. Traditionally you set the
VMA in the ELF file to point to the RAM location; then everything will
Just Work.
> On Wed, 2005-12-07 at 22:47 -0700, Kim Lux wrote:
> > Each processor has its own register set and instruction set. They are
> > not the same. They share the same memory map, but the xgate processor
> > addresses things differently.
> > We are building the BDM, so theoretically we could connect 2 gdb
> > processes to the same BDM, if that helps. That would allow us to have a
> > separate GDB instance for each process. Or should one GDB instance
> > handle both processors ?
I strongly recommend using two GDB sessions, for now. It's a long-term
design goal for GDB to be able to debug heterogenous systems, but no
one has been working on it lately, and there's a long way to go.
--
Daniel Jacobowitz
CodeSourcery, LLC
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: gdb for multicore processors?
2006-09-29 3:30 gdb for multicore processors? Bridge Wu
@ 2006-09-29 18:10 ` Michael Snyder
0 siblings, 0 replies; 5+ messages in thread
From: Michael Snyder @ 2006-09-29 18:10 UTC (permalink / raw)
To: Bridge Wu; +Cc: gdb
On Fri, 2006-09-29 at 11:29 +0800, Bridge Wu wrote:
> Hello,
>
> I want to know whether gdb support multicore debugging now. I searched
> below from this mailing list, but didn't know the current status. Is
> there any plan or roadmap to support multicore debugging?
The most interesting "thread" of conversation (pun intended)
that I've taken part in has been with the idea that, if they
are symmetric multi-processors and if they are running the same
code, we could somehow hoax them into the thread model. Treat
each core as a thread.
This could for instance be done with cooperation from the
target side. If gdb were talking to a remote stub or
gdbserver, then the remote side could simply report each
core using a different "thread id", and to gdb it would be
transparent.
^ permalink raw reply [flat|nested] 5+ messages in thread
* gdb for multicore processors?
@ 2006-09-29 3:30 Bridge Wu
2006-09-29 18:10 ` Michael Snyder
0 siblings, 1 reply; 5+ messages in thread
From: Bridge Wu @ 2006-09-29 3:30 UTC (permalink / raw)
To: gdb
Hello,
I want to know whether gdb support multicore debugging now. I searched
below from this mailing list, but didn't know the current status. Is
there any plan or roadmap to support multicore debugging?
--
best regards,
-Bridge
On Wed, Dec 07, 2005 at 10:49:39PM -0700, Kim Lux wrote:
> One more thing.
>
> XGate code gets compiled to reside in flash. However, it gets relocated
> to run from RAM as it runs much faster there. GDB will have to know
> that the address it sees in RAM isn't the address it was compiled to.
> The file format is elf, if that helps.
How to handle this depends on how you do it. Traditionally you set the
VMA in the ELF file to point to the RAM location; then everything will
Just Work.
> On Wed, 2005-12-07 at 22:47 -0700, Kim Lux wrote:
> > Each processor has its own register set and instruction set. They are
> > not the same. They share the same memory map, but the xgate processor
> > addresses things differently.
> > We are building the BDM, so theoretically we could connect 2 gdb
> > processes to the same BDM, if that helps. That would allow us to have a
> > separate GDB instance for each process. Or should one GDB instance
> > handle both processors ?
I strongly recommend using two GDB sessions, for now. It's a long-term
design goal for GDB to be able to debug heterogenous systems, but no
one has been working on it lately, and there's a long way to go.
--
Daniel Jacobowitz
CodeSourcery, LLC
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2006-09-29 18:10 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-12-08 5:47 gdb for multicore processors ? Kim Lux
2005-12-08 5:49 ` Kim Lux
2005-12-08 13:56 ` Daniel Jacobowitz
2006-09-29 3:30 gdb for multicore processors? Bridge Wu
2006-09-29 18:10 ` Michael Snyder
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox