#include "minidriver.h"
#include "interface.h"
#include "interfaces.h"
+#include "tcl.h"
#ifdef HAVE_STRINGS_H
#include <strings.h>
}
} /* validate args */
+ assert(e == JIM_OK);
+
tap = jtag_tap_by_jim_obj(interp, args[1]);
if (tap == NULL) {
return JIM_ERR;
}
num_fields = (argc-2)/2;
+ assert(num_fields > 0);
fields = malloc(sizeof(struct scan_field) * num_fields);
for (i = 2; i < argc; i += 2)
{
return true;
}
-static int jim_jtag_tap_enabler(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
+int jim_jtag_tap_enabler(Jim_Interp *interp, int argc, Jim_Obj * const *argv)
{
const char *cmd_name = Jim_GetString(argv[0], NULL);
Jim_GetOptInfo goi;
if (strcasecmp(cmd_name, "tapisenabled") == 0) {
// do nothing, just return the value
} else if (strcasecmp(cmd_name, "tapenable") == 0) {
- if (!jtag_tap_enable(t))
+ if (!jtag_tap_enable(t)){
LOG_WARNING("failed to enable tap %s", t->dotted_name);
+ return JIM_ERR;
+ }
} else if (strcasecmp(cmd_name, "tapdisable") == 0) {
- if (!jtag_tap_disable(t))
+ if (!jtag_tap_disable(t)){
LOG_WARNING("failed to disable tap %s", t->dotted_name);
+ return JIM_ERR;
+ }
} else {
LOG_ERROR("command '%s' unknown", cmd_name);
return JIM_ERR;
return JIM_OK;
}
-static int jim_jtag_configure(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
+int jim_jtag_configure(Jim_Interp *interp, int argc, Jim_Obj * const *argv)
{
const char *cmd_name = Jim_GetString(argv[0], NULL);
Jim_GetOptInfo goi;
.mode = COMMAND_ANY,
.handler = handle_jtag_init_command,
.help = "initialize jtag scan chain",
+ .usage = ""
},
{
.name = "arp_init",
.handler = handle_scan_chain_command,
.mode = COMMAND_ANY,
.help = "print current scan chain configuration",
+ .usage = ""
},
{
.name = "jtag_reset",
.name = "jtag",
.mode = COMMAND_ANY,
.help = "perform jtag tap actions",
+ .usage = "",
.chain = jtag_subcommand_handlers,
},