dummy driver now works under eCos

git-svn-id: svn://svn.berlios.de/openocd/trunk@2268 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
oharboe 2009-06-17 10:51:34 +00:00
parent d727e31af9
commit 8d8937f1a6
6 changed files with 43 additions and 36 deletions

View File

@ -329,9 +329,13 @@ AC_ARG_ENABLE(amtjtagaccel,
[build_amtjtagaccel=$enableval], [build_amtjtagaccel=no])
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])
AC_ARG_ENABLE(zy1000,
AS_HELP_STRING([--enable-zy1000], [Enable ZY1000 interface]),
[build_zy1000=$enableval], [build_zy1000=no])
AC_ARG_ENABLE(ioutil,
AS_HELP_STRING([--enable-ioutil], [Enable ioutil functions - useful for standalone OpenOCD implementations]),
[build_ioutil=$enableval], [build_ioutil=no])
@ -400,7 +404,7 @@ AC_ARG_ENABLE(minidriver_dummy,
build_minidriver=no
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
AC_MSG_ERROR([Multiple minidriver options have been enabled.])
fi
@ -408,7 +412,7 @@ if test $build_ecosboard = yes; then
[Define to 1 if you have the <jtag_minidriver.h> header file.])
build_minidriver=yes
fi
AC_MSG_RESULT($build_ecosboard)
AC_MSG_RESULT($build_zy1000)
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.])
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
AC_DEFINE(BUILD_IOUTIL, 1, [1 if you want ioutils.])
else
@ -898,6 +908,7 @@ AM_CONDITIONAL(DUMMY, test $build_dummy = yes)
AM_CONDITIONAL(GIVEIO, test x$parport_use_giveio = xyes)
AM_CONDITIONAL(EP93XX, test $build_ep93xx = yes)
AM_CONDITIONAL(ECOSBOARD, test $build_ecosboard = yes)
AM_CONDITIONAL(ZY1000, test $build_zy1000 = yes)
AM_CONDITIONAL(IOUTIL, test $build_ioutil = yes)
AM_CONDITIONAL(HTTPD, test $build_httpd = yes)
AM_CONDITIONAL(AT91RM9200, test $build_at91rm9200 = yes)

View File

@ -191,7 +191,6 @@ int zy1000_configuration_output_handler_log(struct command_context_s *context,
}
#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)
{
@ -304,7 +303,7 @@ void format(void)
e.len = ds.dev_size;
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);
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)
{
// 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);
extern const char *zylin_config_dir;
static const char *zylin_config_dir="/config/settings";
int add_default_dirs(void)
{
@ -1551,3 +1548,26 @@ static int logfs_fo_close(struct CYG_FILE_TAG *fp)
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;
}

View File

@ -9,7 +9,7 @@ DRIVERFILES =
if MINIDRIVER
if ECOSBOARD
if ZY1000
DRIVERFILES += zy1000/zy1000.c
AM_CPPFLAGS += -I$(srcdir)/zy1000
endif

View File

@ -62,7 +62,7 @@
*/
typedef enum tap_state
{
#if BUILD_ECOSBOARD
#if BUILD_ZY1000
/* These are the old numbers. Leave as-is for now... */
TAP_RESET = 0, TAP_IDLE = 8,
TAP_DRSELECT = 1, TAP_DRCAPTURE = 2, TAP_DRSHIFT = 3, TAP_DREXIT1 = 4,

View File

@ -49,7 +49,7 @@ static const Jim_Nvp nvp_jtag_tap_event[] = {
/* jtag interfaces (parport, FTDI-USB, TI-USB, ...)
*/
#if BUILD_ECOSBOARD == 1
#if BUILD_ZY1000 == 1
extern jtag_interface_t zy1000_interface;
#elif defined(BUILD_MINIDRIVER_DUMMY)
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.
*/
jtag_interface_t *jtag_interfaces[] = {
#if BUILD_ECOSBOARD == 1
#if BUILD_ZY1000 == 1
&zy1000_interface,
#elif defined(BUILD_MINIDRIVER_DUMMY)
&minidummy_interface,

View File

@ -33,7 +33,6 @@
#define ZYLIN_TIME __TIME__
#define ZYLIN_OPENOCD "$Revision$"
#define ZYLIN_OPENOCD_VERSION "Zylin JTAG ZY1000 " ZYLIN_VERSION " " ZYLIN_DATE " " ZYLIN_TIME
const char *zylin_config_dir="/config/settings";
/* 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;
}