Re: Remote Serial Protocol -- reply to '?' when target running
Michael Eager <[email protected]>
| Newsgroups | gmane.comp.gdb.devel |
|---|---|
| Message-ID | <[email protected]> |
On 08/09/2016 12:14 PM, Gareth McMullin wrote: > On Wed, Aug 10, 2016 at 5:33 AM, Michael Eager <[email protected]> wrote: >> >> When gdb connects to a remote target, it asks about >> features, and then sends a '?' packet, asking why the >> target is stopped. When the target connection is through >> a JTAG pod, the pod may be able to respond to the feature >> request, but not be able to determine what the current state of >> the target is, likely because it is not stopped. What should a >> JTAG pod reply in this case? >> >> The GDB Remote Protocol doc doesn't seem to be entirely consistent. >> >> The description for '?' is >> Indicate the reason the target halted. The reply is the >> same as for step and continue. >> >> The description for Stop Reply Packet says the following: >> The ‘C’, ‘c’, ‘S’, ‘s’, ‘vCont’, ‘vAttach’, ‘vRun’, ‘vStopped’, >> and ‘?’ packets can receive any of the below as a reply. Except >> for ‘?’ and ‘vStopped’, that reply is only returned when the >> target halts. >> >> This suggests that the target can reply to '?' even if it is not >> stopped, which seems to contradict the description for '?'. But >> none of the listed replies seem to be appropriate. None of the >> replies look like "Don't bother me, I'm busy". >> >> How should the JTAG pod respond? What do most do in this situation? > > I can't comment on others, but the Black Magic debug project that I maintain [1] > implements the extended-remote prototcol, and initially responds to > '?' with 'W00' indicating > the target exited (there is no attached target). The user initiates a > scan for connected > targets with 'monitor jtag_scan' from GDB, and then uses the GDB > 'attach' command > to connect, sending the 'vAttach' packet. This interrupts the target > and the reply comes > back as 'T05'. > > [1] https://github.com/blacksphere/blackmagic Thanks. -- Michael Eager [email protected] 1960 Park Blvd., Palo Alto, CA 94306 650-325-8077