From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6843 invoked by alias); 27 Oct 2003 19:47:04 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 6833 invoked from network); 27 Oct 2003 19:47:01 -0000 Received: from unknown (HELO marvin.codito.net) (203.197.88.2) by sources.redhat.com with SMTP; 27 Oct 2003 19:47:01 -0000 Received: from marvin.codito.net (localhost [127.0.0.1]) by marvin.codito.net (8.12.7/) with ESMTP id h9RJvga9019642; Tue, 28 Oct 2003 01:27:42 +0530 Received: (from www-data@localhost) by marvin.codito.net (8.12.7/8.12.6/Debian-8) id h9RJvg0C019640; Tue, 28 Oct 2003 01:27:42 +0530 X-Authentication-Warning: marvin.codito.net: www-data set sender to ramana.radhakrishnan@codito.com using -f Received: from 219.65.83.113 (SquirrelMail authenticated user ramana.radhakrishnan) by webmail.codito.com with HTTP; Tue, 28 Oct 2003 01:27:41 +0530 (IST) Message-ID: <1065.219.65.83.113.1067284661.squirrel@webmail.codito.com> In-Reply-To: <1067279633.1358.65.camel@And.Linux> References: <1067279633.1358.65.camel@And.Linux> Date: Mon, 27 Oct 2003 19:47:00 -0000 Subject: Re: GDB --> Ethernet --> RV-ICE From: "Ramana Radhakrishnan" To: "Andrew Batchelor" Cc: "GDB Newsgroup" Reply-To: ramana.radhakrishnan@codito.com User-Agent: SquirrelMail/1.4.2 MIME-Version: 1.0 Content-Type: text/plain;charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Priority: 3 Importance: Normal X-SW-Source: 2003-10/txt/msg00293.txt.bz2 Thus spake Andrew Batchelor Hi, > Okay, things have changed a little since last time. I now have to use > the Ethernet connection on the RV-ICE (there is no parallel port) to > connect to GDB. > > So, I'm now re-evaluating what I need to alter in GDB. > > As I understand it, I should be able to use the 'remote target > host:port" command in order to access the RV-ICE (as I can configure it > with any IP address I want). > > Now the RV-ICE connects to my target (an Evaluator 7T from ARM) via a > JTAG, but the protocol for speaking to the RV-ICE (RV-MSG) is very > different from the Remote Serial Protocol (RSP) GDB uses. You would need to add a new target that would talk to your RVICE in the format that it understands. Just as you have target remote , you also have target rdi / target angel etc. in gdb by which you can connect to other remote boards. So you would need to implement your own target structure. > I understand that GDB uses these stub files that run on the target in > order to implement the RSP on the target, but I think I'm going to need > something different - correct me if I'm wrong..... The stub files would be used only if the board does not have any on chip debug support.In your case I dont see any reason for having any stub files because the work of the stub in your case would be done by the JTAG onboard. > Some sort of buffer C file which acts as a streaming protocol converter, > so that, for example, when GDB requests to view a register, this C file > converts that command into an RV-MSG command and then sends that down > the Ethernet connection to the RV-ICE, that then talks to the target. > > Sound possible? As I see it your implementation is going to be simpler than any of the jtag implementations.You would essentially have to change the protocol packets in remote.c to send your protocol packets and I would guess you would be done. > > At the moment I'm trying to find out where GDB implements the following > procedures to see if they're compatible with this idea - can anyone > help? > > I need to find "intercept points" in the GDB C files so I can just jump > off to my other C file (or function header) which handles the RV-ICE > side. I'm not sure how easy this is going to be. I'll have to add > another switch to the command line maybe to tell it to use this > converter, but anyway, here are the procedures (they're all very basic > at this stage): > > 1) Connect/Disconnect to a processor > 2) Download a program > 3) View/Edit Processor Registers > 4) View/Edit Memory Contents > 5) Start/Stop Execution (and single step) You would have to implement each of the functions in the target structure.There is a provision for this. A reference implementation for this functionality would be the BDM patch to gdb for the coldfire . That would have provisions for all the above mentioned stuff. Hope this helps cheers Ramana ---- Ramana Radhakrishnan Codito Technologies