This is the mail archive of the
mailing list for the GDB project.
Re: byte word and int(32) safe memory access?
On Fri, Aug 22, 2008 at 1:23 PM, Daniel Jacobowitz <email@example.com> wrote:
> On Fri, Aug 22, 2008 at 10:35:20AM +0200, Robin den Hertog wrote:
>> I would like to be able to send bytes words and int's that are
>> read/written as such to my embedded target.
>> (some fpga's and other peripheral hardware need their registers to be
>> read/written in one action).
>> the protocol doesn't support this, what is more the way the `m' packet
>> is defined it is unsure how it will handle the read at all.
> What problem, exactly, are you solving here? In practice, if you tell
> GDB to read an int it will read an int; if you tell it to read a byte
> it will read a byte. It's only when accessing multi-word structures
> that you get a problem. And in those cases it's sometimes possible to
> teach the stub to handle it transparently.
> Daniel Jacobowitz
i want to use gdb server to debug my device drivers and the ability to
send read/write commands from a script environment running on the host
executed (preferably by gdb) on the target. I am using memory mapped
the documentation and code of gdb lead me to believe the only time you
read memory larger than a byte at once is for speed optimization.
but you're saying that is i request an address with the length at 2
bytes it will always be read in ONE read action ($m40,2#xx)?
does it depend on the address size?
"even if addr is word-aligned and length is a multiple of the word
size, the stub is free to use byte accesses"
I figured that meant even $m00004040,4#xx and any length above that
(but still dividable by 4) you would still be unsure how it is read.
changing the stub could still mean that as soon as you connect a
different fpga (to the same cpu) you have to rewrite your stub ?.
Never fear, for I is here!