This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: gdb -> OcdLibRemote -> Raven | Wiggler -> LittleEndian Arm
- From: "Peter Reilley" <micrio at mv dot com>
- To: "John Devereux" <jd1 at devereux dot me dot uk>,<gdb at sources dot redhat dot com>
- Cc: "Jim MacGregor" <jamesm at macraigor dot com>
- Date: Wed, 17 Sep 2003 10:01:55 -0400
- Subject: Re: gdb -> OcdLibRemote -> Raven | Wiggler -> LittleEndian Arm
- References: <87smmwzo0w.fsf@cordelia.devereux.me.uk>
John;
I will try to help you here. Are you running under Linux or
Cygwin? You are not using the GDB that was supplied with
the package, is there any reason for this? Does the example
for the Sharp7 work with your board? What does the data
look like if you use the "monitor long" command? With this,
you can read memory in the target directly which bypasses GDB's
handling of endian issues.
OcdLibRemote does not do endian translation on memory
access depending on the type of data being transferred. OcdLibRemote
has no knowledge of the type of information, data or code, that is flowing
to or from memory. Only GDB has this knowledge.
Pete.
----- Original Message -----
From: "John Devereux" <jd1@devereux.me.uk>
To: <gdb@sources.redhat.com>
Sent: Tuesday, September 16, 2003 12:38 PM
Subject: gdb -> OcdLibRemote -> Raven | Wiggler -> LittleEndian Arm
>
> Hi,
>
> Firstly, apologies if this is off-topic for the list.
>
> GDB loads the application into the chip with the wrong endianness!
>
> So the instruction opcodes are all scrambled up and the program is
> garbage. I have tried all four combinations of "set endian" and the
> "monitor" equivalent, they seem to make no difference. (You can make
> the program APPEAR correct like this, but it is still wrongly loaded
> into the chip and does not run).
>
> I am using a "raven" type JTAG device with the Sharp LH79520 (a
> "little-endian" ARM variant).
>
> I can load and run programs fine using the Macraigor OCD Commander
> application. Once loaded like this, I can even use GDB to step through
> the application. It is just the loading phase which is going wrong.
>
> Can anyone shed some light on this? Is anyone doing this with a
> "little-endian" ARM?
>
> I have currently using V5.3 of arm-elf-gdb, tried on both linux and
> windows.
>
> Some more information:
>
> GDB uses OCDlibremote to talk to the hardware. The loading process is
> incorrectly inverting the "endianness", for instructions, *but not for
> data !!!*
>
> How is this even possible? I suppose either gdb or OCDlibremote must
> be doing some "interpretation", somehow. This happens even when the
> input file is in a raw s-record format.
>
> Could somebody please confirm that they have had this configuration
> working:
>
> gdb -> OcdLibremote -> Raven | Wiggler -> LittleEndian ARM
>
> Help!
>
> Thanks,
>
> --
>
> John Devereux
>