This is the mail archive of the gdb-patches@sourceware.cygnus.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: RDI patches for gdb 4.18


Grant,

Thank you very much for your patchs.  very useful stuff indeed.

I am working into merging it with the main repository so it will soon
show up in the repository.

It takes a while because I have to test your changes with the Angel
monitor, with cygwin etc.

Thomas patches also seem very interesting.  Hope you can get around to
those.

Best regards,
Fernando


Grant Edwards wrote:
> 
> Attached is a patch file generated agains gdb-4.18.  It implements the
> changes listed below for rdi target support.
> 
> RDI Background (people who don't know what the rdi target is probably
> don't care about the patches, but in case somebody is curious...)
> 
> The rdi target is used for remotely debugging ARM targets that
> implement the Angel Debugging Protocol (ADP).  ADP is generally
> implemented in one of two ways:
> 
>  1) By running the Angel Monitor (usually in ROM) on the target and
>     talking to it via serial port.  AFAICT, this is quite similar to
>     putting GDB stubs on the target.
> 
>     I don't have a target that runs the Angel monitor, so I haven't
>     tested with this type of target.
> 
>  2) By buying an ARM processor with a JTAG debugging interface and
>     using a JTAG interface box that implements ADP.  The processor
>     that is most commonly used this way is the ARM7TDMI.
> 
>     The two JTAG interfaces with which I have tested are the ARM
>     Embedded-ICE and the EPI Jeeni.
> 
> Still on the todo list: incoporate changes received from Thomas Zenker
> that
> 
>  + allow the user to get gdb's attention while it's waiting for an
>    ADP packet.
> 
>  + clean up some BSD 4.4 issues
> 
>  + clean up the code that opens serial ports (the existing code
>    tries to outsmart the user regarding serial port names).
> 
> The attached patch should work cleanly if applied in the gdb-4.18 main
> directory with the command
> 
>     $ patch -E -p4 <gdbrdi.patch
> 
> ----------------------------------------------------------------------
>                                Changes
> ----------------------------------------------------------------------
> 
>  * Added the boolean set/show variable rdiheartbeat.
> 
>    This enables or disables ADP link-check "heartbeat" packets sent by
>    the host to the target.  Heartbeat packets can cause both the ARM
>    Embedded-ICE and the EPI Jeeni to malfunction: If a heartbeat
>    packet is received by the target while it is sending a packet, that
>    packet will be aborted, and the ADP protocol engine then gets very
>    confused.
> 
>    Default state is off -- used to hardwired on.
> 
>  * Added the boolean set/show variable rdiromatzero.
> 
>    Should be set to true if the target has ROM at address 0.  If true,
>    then gdb will not tell the target to trap fetches to interrupt
>    vectors (which are located at address 0).  Using the Angel monitor,
>    attempting to set breakpoints in ROM is an error.  Using JTAG
>    debugging of the ARM7TDMI, attempting to set more than two
>    breakpoints in ROM is an error.
> 
>    Default state is false (vectors will be trapped) -- used to be
>    hardwired false.
> 
>  * Added command rdilogenable
> 
>    Allows the user to log ADP packets that are exchanged between
>    gdb and the target.  Both the raw packets are shown and some
>    minimal decoding is attempted.  [new feature]
> 
>    Default state is disabled.
> 
>  * Added command rdilogfile
> 
>    Allows the user to specify the filename to which the ADP packet log
>    is to be written.  [new feature]
> 
>    Default state is "rdi.log".
> 
>  * Changed default names for Linux serial ports from /dev/cuan to
>    /dev/ttySn.
> 
>  * Added code to split the arguments to the 'target rdi' command at the
>    first space.  The first word is passed to Adp_OpenDevice as the
>    device name, the tail is passed as the "arguments" parameter.  This
>    allows user specified baud rates -- among other things that still
>    need to be documented [e.g. (gdb) target rdi /dev/ttyS1 19200].
> 
>    NB: With very limited testing, the ARM Embedded-ICE seems to run at
>    19.2K (though it is reported to be unreliable above 9600), and the
>    EPI Jeeni seems to run at 38.4K.
> 
>  * Renamed the file rdi-share/endian.h to rdi-share/anendian.h to prevent
>    shadowing of /usr/include/endian.h.  This was causing the wrong
>    byte order to be used by htons() in the RDI Ethernet driver.
> 
> 26 October 1999
> 
> Grant Edwards,
> Comtrol Corporation
> 
> ----------------------------------------------------------------------
> 
>   ------------------------------------------------------------------------
> 
>    gdbrdi.patchName: gdbrdi.patch
>                Type: Plain Text (text/plain)

-- 
Fernando Nasser
Cygnus Solutions - Toronto Office       E-Mail:  fnasser@cygnus.com
2323 Yonge Street, Suite #502           Tel:  416-482-3039
Toronto, Ontario   M4P 2C9              Fax:  416-482-6299

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]