Re: Semihosting output on ARM7TDMI

Keith Seitz
2001-08-14T09:31:00Z

On Tue, 14 Aug 2001, Grant Edwards wrote:

> But, the RDI stuff isn't aware of gdb, and it would take some
> work to make it aware. It would be "a good thing" but somebody
> would have to want it bad enough to actuallly do it.

Isn't there already some machinery in place to do target I/O? You can
certainly do printf and the like on an arm board using rdi and gdb.

What do the the members writec, readc, write, gets in struct
Dbg_HostosInterface mean? Specifically:

/* Open a connection to a remote debugger. NAME is the filename used
for communication. */

static void
arm_rdi_open (char *name, int from_tty)
{
/* snip */
rslt = Adp_OpenDevice (devName, openArgs, rdi_heartbeat);

if (rslt != adp_ok)
error ("Could not open device \"%s\"", name);

gdb_config.bytesex = 2 | (TARGET_BYTE_ORDER == BIG_ENDIAN ? 1 : 0);
gdb_config.fpe = 1;
gdb_config.rditype = 2;
gdb_config.heartbeat_on = 1;
gdb_config.flags = 2;

gdb_hostif.dbgprint = myprint;
gdb_hostif.dbgpause = mypause;
gdb_hostif.dbgarg = NULL;
gdb_hostif.writec = mywritec;
gdb_hostif.readc = myreadc;
gdb_hostif.write = mywrite;
gdb_hostif.gets = mygets;
gdb_hostif.hostosarg = NULL;
gdb_hostif.reset = voiddummy;

rslt = angel_RDI_open (10, &gdb_config, &gdb_hostif, NULL);
/* snip */

Doesn't any of this deal with "semi-hosting"?

Keith