#include "config.h"
#endif
+#define INCLUDE_JTAG_INTERFACE_H
#include "embeddedice.h"
+#include "minidriver.h"
#include "bitbang.h"
#include <cyg/hal/hal_io.h> // low level i/o
#include <cyg/hal/hal_diag.h>
-#define ZYLIN_VERSION "1.51"
+#define ZYLIN_VERSION "1.52"
#define ZYLIN_DATE __DATE__
#define ZYLIN_TIME __TIME__
#define ZYLIN_OPENOCD "$Revision$"
-
int interface_jtag_execute_queue(void)
{
cyg_uint32 empty;
}
-int interface_jtag_add_ir_scan(int num_fields, scan_field_t *fields, tap_state_t state)
+int interface_jtag_add_ir_scan(int num_fields, const scan_field_t *fields, tap_state_t state)
{
int j;
-int interface_jtag_add_plain_ir_scan(int num_fields, scan_field_t *fields, tap_state_t state)
+int interface_jtag_add_plain_ir_scan(int num_fields, const scan_field_t *fields, tap_state_t state)
{
scanFields(num_fields, fields, TAP_IRSHIFT, cmd_queue_end_state);
/*extern jtag_command_t **jtag_get_last_command_p(void);*/
-int interface_jtag_add_dr_scan(int num_fields, scan_field_t *fields, tap_state_t state)
+int interface_jtag_add_dr_scan(int num_fields, const scan_field_t *fields, tap_state_t state)
{
int j;
return ERROR_OK;
}
-int interface_jtag_add_plain_dr_scan(int num_fields, scan_field_t *fields, tap_state_t state)
+int interface_jtag_add_plain_dr_scan(int num_fields, const scan_field_t *fields, tap_state_t state)
{
scanFields(num_fields, fields, TAP_DRSHIFT, cmd_queue_end_state);
return ERROR_OK;
/* test manual drive code on any target */
int tms;
u8 tms_scan = tap_get_tms_path(t, state);
+ int tms_count = tap_get_tms_path_len(tap_get_state(), tap_get_end_state());
- for (i = 0; i < 7; i++)
+ for (i = 0; i < tms_count; i++)
{
tms = (tms_scan >> i) & 1;
waitIdle();
return ERROR_OK;
}
-int interface_jtag_add_pathmove(int num_states, tap_state_t *path)
+int interface_jtag_add_pathmove(int num_states, const tap_state_t *path)
{
int state_count;
int tms = 0;