* op50-rom.c, w89k-rom.c, monitor.c: Modify to use two variables
to set remote load type and protocol. * rom68k-rom.c: Add to_stop in target_ops.
This commit is contained in:
parent
f08a8281d3
commit
b3b8d9bfa7
@ -1,3 +1,9 @@
|
||||
Tue Nov 15 01:03:56 1994 Rob Savoye (rob@slipknot.cygnus.com)
|
||||
|
||||
* op50-rom.c, w89k-rom.c, monitor.c: Modify to usr two variables
|
||||
to set remote load type and protocol.
|
||||
* rom68k-rom.c: Add to_stop in target_ops.
|
||||
|
||||
Mon Nov 14 08:51:29 1994 Stu Grossman (grossman@cygnus.com)
|
||||
|
||||
* Makefile.in: Install gdbtk.tcl.
|
||||
|
@ -77,7 +77,9 @@ static serial_t monitor_desc = NULL;
|
||||
/* sets the download protocol, choices are srec, generic, boot */
|
||||
char *loadtype;
|
||||
static char *loadtype_str;
|
||||
static char *loadproto_str;
|
||||
static void set_loadtype_command();
|
||||
static void set_loadproto_command();
|
||||
static void monitor_load_srec();
|
||||
static int monitor_write_srec();
|
||||
|
||||
@ -127,6 +129,38 @@ set_loadtype_command (ignore, from_tty, c)
|
||||
free (tmp);
|
||||
error ("Loadtype \"%s\" does not exist.", (*(char **) c->var));
|
||||
}
|
||||
/*
|
||||
* set_loadproto_command -- set the protocol for downloading. Check to make
|
||||
* sure you have a supported protocol for this target.
|
||||
*/
|
||||
static void
|
||||
set_loadproto_command (ignore, from_tty, c)
|
||||
char *ignore;
|
||||
int from_tty;
|
||||
struct cmd_list_element *c;
|
||||
{
|
||||
char *tmp;
|
||||
char *type;
|
||||
if (STREQ (LOADPROTOS, "")) {
|
||||
error ("No load protocols set");
|
||||
return;
|
||||
}
|
||||
|
||||
tmp = savestring (LOADPROTOS, strlen(LOADPROTOS));
|
||||
type = strtok(tmp, ",");
|
||||
if (STREQ (type, (*(char **) c->var))) {
|
||||
loadproto_str = savestring (*(char **) c->var, strlen (*(char **) c->var));
|
||||
return;
|
||||
}
|
||||
|
||||
while ((type = strtok (NULL, ",")) != (char *)NULL) {
|
||||
if (STREQ (type, (*(char **) c->var)))
|
||||
loadproto_str = savestring (*(char **) c->var, strlen (*(char **) c->var));
|
||||
return;
|
||||
}
|
||||
free (tmp);
|
||||
error ("Load protocol \"%s\" does not exist.", (*(char **) c->var));
|
||||
}
|
||||
|
||||
/*
|
||||
* printf_monitor -- send data to monitor. Works just like printf.
|
||||
@ -642,7 +676,7 @@ get_reg_name (regno)
|
||||
static char buf[50];
|
||||
const char *p;
|
||||
char *b;
|
||||
|
||||
|
||||
b = buf;
|
||||
|
||||
if (regno < 0)
|
||||
@ -1253,7 +1287,7 @@ getacknak (byte)
|
||||
i = 0;
|
||||
while (i++ < 60) {
|
||||
character = (char)readchar (0);
|
||||
if (character == 0xfffffffe) { /* empty uart */
|
||||
if ((character == 0xfffffffe) || (character == 0x7f)) { /* empty uart */
|
||||
if (sr_get_debug() > 3)
|
||||
putchar ('.');
|
||||
fflush (stdout);
|
||||
@ -1474,11 +1508,18 @@ _initialize_remote_monitors ()
|
||||
struct cmd_list_element *c;
|
||||
|
||||
/* this sets the type of download protocol */
|
||||
c = add_set_cmd ("loadtype", no_class, var_string, (char *)&loadtype_str,
|
||||
c = add_set_cmd ("remoteloadprotocol", no_class, var_string, (char *)&loadproto_str,
|
||||
"Set the type of the remote load protocol.\n", &setlist);
|
||||
c->function.sfunc = set_loadproto_command;
|
||||
add_show_from_set (c, &showlist);
|
||||
loadproto_str = savestring ("none", 5);
|
||||
|
||||
/* this sets the conversion type when loading */
|
||||
c = add_set_cmd ("remoteloadtype", no_class, var_string, (char *)&loadtype_str,
|
||||
"Set the type of the remote load protocol.\n", &setlist);
|
||||
c->function.sfunc = set_loadtype_command;
|
||||
add_show_from_set (c, &showlist);
|
||||
loadtype_str = savestring ("default", 8);
|
||||
loadtype_str = savestring ("srec", 5);
|
||||
|
||||
add_show_from_set (add_set_cmd ("hash", no_class, var_boolean,
|
||||
(char *)&hashmark,
|
||||
|
@ -47,6 +47,7 @@ struct monitor_ops {
|
||||
char *cmd_end; /* optional command terminator */
|
||||
struct target_ops *target; /* target operations */
|
||||
char *loadtypes; /* the load types that are supported */
|
||||
char *loadprotos; /* the load protocols that are supported */
|
||||
char **regnames; /* array of register names in ascii */
|
||||
};
|
||||
|
||||
@ -54,6 +55,7 @@ extern struct monitor_ops *current_monitor;
|
||||
|
||||
#define PROTO_TYPE (current_monitor->type)
|
||||
#define LOADTYPES (current_monitor->loadtypes)
|
||||
#define LOADPROTOS (current_monitor->loadprotos)
|
||||
#define INIT_CMD (current_monitor->init)
|
||||
#define GO_CMD (current_monitor->execute)
|
||||
#define CONT_CMD (current_monitor->resume)
|
||||
|
@ -65,9 +65,8 @@ struct target_ops op50n_ops = {
|
||||
"Debug on a Oki OP50N eval board.\n\
|
||||
Specify the serial device it is connected to (e.g. /dev/ttya).",
|
||||
op50n_open,
|
||||
|
||||
monitor_close,
|
||||
0,
|
||||
monitor_attach,
|
||||
monitor_detach,
|
||||
monitor_resume,
|
||||
monitor_wait,
|
||||
@ -137,7 +136,8 @@ struct monitor_ops op50n_cmds = {
|
||||
" ", /* end-of-command delimitor */
|
||||
".\n", /* optional command terminator */
|
||||
&op50n_ops, /* target operations */
|
||||
"srec,ascii-srec,default", /* load types */
|
||||
"none,srec,default", /* load types */
|
||||
"none", /* load types */
|
||||
op50n_regnames
|
||||
};
|
||||
|
||||
|
@ -89,6 +89,7 @@ Specify the serial device it is connected to (e.g. /dev/ttya).",
|
||||
monitor_mourn_inferior,
|
||||
0, /* can_run */
|
||||
0, /* notice_signals */
|
||||
0, /* to_stop */
|
||||
process_stratum,
|
||||
0, /* next */
|
||||
1,
|
||||
@ -98,7 +99,7 @@ Specify the serial device it is connected to (e.g. /dev/ttya).",
|
||||
1, /* all mem, mem, stack, regs, exec */
|
||||
0,
|
||||
0, /* Section pointers */
|
||||
OPS_MAGIC, /* Always the last thing */
|
||||
OPS_MAGIC /* Always the last thing */
|
||||
};
|
||||
|
||||
struct monitor_ops rom68k_cmds = {
|
||||
@ -135,7 +136,8 @@ struct monitor_ops rom68k_cmds = {
|
||||
"=", /* end-of-command delimitor */
|
||||
".\n", /* optional command terminator */
|
||||
&rom68k_ops, /* target operations */
|
||||
"srec,xmodem-ascii,xmodem-srec,default",/* load types */
|
||||
"none,srec,default", /* load types */
|
||||
"none", /* load protocols */
|
||||
rom68k_regnames /* registers names */
|
||||
};
|
||||
|
||||
@ -158,7 +160,3 @@ _initialize_rom68k ()
|
||||
/* this is the default, since it's the only baud rate supported by the hardware */
|
||||
baud_rate = 9600;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,7 +1,6 @@
|
||||
/* Remote target glue for the WinBond ROM monitor running on the "Cougar"
|
||||
W89k eval board.
|
||||
|
||||
|
||||
Copyright 1988, 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GDB.
|
||||
@ -137,7 +136,8 @@ struct monitor_ops w89k_cmds = {
|
||||
"", /* end-of-command delimitor */
|
||||
"", /* optional command terminator */
|
||||
&w89k_ops, /* target operations */
|
||||
"srec,xmodem-ascii,xmodem-srec,default",/* load types */
|
||||
"none,srec,default", /* load types */
|
||||
"none,xmodem", /* load protocols */
|
||||
w89k_regnames /* registers names */
|
||||
};
|
||||
|
||||
@ -160,7 +160,3 @@ _initialize_w89k ()
|
||||
/* this is the default, since it's the only baud rate supported by the hardware */
|
||||
baud_rate = 9600;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user