dummy driver now works under eCos
git-svn-id: svn://svn.berlios.de/openocd/trunk@2268 b42882b7-edfa-0310-969c-e2dbd0fdcd60__archive__
parent
d727e31af9
commit
8d8937f1a6
17
configure.in
17
configure.in
|
@ -329,9 +329,13 @@ AC_ARG_ENABLE(amtjtagaccel,
|
||||||
[build_amtjtagaccel=$enableval], [build_amtjtagaccel=no])
|
[build_amtjtagaccel=$enableval], [build_amtjtagaccel=no])
|
||||||
|
|
||||||
AC_ARG_ENABLE(ecosboard,
|
AC_ARG_ENABLE(ecosboard,
|
||||||
AS_HELP_STRING([--enable-ecosboard], [Enable building support for eCosBoard based JTAG debugger]),
|
AS_HELP_STRING([--enable-ecosboard], [Enable building support for eCos based JTAG debugger]),
|
||||||
[build_ecosboard=$enableval], [build_ecosboard=no])
|
[build_ecosboard=$enableval], [build_ecosboard=no])
|
||||||
|
|
||||||
|
AC_ARG_ENABLE(zy1000,
|
||||||
|
AS_HELP_STRING([--enable-zy1000], [Enable ZY1000 interface]),
|
||||||
|
[build_zy1000=$enableval], [build_zy1000=no])
|
||||||
|
|
||||||
AC_ARG_ENABLE(ioutil,
|
AC_ARG_ENABLE(ioutil,
|
||||||
AS_HELP_STRING([--enable-ioutil], [Enable ioutil functions - useful for standalone OpenOCD implementations]),
|
AS_HELP_STRING([--enable-ioutil], [Enable ioutil functions - useful for standalone OpenOCD implementations]),
|
||||||
[build_ioutil=$enableval], [build_ioutil=no])
|
[build_ioutil=$enableval], [build_ioutil=no])
|
||||||
|
@ -400,7 +404,7 @@ AC_ARG_ENABLE(minidriver_dummy,
|
||||||
|
|
||||||
build_minidriver=no
|
build_minidriver=no
|
||||||
AC_MSG_CHECKING([whether to enable ZY1000 minidriver])
|
AC_MSG_CHECKING([whether to enable ZY1000 minidriver])
|
||||||
if test $build_ecosboard = yes; then
|
if test $build_zy1000 = yes; then
|
||||||
if test $build_minidriver = yes; then
|
if test $build_minidriver = yes; then
|
||||||
AC_MSG_ERROR([Multiple minidriver options have been enabled.])
|
AC_MSG_ERROR([Multiple minidriver options have been enabled.])
|
||||||
fi
|
fi
|
||||||
|
@ -408,7 +412,7 @@ if test $build_ecosboard = yes; then
|
||||||
[Define to 1 if you have the <jtag_minidriver.h> header file.])
|
[Define to 1 if you have the <jtag_minidriver.h> header file.])
|
||||||
build_minidriver=yes
|
build_minidriver=yes
|
||||||
fi
|
fi
|
||||||
AC_MSG_RESULT($build_ecosboard)
|
AC_MSG_RESULT($build_zy1000)
|
||||||
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([whether to enable dummy minidriver])
|
AC_MSG_CHECKING([whether to enable dummy minidriver])
|
||||||
|
@ -527,6 +531,12 @@ else
|
||||||
AC_DEFINE(BUILD_ECOSBOARD, 0, [0 if you don't want eCosBoard.])
|
AC_DEFINE(BUILD_ECOSBOARD, 0, [0 if you don't want eCosBoard.])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if test $build_zy1000 = yes; then
|
||||||
|
AC_DEFINE(BUILD_ZY1000, 1, [1 if you want ZY1000.])
|
||||||
|
else
|
||||||
|
AC_DEFINE(BUILD_ZY1000, 0, [0 if you don't want ZY1000.])
|
||||||
|
fi
|
||||||
|
|
||||||
if test $build_ioutil = yes; then
|
if test $build_ioutil = yes; then
|
||||||
AC_DEFINE(BUILD_IOUTIL, 1, [1 if you want ioutils.])
|
AC_DEFINE(BUILD_IOUTIL, 1, [1 if you want ioutils.])
|
||||||
else
|
else
|
||||||
|
@ -898,6 +908,7 @@ AM_CONDITIONAL(DUMMY, test $build_dummy = yes)
|
||||||
AM_CONDITIONAL(GIVEIO, test x$parport_use_giveio = xyes)
|
AM_CONDITIONAL(GIVEIO, test x$parport_use_giveio = xyes)
|
||||||
AM_CONDITIONAL(EP93XX, test $build_ep93xx = yes)
|
AM_CONDITIONAL(EP93XX, test $build_ep93xx = yes)
|
||||||
AM_CONDITIONAL(ECOSBOARD, test $build_ecosboard = yes)
|
AM_CONDITIONAL(ECOSBOARD, test $build_ecosboard = yes)
|
||||||
|
AM_CONDITIONAL(ZY1000, test $build_zy1000 = yes)
|
||||||
AM_CONDITIONAL(IOUTIL, test $build_ioutil = yes)
|
AM_CONDITIONAL(IOUTIL, test $build_ioutil = yes)
|
||||||
AM_CONDITIONAL(HTTPD, test $build_httpd = yes)
|
AM_CONDITIONAL(HTTPD, test $build_httpd = yes)
|
||||||
AM_CONDITIONAL(AT91RM9200, test $build_at91rm9200 = yes)
|
AM_CONDITIONAL(AT91RM9200, test $build_at91rm9200 = yes)
|
||||||
|
|
|
@ -191,7 +191,6 @@ int zy1000_configuration_output_handler_log(struct command_context_s *context,
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CYGPKG_PROFILE_GPROF
|
#ifdef CYGPKG_PROFILE_GPROF
|
||||||
extern void start_profile(void);
|
|
||||||
|
|
||||||
int eCosBoard_handle_eCosBoard_profile_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
|
int eCosBoard_handle_eCosBoard_profile_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
|
||||||
{
|
{
|
||||||
|
@ -304,7 +303,7 @@ void format(void)
|
||||||
e.len = ds.dev_size;
|
e.len = ds.dev_size;
|
||||||
e.err_address = &err_addr;
|
e.err_address = &err_addr;
|
||||||
|
|
||||||
diag_printf("Formatting 0x%08x bytes\n", ds.dev_size);
|
diag_printf("Formatting 0x%08x bytes\n", (int)ds.dev_size);
|
||||||
err = cyg_io_get_config(handle, CYG_IO_GET_CONFIG_FLASH_ERASE, &e, &len);
|
err = cyg_io_get_config(handle, CYG_IO_GET_CONFIG_FLASH_ERASE, &e, &len);
|
||||||
if (err != ENOERR)
|
if (err != ENOERR)
|
||||||
{
|
{
|
||||||
|
@ -421,8 +420,6 @@ static int zylinjtag_Jim_Command_reboot(Jim_Interp *interp, int argc,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
extern Jim_Interp *interp;
|
|
||||||
|
|
||||||
static void zylinjtag_startNetwork(void)
|
static void zylinjtag_startNetwork(void)
|
||||||
{
|
{
|
||||||
// Bring TCP/IP up immediately before we're ready to accept commands.
|
// Bring TCP/IP up immediately before we're ready to accept commands.
|
||||||
|
@ -860,7 +857,7 @@ int boolParam(char *var);
|
||||||
|
|
||||||
command_context_t *setup_command_handler(void);
|
command_context_t *setup_command_handler(void);
|
||||||
|
|
||||||
extern const char *zylin_config_dir;
|
static const char *zylin_config_dir="/config/settings";
|
||||||
|
|
||||||
int add_default_dirs(void)
|
int add_default_dirs(void)
|
||||||
{
|
{
|
||||||
|
@ -1551,3 +1548,26 @@ static int logfs_fo_close(struct CYG_FILE_TAG *fp)
|
||||||
return ENOERR;
|
return ENOERR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int loadFile(const char *fileName, void **data, int *len);
|
||||||
|
|
||||||
|
/* boolean parameter stored on config */
|
||||||
|
int boolParam(char *var)
|
||||||
|
{
|
||||||
|
bool result = false;
|
||||||
|
char *name = alloc_printf("%s/%s", zylin_config_dir, var);
|
||||||
|
if (name == NULL)
|
||||||
|
return result;
|
||||||
|
|
||||||
|
void *data;
|
||||||
|
int len;
|
||||||
|
if (loadFile(name, &data, &len) == ERROR_OK)
|
||||||
|
{
|
||||||
|
if (len > 1)
|
||||||
|
len = 1;
|
||||||
|
result = strncmp((char *) data, "1", len) == 0;
|
||||||
|
free(data);
|
||||||
|
}
|
||||||
|
free(name);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ DRIVERFILES =
|
||||||
|
|
||||||
if MINIDRIVER
|
if MINIDRIVER
|
||||||
|
|
||||||
if ECOSBOARD
|
if ZY1000
|
||||||
DRIVERFILES += zy1000/zy1000.c
|
DRIVERFILES += zy1000/zy1000.c
|
||||||
AM_CPPFLAGS += -I$(srcdir)/zy1000
|
AM_CPPFLAGS += -I$(srcdir)/zy1000
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -62,7 +62,7 @@
|
||||||
*/
|
*/
|
||||||
typedef enum tap_state
|
typedef enum tap_state
|
||||||
{
|
{
|
||||||
#if BUILD_ECOSBOARD
|
#if BUILD_ZY1000
|
||||||
/* These are the old numbers. Leave as-is for now... */
|
/* These are the old numbers. Leave as-is for now... */
|
||||||
TAP_RESET = 0, TAP_IDLE = 8,
|
TAP_RESET = 0, TAP_IDLE = 8,
|
||||||
TAP_DRSELECT = 1, TAP_DRCAPTURE = 2, TAP_DRSHIFT = 3, TAP_DREXIT1 = 4,
|
TAP_DRSELECT = 1, TAP_DRCAPTURE = 2, TAP_DRSHIFT = 3, TAP_DREXIT1 = 4,
|
||||||
|
|
|
@ -49,7 +49,7 @@ static const Jim_Nvp nvp_jtag_tap_event[] = {
|
||||||
/* jtag interfaces (parport, FTDI-USB, TI-USB, ...)
|
/* jtag interfaces (parport, FTDI-USB, TI-USB, ...)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if BUILD_ECOSBOARD == 1
|
#if BUILD_ZY1000 == 1
|
||||||
extern jtag_interface_t zy1000_interface;
|
extern jtag_interface_t zy1000_interface;
|
||||||
#elif defined(BUILD_MINIDRIVER_DUMMY)
|
#elif defined(BUILD_MINIDRIVER_DUMMY)
|
||||||
extern jtag_interface_t minidummy_interface;
|
extern jtag_interface_t minidummy_interface;
|
||||||
|
@ -119,7 +119,7 @@ static const Jim_Nvp nvp_jtag_tap_event[] = {
|
||||||
* or some number of standard driver interfaces, never both.
|
* or some number of standard driver interfaces, never both.
|
||||||
*/
|
*/
|
||||||
jtag_interface_t *jtag_interfaces[] = {
|
jtag_interface_t *jtag_interfaces[] = {
|
||||||
#if BUILD_ECOSBOARD == 1
|
#if BUILD_ZY1000 == 1
|
||||||
&zy1000_interface,
|
&zy1000_interface,
|
||||||
#elif defined(BUILD_MINIDRIVER_DUMMY)
|
#elif defined(BUILD_MINIDRIVER_DUMMY)
|
||||||
&minidummy_interface,
|
&minidummy_interface,
|
||||||
|
|
|
@ -33,7 +33,6 @@
|
||||||
#define ZYLIN_TIME __TIME__
|
#define ZYLIN_TIME __TIME__
|
||||||
#define ZYLIN_OPENOCD "$Revision$"
|
#define ZYLIN_OPENOCD "$Revision$"
|
||||||
#define ZYLIN_OPENOCD_VERSION "Zylin JTAG ZY1000 " ZYLIN_VERSION " " ZYLIN_DATE " " ZYLIN_TIME
|
#define ZYLIN_OPENOCD_VERSION "Zylin JTAG ZY1000 " ZYLIN_VERSION " " ZYLIN_DATE " " ZYLIN_TIME
|
||||||
const char *zylin_config_dir="/config/settings";
|
|
||||||
|
|
||||||
/* low level command set
|
/* low level command set
|
||||||
*/
|
*/
|
||||||
|
@ -783,27 +782,4 @@ void embeddedice_write_dcc(jtag_tap_t *tap, int reg_addr, u8 *buffer, int little
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int loadFile(const char *fileName, void **data, int *len);
|
|
||||||
|
|
||||||
/* boolean parameter stored on config */
|
|
||||||
int boolParam(char *var)
|
|
||||||
{
|
|
||||||
bool result = false;
|
|
||||||
char *name = alloc_printf("%s/%s", zylin_config_dir, var);
|
|
||||||
if (name == NULL)
|
|
||||||
return result;
|
|
||||||
|
|
||||||
void *data;
|
|
||||||
int len;
|
|
||||||
if (loadFile(name, &data, &len) == ERROR_OK)
|
|
||||||
{
|
|
||||||
if (len > 1)
|
|
||||||
len = 1;
|
|
||||||
result = strncmp((char *) data, "1", len) == 0;
|
|
||||||
free(data);
|
|
||||||
}
|
|
||||||
free(name);
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue