Remove whitespace that occurs before ')'.
- Replace '[ \t]*[)]' with ')'. git-svn-id: svn://svn.berlios.de/openocd/trunk@2377 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
@@ -395,20 +395,20 @@ int amt_jtagaccel_get_giveio_access(void)
|
||||
OSVERSIONINFO version;
|
||||
|
||||
version.dwOSVersionInfoSize = sizeof version;
|
||||
if (!GetVersionEx(&version )) {
|
||||
if (!GetVersionEx(&version)) {
|
||||
errno = EINVAL;
|
||||
return -1;
|
||||
}
|
||||
if (version.dwPlatformId != VER_PLATFORM_WIN32_NT)
|
||||
return 0;
|
||||
|
||||
h = CreateFile("\\\\.\\giveio", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL );
|
||||
h = CreateFile("\\\\.\\giveio", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
|
||||
if (h == INVALID_HANDLE_VALUE) {
|
||||
errno = ENODEV;
|
||||
return -1;
|
||||
}
|
||||
|
||||
CloseHandle(h );
|
||||
CloseHandle(h);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -266,7 +266,7 @@ int bitbang_execute_queue(void)
|
||||
break;
|
||||
case JTAG_RUNTEST:
|
||||
#ifdef _DEBUG_JTAG_IO_
|
||||
LOG_DEBUG("runtest %i cycles, end in %s", cmd->cmd.runtest->num_cycles, tap_state_name(cmd->cmd.runtest->end_state) );
|
||||
LOG_DEBUG("runtest %i cycles, end in %s", cmd->cmd.runtest->num_cycles, tap_state_name(cmd->cmd.runtest->end_state));
|
||||
#endif
|
||||
bitbang_end_state(cmd->cmd.runtest->end_state);
|
||||
bitbang_runtest(cmd->cmd.runtest->num_cycles);
|
||||
@@ -295,7 +295,7 @@ int bitbang_execute_queue(void)
|
||||
break;
|
||||
case JTAG_SCAN:
|
||||
#ifdef _DEBUG_JTAG_IO_
|
||||
LOG_DEBUG("%s scan end in %s", (cmd->cmd.scan->ir_scan) ? "IR" : "DR", tap_state_name(cmd->cmd.scan->end_state) );
|
||||
LOG_DEBUG("%s scan end in %s", (cmd->cmd.scan->ir_scan) ? "IR" : "DR", tap_state_name(cmd->cmd.scan->end_state));
|
||||
#endif
|
||||
bitbang_end_state(cmd->cmd.scan->end_state);
|
||||
scan_size = jtag_build_buffer(cmd->cmd.scan, &buffer);
|
||||
|
||||
@@ -83,7 +83,7 @@ void bitq_in_proc(void)
|
||||
bitq_in_bufsize *= 2;
|
||||
}
|
||||
/* if necessary, allocate buffer and check for malloc error */
|
||||
if (bitq_in_buffer == NULL && (bitq_in_buffer = malloc(bitq_in_bufsize) ) == NULL)
|
||||
if (bitq_in_buffer == NULL && (bitq_in_buffer = malloc(bitq_in_bufsize)) == NULL)
|
||||
{
|
||||
LOG_ERROR("malloc error");
|
||||
exit(-1);
|
||||
@@ -95,7 +95,7 @@ void bitq_in_proc(void)
|
||||
/* field scanning */
|
||||
while (bitq_in_state.bit_pos < field->num_bits)
|
||||
{
|
||||
if ((tdo = bitq_interface->in() ) < 0 )
|
||||
if ((tdo = bitq_interface->in()) < 0)
|
||||
{
|
||||
#ifdef _DEBUG_JTAG_IO_
|
||||
LOG_DEBUG("bitq in EOF");
|
||||
@@ -131,7 +131,7 @@ void bitq_io(int tms, int tdi, int tdo_req)
|
||||
{
|
||||
bitq_interface->out(tms, tdi, tdo_req);
|
||||
/* check and process the input queue */
|
||||
if (bitq_interface->in_rdy() )
|
||||
if (bitq_interface->in_rdy())
|
||||
bitq_in_proc();
|
||||
}
|
||||
|
||||
@@ -184,14 +184,14 @@ void bitq_path_move(pathmove_command_t* cmd)
|
||||
else
|
||||
{
|
||||
LOG_ERROR("BUG: %s -> %s isn't a valid TAP transition", tap_state_name(
|
||||
tap_get_state() ), tap_state_name(cmd->path[i]) );
|
||||
tap_get_state()), tap_state_name(cmd->path[i]));
|
||||
exit(-1);
|
||||
}
|
||||
|
||||
tap_set_state(cmd->path[i]);
|
||||
}
|
||||
|
||||
tap_set_end_state(tap_get_state() );
|
||||
tap_set_end_state(tap_get_state());
|
||||
}
|
||||
|
||||
|
||||
@@ -208,8 +208,8 @@ void bitq_runtest(int num_cycles)
|
||||
bitq_io(0, 0, 0);
|
||||
|
||||
/* finish in end_state */
|
||||
if (tap_get_state() != tap_get_end_state() )
|
||||
bitq_state_move(tap_get_end_state() );
|
||||
if (tap_get_state() != tap_get_end_state())
|
||||
bitq_state_move(tap_get_end_state());
|
||||
}
|
||||
|
||||
|
||||
@@ -241,7 +241,7 @@ void bitq_scan_field(scan_field_t* field, int pause)
|
||||
out_ptr = field->out_value;
|
||||
for (bit_cnt = field->num_bits; bit_cnt > 1; bit_cnt--)
|
||||
{
|
||||
bitq_io(0, ((*out_ptr) & out_mask ) != 0, tdo_req);
|
||||
bitq_io(0, ((*out_ptr) & out_mask) != 0, tdo_req);
|
||||
if (out_mask == 0x80)
|
||||
{
|
||||
out_mask = 0x01;
|
||||
@@ -251,7 +251,7 @@ void bitq_scan_field(scan_field_t* field, int pause)
|
||||
out_mask <<= 1;
|
||||
}
|
||||
|
||||
bitq_io(pause, ((*out_ptr) & out_mask ) != 0, tdo_req);
|
||||
bitq_io(pause, ((*out_ptr) & out_mask) != 0, tdo_req);
|
||||
}
|
||||
|
||||
if (pause)
|
||||
@@ -298,12 +298,12 @@ int bitq_execute_queue(void)
|
||||
#ifdef _DEBUG_JTAG_IO_
|
||||
LOG_DEBUG("reset trst: %i srst %i", cmd->cmd.reset->trst, cmd->cmd.reset->srst);
|
||||
#endif
|
||||
if ((cmd->cmd.reset->trst == 1) || (cmd->cmd.reset->srst && (jtag_get_reset_config() & RESET_SRST_PULLS_TRST) ) )
|
||||
if ((cmd->cmd.reset->trst == 1) || (cmd->cmd.reset->srst && (jtag_get_reset_config() & RESET_SRST_PULLS_TRST)))
|
||||
{
|
||||
tap_set_state(TAP_RESET);
|
||||
}
|
||||
bitq_interface->reset(cmd->cmd.reset->trst, cmd->cmd.reset->srst);
|
||||
if (bitq_interface->in_rdy() )
|
||||
if (bitq_interface->in_rdy())
|
||||
bitq_in_proc();
|
||||
break;
|
||||
|
||||
@@ -320,7 +320,7 @@ int bitq_execute_queue(void)
|
||||
LOG_DEBUG("statemove end in %i", cmd->cmd.statemove->end_state);
|
||||
#endif
|
||||
bitq_end_state(cmd->cmd.statemove->end_state);
|
||||
bitq_state_move(tap_get_end_state() ); /* uncoditional TAP move */
|
||||
bitq_state_move(tap_get_end_state()); /* uncoditional TAP move */
|
||||
break;
|
||||
|
||||
case JTAG_PATHMOVE:
|
||||
@@ -341,8 +341,8 @@ int bitq_execute_queue(void)
|
||||
#endif
|
||||
bitq_end_state(cmd->cmd.scan->end_state);
|
||||
bitq_scan(cmd->cmd.scan);
|
||||
if (tap_get_state() != tap_get_end_state() )
|
||||
bitq_state_move(tap_get_end_state() );
|
||||
if (tap_get_state() != tap_get_end_state())
|
||||
bitq_state_move(tap_get_end_state());
|
||||
break;
|
||||
|
||||
case JTAG_SLEEP:
|
||||
@@ -350,7 +350,7 @@ int bitq_execute_queue(void)
|
||||
LOG_DEBUG("sleep %i", cmd->cmd.sleep->us);
|
||||
#endif
|
||||
bitq_interface->sleep(cmd->cmd.sleep->us);
|
||||
if (bitq_interface->in_rdy() )
|
||||
if (bitq_interface->in_rdy())
|
||||
bitq_in_proc();
|
||||
break;
|
||||
|
||||
|
||||
@@ -212,7 +212,7 @@ int jtag_build_buffer(const scan_command_t *cmd, uint8_t **buffer)
|
||||
}
|
||||
|
||||
#ifdef _DEBUG_JTAG_IO_
|
||||
//LOG_DEBUG("bit_count totalling: %i", bit_count );
|
||||
//LOG_DEBUG("bit_count totalling: %i", bit_count);
|
||||
#endif
|
||||
|
||||
return bit_count;
|
||||
|
||||
@@ -505,16 +505,16 @@ int jtag_add_statemove(tap_state_t goal_state)
|
||||
|
||||
LOG_DEBUG("cur_state=%s goal_state=%s",
|
||||
tap_state_name(cur_state),
|
||||
tap_state_name(goal_state) );
|
||||
tap_state_name(goal_state));
|
||||
|
||||
|
||||
if (goal_state == cur_state )
|
||||
if (goal_state == cur_state)
|
||||
; /* nothing to do */
|
||||
else if (goal_state == TAP_RESET )
|
||||
else if (goal_state == TAP_RESET)
|
||||
{
|
||||
jtag_add_tlr();
|
||||
}
|
||||
else if (tap_is_state_stable(cur_state) && tap_is_state_stable(goal_state) )
|
||||
else if (tap_is_state_stable(cur_state) && tap_is_state_stable(goal_state))
|
||||
{
|
||||
unsigned tms_bits = tap_get_tms_path(cur_state, goal_state);
|
||||
unsigned tms_count = tap_get_tms_path_len(cur_state, goal_state);
|
||||
@@ -532,7 +532,7 @@ int jtag_add_statemove(tap_state_t goal_state)
|
||||
jtag_add_pathmove(tms_count, moves);
|
||||
}
|
||||
else if (tap_state_transition(cur_state, true) == goal_state
|
||||
|| tap_state_transition(cur_state, false) == goal_state )
|
||||
|| tap_state_transition(cur_state, false) == goal_state)
|
||||
{
|
||||
jtag_add_pathmove(1, &goal_state);
|
||||
}
|
||||
@@ -868,7 +868,7 @@ static void jtag_examine_chain_display(enum log_levels level, const char *msg,
|
||||
(unsigned int)idcode,
|
||||
(unsigned int)EXTRACT_MFG(idcode),
|
||||
(unsigned int)EXTRACT_PART(idcode),
|
||||
(unsigned int)EXTRACT_VER(idcode) );
|
||||
(unsigned int)EXTRACT_VER(idcode));
|
||||
}
|
||||
|
||||
static bool jtag_idcode_is_final(uint32_t idcode)
|
||||
@@ -1026,7 +1026,7 @@ int jtag_validate_chain(void)
|
||||
total_ir_length = 0;
|
||||
for (;;){
|
||||
tap = jtag_tap_next_enabled(tap);
|
||||
if (tap == NULL ){
|
||||
if (tap == NULL){
|
||||
break;
|
||||
}
|
||||
total_ir_length += tap->ir_length;
|
||||
@@ -1050,7 +1050,7 @@ int jtag_validate_chain(void)
|
||||
int val;
|
||||
for (;;){
|
||||
tap = jtag_tap_next_enabled(tap);
|
||||
if (tap == NULL ){
|
||||
if (tap == NULL){
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1151,7 +1151,7 @@ static int jtag_init_inner(struct command_context_s *cmd_ctx)
|
||||
LOG_DEBUG("Init JTAG chain");
|
||||
|
||||
tap = jtag_tap_next_enabled(NULL);
|
||||
if (tap == NULL ){
|
||||
if (tap == NULL){
|
||||
LOG_ERROR("There are no enabled taps?");
|
||||
return ERROR_JTAG_INIT_FAILED;
|
||||
}
|
||||
|
||||
@@ -418,7 +418,7 @@ int interface_jtag_add_runtest(int num_cycles, tap_state_t state)
|
||||
return ERROR_OK;
|
||||
}
|
||||
|
||||
int interface_jtag_add_clocks(int num_cycles )
|
||||
int interface_jtag_add_clocks(int num_cycles)
|
||||
{
|
||||
/* allocate memory for a new list member */
|
||||
jtag_command_t * cmd = cmd_queue_alloc(sizeof(jtag_command_t));
|
||||
|
||||
@@ -85,22 +85,22 @@ static int dummy_read(void)
|
||||
static void dummy_write(int tck, int tms, int tdi)
|
||||
{
|
||||
/* TAP standard: "state transitions occur on rising edge of clock" */
|
||||
if (tck != dummy_clock )
|
||||
if (tck != dummy_clock)
|
||||
{
|
||||
if (tck )
|
||||
if (tck)
|
||||
{
|
||||
tap_state_t old_state = dummy_state;
|
||||
dummy_state = tap_state_transition(old_state, tms );
|
||||
dummy_state = tap_state_transition(old_state, tms);
|
||||
|
||||
if (old_state != dummy_state )
|
||||
if (old_state != dummy_state)
|
||||
{
|
||||
if (clock_count )
|
||||
if (clock_count)
|
||||
{
|
||||
LOG_DEBUG("dummy_tap: %d stable clocks", clock_count);
|
||||
clock_count = 0;
|
||||
}
|
||||
|
||||
LOG_DEBUG("dummy_tap: %s", tap_state_name(dummy_state) );
|
||||
LOG_DEBUG("dummy_tap: %s", tap_state_name(dummy_state));
|
||||
|
||||
#if defined(DEBUG)
|
||||
if (dummy_state == TAP_DRCAPTURE)
|
||||
@@ -126,7 +126,7 @@ static void dummy_reset(int trst, int srst)
|
||||
if (trst || (srst && (jtag_get_reset_config() & RESET_SRST_PULLS_TRST)))
|
||||
dummy_state = TAP_RESET;
|
||||
|
||||
LOG_DEBUG("reset to: %s", tap_state_name(dummy_state) );
|
||||
LOG_DEBUG("reset to: %s", tap_state_name(dummy_state));
|
||||
}
|
||||
|
||||
static int dummy_khz(int khz, int *jtag_speed)
|
||||
|
||||
@@ -1588,7 +1588,7 @@ static int ft2232_execute_pathmove(jtag_command_t *cmd)
|
||||
DEBUG_JTAG_IO("pathmove: %i states, current: %s end: %s", num_states,
|
||||
tap_state_name(tap_get_state()),
|
||||
tap_state_name(path[num_states-1])
|
||||
);
|
||||
);
|
||||
|
||||
/* only send the maximum buffer size that FT2232C can handle */
|
||||
predicted_size = 3 * CEIL(num_states, 7);
|
||||
|
||||
@@ -422,20 +422,20 @@ static int gw16012_get_giveio_access(void)
|
||||
OSVERSIONINFO version;
|
||||
|
||||
version.dwOSVersionInfoSize = sizeof version;
|
||||
if (!GetVersionEx(&version )) {
|
||||
if (!GetVersionEx(&version)) {
|
||||
errno = EINVAL;
|
||||
return -1;
|
||||
}
|
||||
if (version.dwPlatformId != VER_PLATFORM_WIN32_NT)
|
||||
return 0;
|
||||
|
||||
h = CreateFile("\\\\.\\giveio", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL );
|
||||
h = CreateFile("\\\\.\\giveio", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
|
||||
if (h == INVALID_HANDLE_VALUE) {
|
||||
errno = ENODEV;
|
||||
return -1;
|
||||
}
|
||||
|
||||
CloseHandle(h );
|
||||
CloseHandle(h);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -524,7 +524,7 @@ static int gw16012_init_device(void)
|
||||
LOG_WARNING("No gw16012 port specified, using default '0x378' (LPT1)");
|
||||
}
|
||||
|
||||
LOG_DEBUG("requesting privileges for parallel port 0x%lx...", (long unsigned)(gw16012_port) );
|
||||
LOG_DEBUG("requesting privileges for parallel port 0x%lx...", (long unsigned)(gw16012_port));
|
||||
#if PARPORT_USE_GIVEIO == 1
|
||||
if (gw16012_get_giveio_access() != 0)
|
||||
#else /* PARPORT_USE_GIVEIO */
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
*/
|
||||
static tap_state_t state_follower = TAP_RESET;
|
||||
|
||||
void tap_set_state_impl(tap_state_t new_state )
|
||||
void tap_set_state_impl(tap_state_t new_state)
|
||||
{
|
||||
/* this is the state we think the TAPs are in now, was cur_state */
|
||||
state_follower = new_state;
|
||||
@@ -57,7 +57,7 @@ tap_state_t tap_get_state()
|
||||
*/
|
||||
static tap_state_t end_state_follower = TAP_RESET;
|
||||
|
||||
void tap_set_end_state(tap_state_t new_end_state )
|
||||
void tap_set_end_state(tap_state_t new_end_state)
|
||||
{
|
||||
/* this is the state we think the TAPs will be in at completion of the
|
||||
current TAP operation, was end_state
|
||||
@@ -71,13 +71,13 @@ tap_state_t tap_get_end_state()
|
||||
}
|
||||
|
||||
|
||||
int tap_move_ndx(tap_state_t astate )
|
||||
int tap_move_ndx(tap_state_t astate)
|
||||
{
|
||||
/* given a stable state, return the index into the tms_seqs[] array within tap_get_tms_path() */
|
||||
|
||||
int ndx;
|
||||
|
||||
switch (astate )
|
||||
switch (astate)
|
||||
{
|
||||
case TAP_RESET: ndx = 0; break;
|
||||
case TAP_DRSHIFT: ndx = 2; break;
|
||||
@@ -86,7 +86,7 @@ int tap_move_ndx(tap_state_t astate )
|
||||
case TAP_IRSHIFT: ndx = 4; break;
|
||||
case TAP_IRPAUSE: ndx = 5; break;
|
||||
default:
|
||||
LOG_ERROR("fatal: unstable state \"%s\" used in tap_move_ndx()", tap_state_name(astate) );
|
||||
LOG_ERROR("fatal: unstable state \"%s\" used in tap_move_ndx()", tap_state_name(astate));
|
||||
exit(1);
|
||||
}
|
||||
|
||||
@@ -193,13 +193,13 @@ typedef const struct tms_sequences tms_table[6][6];
|
||||
|
||||
static tms_table *tms_seqs=&short_tms_seqs;
|
||||
|
||||
int tap_get_tms_path(tap_state_t from, tap_state_t to )
|
||||
int tap_get_tms_path(tap_state_t from, tap_state_t to)
|
||||
{
|
||||
return (*tms_seqs)[tap_move_ndx(from)][tap_move_ndx(to)].bits;
|
||||
}
|
||||
|
||||
|
||||
int tap_get_tms_path_len(tap_state_t from, tap_state_t to )
|
||||
int tap_get_tms_path_len(tap_state_t from, tap_state_t to)
|
||||
{
|
||||
return (*tms_seqs)[tap_move_ndx(from)][tap_move_ndx(to)].bit_count;
|
||||
}
|
||||
@@ -212,7 +212,7 @@ bool tap_is_state_stable(tap_state_t astate)
|
||||
/* A switch () is used because it is symbol dependent
|
||||
(not value dependent like an array), and can also check bounds.
|
||||
*/
|
||||
switch (astate )
|
||||
switch (astate)
|
||||
{
|
||||
case TAP_RESET:
|
||||
case TAP_IDLE:
|
||||
@@ -278,7 +278,7 @@ tap_state_t tap_state_transition(tap_state_t cur_state, bool tms)
|
||||
new_state = TAP_IREXIT2;
|
||||
break;
|
||||
default:
|
||||
LOG_ERROR("fatal: invalid argument cur_state=%d", cur_state );
|
||||
LOG_ERROR("fatal: invalid argument cur_state=%d", cur_state);
|
||||
exit(1);
|
||||
break;
|
||||
}
|
||||
@@ -318,7 +318,7 @@ tap_state_t tap_state_transition(tap_state_t cur_state, bool tms)
|
||||
new_state = TAP_IRPAUSE;
|
||||
break;
|
||||
default:
|
||||
LOG_ERROR("fatal: invalid argument cur_state=%d", cur_state );
|
||||
LOG_ERROR("fatal: invalid argument cur_state=%d", cur_state);
|
||||
exit(1);
|
||||
break;
|
||||
}
|
||||
@@ -331,7 +331,7 @@ const char* tap_state_name(tap_state_t state)
|
||||
{
|
||||
const char* ret;
|
||||
|
||||
switch (state )
|
||||
switch (state)
|
||||
{
|
||||
case TAP_RESET: ret = "RESET"; break;
|
||||
case TAP_IDLE: ret = "RUN/IDLE"; break;
|
||||
@@ -359,9 +359,9 @@ tap_state_t tap_state_by_name(const char *name)
|
||||
{
|
||||
tap_state_t x;
|
||||
|
||||
for (x = 0 ; x < TAP_NUM_STATES ; x++ ){
|
||||
for (x = 0 ; x < TAP_NUM_STATES ; x++){
|
||||
/* be nice to the human */
|
||||
if (0 == strcasecmp(name, tap_state_name(x) ) ){
|
||||
if (0 == strcasecmp(name, tap_state_name(x))){
|
||||
return x;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,7 +59,7 @@ void tap_set_state_impl(tap_state_t new_state);
|
||||
#if defined(_DEBUG_JTAG_IO_)
|
||||
#define tap_set_state(new_state) \
|
||||
do { \
|
||||
LOG_DEBUG("tap_set_state(%s)", tap_state_name(new_state) ); \
|
||||
LOG_DEBUG("tap_set_state(%s)", tap_state_name(new_state)); \
|
||||
tap_set_state_impl(new_state); \
|
||||
} while (0)
|
||||
#else
|
||||
|
||||
@@ -263,20 +263,20 @@ static int parport_get_giveio_access(void)
|
||||
OSVERSIONINFO version;
|
||||
|
||||
version.dwOSVersionInfoSize = sizeof version;
|
||||
if (!GetVersionEx(&version )) {
|
||||
if (!GetVersionEx(&version)) {
|
||||
errno = EINVAL;
|
||||
return -1;
|
||||
}
|
||||
if (version.dwPlatformId != VER_PLATFORM_WIN32_NT)
|
||||
return 0;
|
||||
|
||||
h = CreateFile("\\\\.\\giveio", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL );
|
||||
h = CreateFile("\\\\.\\giveio", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
|
||||
if (h == INVALID_HANDLE_VALUE) {
|
||||
errno = ENODEV;
|
||||
return -1;
|
||||
}
|
||||
|
||||
CloseHandle(h );
|
||||
CloseHandle(h);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -41,11 +41,11 @@
|
||||
|
||||
#define DTC_CMD_SHIFT_TMS_TDI_BIT_PAIR(tms, tdi, tdo) ((0x8 << 4) | (\
|
||||
(tms) ? (1 << 0) : 0 \
|
||||
) | (\
|
||||
) | (\
|
||||
(tdi) ? (1 << 1) : 0 \
|
||||
) | (\
|
||||
) | (\
|
||||
(tdo) ? (1 << 3) : 0 \
|
||||
))
|
||||
))
|
||||
/* Single bit shift. */
|
||||
/* tms and tdi are the levels shifted out on TMS and TDI, respectively. */
|
||||
/* tdo indicates whether a byte will be returned in the reply buffer with its least significant bit set to reflect TDO */
|
||||
|
||||
@@ -137,14 +137,14 @@ ep1_generic_commandl(
|
||||
usb_buffer_p,
|
||||
0,
|
||||
sizeof(usb_buffer) - (usb_buffer_p - usb_buffer)
|
||||
);
|
||||
);
|
||||
|
||||
usb_ret = usb_bulk_write(
|
||||
pHDev,
|
||||
USB_EP1OUT_ADDR,
|
||||
(char *)usb_buffer, sizeof(usb_buffer),
|
||||
USB_TIMEOUT_MS
|
||||
);
|
||||
);
|
||||
|
||||
return(usb_ret);
|
||||
}
|
||||
@@ -170,7 +170,7 @@ ep1_memory_read(
|
||||
usb_buffer + 4,
|
||||
0,
|
||||
sizeof(usb_buffer) - 4
|
||||
);
|
||||
);
|
||||
|
||||
remain = length;
|
||||
count = 0;
|
||||
@@ -190,7 +190,7 @@ ep1_memory_read(
|
||||
pHDev, USB_EP1OUT_ADDR,
|
||||
usb_buffer, sizeof(usb_buffer),
|
||||
USB_TIMEOUT_MS
|
||||
);
|
||||
);
|
||||
|
||||
if (usb_ret < sizeof(usb_buffer)) {
|
||||
break;
|
||||
@@ -200,7 +200,7 @@ ep1_memory_read(
|
||||
pHDev, USB_EP1IN_ADDR,
|
||||
buffer, length,
|
||||
USB_TIMEOUT_MS
|
||||
);
|
||||
);
|
||||
|
||||
if (usb_ret < length) {
|
||||
break;
|
||||
@@ -250,18 +250,18 @@ ep1_memory_write(
|
||||
usb_buffer + 4,
|
||||
buffer,
|
||||
length
|
||||
);
|
||||
);
|
||||
memset(
|
||||
usb_buffer + 4 + length,
|
||||
0,
|
||||
sizeof(usb_buffer) - 4 - length
|
||||
);
|
||||
);
|
||||
|
||||
usb_ret = usb_bulk_write(
|
||||
pHDev, USB_EP1OUT_ADDR,
|
||||
(char *)usb_buffer, sizeof(usb_buffer),
|
||||
USB_TIMEOUT_MS
|
||||
);
|
||||
);
|
||||
|
||||
if ((size_t)usb_ret < sizeof(usb_buffer)) {
|
||||
break;
|
||||
@@ -345,7 +345,7 @@ dtc_load_from_buffer(
|
||||
usb_err = ep1_generic_commandl(
|
||||
pHDev, 1,
|
||||
EP1_CMD_DTC_STOP
|
||||
);
|
||||
);
|
||||
if (usb_err < 0) return(usb_err);
|
||||
|
||||
while (length) {
|
||||
@@ -380,7 +380,7 @@ dtc_load_from_buffer(
|
||||
pHDev,
|
||||
DTC_LOAD_BUFFER,
|
||||
header->length + 1, buffer
|
||||
);
|
||||
);
|
||||
if (usb_err < 0) return(usb_err);
|
||||
|
||||
/* Load it into the DTC. */
|
||||
@@ -389,7 +389,7 @@ dtc_load_from_buffer(
|
||||
EP1_CMD_DTC_LOAD,
|
||||
(DTC_LOAD_BUFFER >> 8),
|
||||
DTC_LOAD_BUFFER
|
||||
);
|
||||
);
|
||||
if (usb_err < 0) return(usb_err);
|
||||
|
||||
break;
|
||||
@@ -400,7 +400,7 @@ dtc_load_from_buffer(
|
||||
EP1_CMD_DTC_CALL,
|
||||
buffer[0],
|
||||
EP1_CMD_DTC_WAIT
|
||||
);
|
||||
);
|
||||
if (usb_err < 0) return(usb_err);
|
||||
|
||||
break;
|
||||
@@ -414,7 +414,7 @@ dtc_load_from_buffer(
|
||||
pHDev,
|
||||
ST7_USB_BUF_EP0OUT + lut_start,
|
||||
header->length + 1, buffer
|
||||
);
|
||||
);
|
||||
if (usb_err < 0) return(usb_err);
|
||||
break;
|
||||
|
||||
@@ -452,7 +452,7 @@ dtc_start_download(void) {
|
||||
ST7_EP2TXR >> 8,
|
||||
ST7_EP2TXR,
|
||||
1
|
||||
);
|
||||
);
|
||||
if (usb_err < 0) return(usb_err);
|
||||
|
||||
/* read back ep2txr */
|
||||
@@ -460,7 +460,7 @@ dtc_start_download(void) {
|
||||
pHDev, USB_EP1IN_ADDR,
|
||||
(char *)&ep2txr, 1,
|
||||
USB_TIMEOUT_MS
|
||||
);
|
||||
);
|
||||
if (usb_err < 0) return(usb_err);
|
||||
|
||||
usb_err = ep1_generic_commandl(
|
||||
@@ -479,7 +479,7 @@ dtc_start_download(void) {
|
||||
EP1_CMD_DTC_CALL, /* start running the DTC */
|
||||
dtc_entry_download,
|
||||
EP1_CMD_DTC_GET_CACHED_STATUS
|
||||
);
|
||||
);
|
||||
if (usb_err < 0) return(usb_err);
|
||||
|
||||
/* wait for completion */
|
||||
@@ -487,7 +487,7 @@ dtc_start_download(void) {
|
||||
pHDev, USB_EP1IN_ADDR,
|
||||
(char *)&ep2txr, 1,
|
||||
USB_TIMEOUT_MS
|
||||
);
|
||||
);
|
||||
|
||||
return(usb_err);
|
||||
}
|
||||
@@ -513,7 +513,7 @@ dtc_run_download(
|
||||
USB_EP2OUT_ADDR,
|
||||
(char *)command_buffer, USB_EP2BANK_SIZE,
|
||||
USB_TIMEOUT_MS
|
||||
);
|
||||
);
|
||||
if (usb_err < 0) return(usb_err);
|
||||
|
||||
|
||||
@@ -526,7 +526,7 @@ dtc_run_download(
|
||||
DTC_STATUS_POLL_BYTE >> 8,
|
||||
DTC_STATUS_POLL_BYTE,
|
||||
1
|
||||
);
|
||||
);
|
||||
if (usb_err < 0) return(usb_err);
|
||||
|
||||
usb_err = usb_bulk_read(
|
||||
@@ -534,7 +534,7 @@ dtc_run_download(
|
||||
USB_EP1IN_ADDR,
|
||||
(char *)ep2_buffer, 1,
|
||||
USB_TIMEOUT_MS
|
||||
);
|
||||
);
|
||||
if (usb_err < 0) return(usb_err);
|
||||
|
||||
if (ep2_buffer[0] & 0x01) break;
|
||||
@@ -542,7 +542,7 @@ dtc_run_download(
|
||||
if (!--i) {
|
||||
LOG_ERROR("%s, %d: too many retries waiting for DTC status\n",
|
||||
__FILE__, __LINE__
|
||||
);
|
||||
);
|
||||
return(-ETIMEDOUT);
|
||||
}
|
||||
}
|
||||
@@ -555,12 +555,12 @@ dtc_run_download(
|
||||
USB_EP2IN_ADDR,
|
||||
(char *)ep2_buffer, sizeof(ep2_buffer),
|
||||
USB_TIMEOUT_MS
|
||||
);
|
||||
);
|
||||
|
||||
if (usb_err < (int)sizeof(ep2_buffer)) {
|
||||
LOG_ERROR("%s, %d: Read of endpoint 2 returned %d\n",
|
||||
__FILE__, __LINE__, usb_err
|
||||
);
|
||||
);
|
||||
return(usb_err);
|
||||
}
|
||||
|
||||
@@ -692,7 +692,7 @@ dtc_queue_run(void) {
|
||||
usb_err = dtc_run_download(pHDev,
|
||||
dtc_queue.cmd_buffer, dtc_queue.cmd_index,
|
||||
NULL, 0
|
||||
);
|
||||
);
|
||||
if (usb_err < 0) {
|
||||
LOG_ERROR("dtc_run_download: %s\n", usb_strerror());
|
||||
exit(1);
|
||||
@@ -701,7 +701,7 @@ dtc_queue_run(void) {
|
||||
usb_err = dtc_run_download(pHDev,
|
||||
dtc_queue.cmd_buffer, dtc_queue.cmd_index,
|
||||
reply_buffer, dtc_queue.reply_index
|
||||
);
|
||||
);
|
||||
if (usb_err < 0) {
|
||||
LOG_ERROR("dtc_run_download: %s\n", usb_strerror());
|
||||
exit(1);
|
||||
@@ -715,7 +715,7 @@ dtc_queue_run(void) {
|
||||
rq_p = dtc_queue.rq_head;
|
||||
rq_p != NULL;
|
||||
rq_p = rq_next
|
||||
) {
|
||||
) {
|
||||
tdo_p = rq_p->scan.buffer + (rq_p->scan.offset / 8);
|
||||
tdo_mask = 1 << (rq_p->scan.offset % 8);
|
||||
|
||||
@@ -730,7 +730,7 @@ dtc_queue_run(void) {
|
||||
;
|
||||
bit_cnt;
|
||||
bit_cnt--
|
||||
) {
|
||||
) {
|
||||
if (*dtc_p & dtc_mask) {
|
||||
*tdo_p |= tdo_mask;
|
||||
} else {
|
||||
@@ -755,9 +755,9 @@ dtc_queue_run(void) {
|
||||
x = *dtc_p++;
|
||||
if ((
|
||||
rq_p->scan.type == SCAN_IN
|
||||
) && (
|
||||
) && (
|
||||
rq_p->scan.offset != rq_p->scan.size - 1
|
||||
)) {
|
||||
)) {
|
||||
/* extra bits were sent as a full byte with padding on the end */
|
||||
dtc_mask = 1 << (8 - 1);
|
||||
} else {
|
||||
@@ -768,7 +768,7 @@ dtc_queue_run(void) {
|
||||
;
|
||||
bit_cnt;
|
||||
bit_cnt--
|
||||
) {
|
||||
) {
|
||||
if (x & dtc_mask) {
|
||||
*tdo_p |= tdo_mask;
|
||||
} else {
|
||||
@@ -1004,7 +1004,7 @@ void rlink_reset(int trst, int srst)
|
||||
ST7_PADR >> 8,
|
||||
ST7_PADR,
|
||||
1
|
||||
);
|
||||
);
|
||||
if (usb_err < 0) {
|
||||
LOG_ERROR("%s", usb_strerror());
|
||||
exit(1);
|
||||
@@ -1014,7 +1014,7 @@ void rlink_reset(int trst, int srst)
|
||||
pHDev, USB_EP1IN_ADDR,
|
||||
(char *)&bitmap, 1,
|
||||
USB_TIMEOUT_MS
|
||||
);
|
||||
);
|
||||
if (usb_err < 1) {
|
||||
LOG_ERROR("%s", usb_strerror());
|
||||
exit(1);
|
||||
@@ -1039,7 +1039,7 @@ void rlink_reset(int trst, int srst)
|
||||
ST7_PBDDR >> 8,
|
||||
ST7_PBDDR,
|
||||
1
|
||||
);
|
||||
);
|
||||
if (usb_err < 0) {
|
||||
LOG_ERROR("%s", usb_strerror());
|
||||
exit(1);
|
||||
@@ -1049,7 +1049,7 @@ void rlink_reset(int trst, int srst)
|
||||
pHDev, USB_EP1IN_ADDR,
|
||||
(char *)&bitmap, 1,
|
||||
USB_TIMEOUT_MS
|
||||
);
|
||||
);
|
||||
if (usb_err < 1) {
|
||||
LOG_ERROR("%s", usb_strerror());
|
||||
exit(1);
|
||||
@@ -1070,7 +1070,7 @@ void rlink_reset(int trst, int srst)
|
||||
1,
|
||||
bitmap,
|
||||
EP1_CMD_DTC_GET_CACHED_STATUS
|
||||
);
|
||||
);
|
||||
if (usb_err < 0) {
|
||||
LOG_ERROR("%s", usb_strerror());
|
||||
exit(1);
|
||||
@@ -1080,7 +1080,7 @@ void rlink_reset(int trst, int srst)
|
||||
pHDev, USB_EP1IN_ADDR,
|
||||
(char *)&bitmap, 1,
|
||||
USB_TIMEOUT_MS
|
||||
);
|
||||
);
|
||||
if (usb_err < 1) {
|
||||
LOG_ERROR("%s", usb_strerror());
|
||||
exit(1);
|
||||
@@ -1120,7 +1120,7 @@ rlink_scan(
|
||||
(!ir_scan && (tap_get_state() == TAP_DRSHIFT))
|
||||
||
|
||||
(ir_scan && (tap_get_state() == TAP_IRSHIFT))
|
||||
)) {
|
||||
)) {
|
||||
saved_end_state = tap_get_end_state();
|
||||
rlink_end_state(ir_scan ? TAP_IRSHIFT : TAP_DRSHIFT);
|
||||
rlink_state_move();
|
||||
@@ -1162,7 +1162,7 @@ rlink_scan(
|
||||
/* make sure there's room for stop, byte op, and one byte */
|
||||
if (
|
||||
(dtc_queue.cmd_index >= sizeof(dtc_queue.cmd_buffer) - (1 + 1 + 1))
|
||||
) {
|
||||
) {
|
||||
dtc_queue_run();
|
||||
}
|
||||
|
||||
@@ -1232,7 +1232,7 @@ rlink_scan(
|
||||
type, buffer, scan_size, tdi_bit_offset,
|
||||
chunk_bits,
|
||||
cmd
|
||||
) == NULL) {
|
||||
) == NULL) {
|
||||
LOG_ERROR("enqueuing DTC reply entry: %s\n", strerror(errno));
|
||||
exit(1);
|
||||
}
|
||||
@@ -1289,7 +1289,7 @@ rlink_scan(
|
||||
(dtc_queue.cmd_index >= sizeof(dtc_queue.cmd_buffer) - (1 + 1 + 1))
|
||||
||
|
||||
(dtc_queue.reply_index >= USB_EP2IN_SIZE - (1))
|
||||
) {
|
||||
) {
|
||||
dtc_queue_run();
|
||||
}
|
||||
|
||||
@@ -1297,7 +1297,7 @@ rlink_scan(
|
||||
type, buffer, scan_size, tdi_bit_offset,
|
||||
extra_bits,
|
||||
cmd
|
||||
) == NULL) {
|
||||
) == NULL) {
|
||||
LOG_ERROR("enqueuing DTC reply entry: %s\n", strerror(errno));
|
||||
exit(1);
|
||||
}
|
||||
@@ -1342,7 +1342,7 @@ rlink_scan(
|
||||
(dtc_queue.cmd_index >= sizeof(dtc_queue.cmd_buffer) - (1 + 1))
|
||||
||
|
||||
(dtc_queue.reply_index >= USB_EP2IN_SIZE - (1))
|
||||
) {
|
||||
) {
|
||||
dtc_queue_run();
|
||||
}
|
||||
|
||||
@@ -1355,7 +1355,7 @@ rlink_scan(
|
||||
type, buffer, scan_size, tdi_bit_offset,
|
||||
1,
|
||||
cmd
|
||||
) == NULL) {
|
||||
) == NULL) {
|
||||
LOG_ERROR("enqueuing DTC reply entry: %s\n", strerror(errno));
|
||||
exit(1);
|
||||
}
|
||||
@@ -1393,7 +1393,7 @@ int rlink_execute_queue(void)
|
||||
ep1_generic_commandl(pHDev, 2,
|
||||
EP1_CMD_SET_PORTD_LEDS,
|
||||
~(ST7_PD_NBUSY_LED)
|
||||
);
|
||||
);
|
||||
#endif
|
||||
|
||||
while (cmd)
|
||||
@@ -1484,7 +1484,7 @@ int rlink_execute_queue(void)
|
||||
ep1_generic_commandl(pHDev, 2,
|
||||
EP1_CMD_SET_PORTD_LEDS,
|
||||
~0
|
||||
);
|
||||
);
|
||||
#endif
|
||||
|
||||
return retval;
|
||||
@@ -1503,7 +1503,7 @@ int rlink_speed(int speed)
|
||||
speed = rlink_speed_table[rlink_speed_table_size - 1].prescaler;
|
||||
}
|
||||
|
||||
for (i = rlink_speed_table_size; i--; ) {
|
||||
for (i = rlink_speed_table_size; i--;) {
|
||||
if (rlink_speed_table[i].prescaler == speed) {
|
||||
if (dtc_load_from_buffer(pHDev, rlink_speed_table[i].dtc, rlink_speed_table[i].dtc_size) != 0) {
|
||||
LOG_ERROR("An error occurred while trying to load DTC code for speed \"%d\".\n", speed);
|
||||
@@ -1514,7 +1514,7 @@ int rlink_speed(int speed)
|
||||
LOG_ERROR("%s, %d: starting DTC: %s",
|
||||
__FILE__, __LINE__,
|
||||
usb_strerror()
|
||||
);
|
||||
);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
@@ -1534,7 +1534,7 @@ int rlink_speed_div(
|
||||
) {
|
||||
int i;
|
||||
|
||||
for (i = rlink_speed_table_size; i--; ) {
|
||||
for (i = rlink_speed_table_size; i--;) {
|
||||
if (rlink_speed_table[i].prescaler == speed) {
|
||||
*khz = rlink_speed_table[i].khz;
|
||||
return(ERROR_OK);
|
||||
@@ -1558,7 +1558,7 @@ int rlink_khz(
|
||||
return ERROR_FAIL;
|
||||
}
|
||||
|
||||
for (i = rlink_speed_table_size; i--; ) {
|
||||
for (i = rlink_speed_table_size; i--;) {
|
||||
if (rlink_speed_table[i].khz <= khz) {
|
||||
*speed = rlink_speed_table[i].prescaler;
|
||||
return(ERROR_OK);
|
||||
@@ -1607,7 +1607,7 @@ int rlink_register_commands(struct command_context_s *cmd_ctx)
|
||||
handle_dtc_directory_command,
|
||||
COMMAND_CONFIG,
|
||||
"The directory in which to search for DTC load images"
|
||||
);
|
||||
);
|
||||
#endif
|
||||
|
||||
return ERROR_OK;
|
||||
@@ -1636,26 +1636,26 @@ int rlink_init(void)
|
||||
|
||||
for (dev = bus->devices; dev; dev = dev->next)
|
||||
{
|
||||
if ((dev->descriptor.idVendor == USB_IDVENDOR) && (dev->descriptor.idProduct == USB_IDPRODUCT) )
|
||||
if ((dev->descriptor.idVendor == USB_IDVENDOR) && (dev->descriptor.idProduct == USB_IDPRODUCT))
|
||||
{
|
||||
found = 1;
|
||||
LOG_DEBUG("Found device on bus.\n");
|
||||
|
||||
do
|
||||
{
|
||||
if (dev->descriptor.bNumConfigurations > 1 )
|
||||
if (dev->descriptor.bNumConfigurations > 1)
|
||||
{
|
||||
LOG_ERROR("Whoops! NumConfigurations is not 1, don't know what to do...\n");
|
||||
break;
|
||||
}
|
||||
if (dev->config->bNumInterfaces > 1 )
|
||||
if (dev->config->bNumInterfaces > 1)
|
||||
{
|
||||
LOG_ERROR("Whoops! NumInterfaces is not 1, don't know what to do...\n");
|
||||
break;
|
||||
}
|
||||
|
||||
pHDev = usb_open(dev);
|
||||
if (!pHDev )
|
||||
if (!pHDev)
|
||||
LOG_ERROR ("Failed to open device.\n");
|
||||
else
|
||||
{
|
||||
@@ -1686,7 +1686,7 @@ int rlink_init(void)
|
||||
|
||||
if (!i)
|
||||
{
|
||||
if (usb_set_altinterface(pHDev,0) )
|
||||
if (usb_set_altinterface(pHDev,0))
|
||||
{
|
||||
LOG_ERROR("Failed to set interface.\n");
|
||||
break;
|
||||
@@ -1700,13 +1700,13 @@ int rlink_init(void)
|
||||
}
|
||||
}
|
||||
|
||||
if (!found )
|
||||
if (!found)
|
||||
{
|
||||
LOG_ERROR("No device found on bus.\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (!success )
|
||||
if (!success)
|
||||
{
|
||||
LOG_ERROR("Initialisation failed.");
|
||||
exit(1);
|
||||
@@ -1719,7 +1719,7 @@ int rlink_init(void)
|
||||
j = ep1_generic_commandl(
|
||||
pHDev, 1,
|
||||
EP1_CMD_GET_FWREV
|
||||
);
|
||||
);
|
||||
if (j < USB_EP1OUT_SIZE) {
|
||||
LOG_ERROR("USB write error: %s", usb_strerror());
|
||||
return(ERROR_FAIL);
|
||||
@@ -1728,7 +1728,7 @@ int rlink_init(void)
|
||||
pHDev, USB_EP1IN_ADDR,
|
||||
(char *)reply_buffer, sizeof(reply_buffer),
|
||||
200
|
||||
);
|
||||
);
|
||||
if (j != -ETIMEDOUT) break;
|
||||
}
|
||||
|
||||
@@ -1761,13 +1761,13 @@ int rlink_init(void)
|
||||
ST7_PEDR,
|
||||
1,
|
||||
ST7_PE_ADAPTER_SENSE_OUT
|
||||
);
|
||||
);
|
||||
|
||||
usb_bulk_read(
|
||||
pHDev, USB_EP1IN_ADDR,
|
||||
(char *)reply_buffer, 1,
|
||||
USB_TIMEOUT_MS
|
||||
);
|
||||
);
|
||||
|
||||
if ((reply_buffer[0] & ST7_PE_ADAPTER_SENSE_IN) != 0) {
|
||||
LOG_WARNING("target detection problem\n");
|
||||
@@ -1786,13 +1786,13 @@ int rlink_init(void)
|
||||
0x00, /* DR */
|
||||
0x00, /* DDR */
|
||||
0x00 /* OR */
|
||||
);
|
||||
);
|
||||
|
||||
usb_bulk_read(
|
||||
pHDev, USB_EP1IN_ADDR,
|
||||
(char *)reply_buffer, 1,
|
||||
USB_TIMEOUT_MS
|
||||
);
|
||||
);
|
||||
|
||||
|
||||
if ((reply_buffer[0] & ST7_PE_ADAPTER_SENSE_IN) == 0) {
|
||||
@@ -1813,7 +1813,7 @@ int rlink_init(void)
|
||||
ST7_PBDDR,
|
||||
1,
|
||||
0x00
|
||||
);
|
||||
);
|
||||
|
||||
/* make sure DTC is stopped, set VPP control, set up ports A and B */
|
||||
ep1_generic_commandl(
|
||||
@@ -1833,7 +1833,7 @@ int rlink_init(void)
|
||||
ST7_PBDR,
|
||||
1,
|
||||
0x00
|
||||
);
|
||||
);
|
||||
|
||||
/* set LED updating mode and make sure they're unlit */
|
||||
ep1_generic_commandl(
|
||||
@@ -1845,7 +1845,7 @@ int rlink_init(void)
|
||||
#endif
|
||||
EP1_CMD_SET_PORTD_LEDS,
|
||||
~0
|
||||
);
|
||||
);
|
||||
|
||||
tap_state_queue_init();
|
||||
dtc_queue_init();
|
||||
@@ -1868,7 +1868,7 @@ int rlink_quit(void)
|
||||
~0,
|
||||
EP1_CMD_SET_PORTD_VPP,
|
||||
~0
|
||||
);
|
||||
);
|
||||
|
||||
usb_release_interface(pHDev,0);
|
||||
usb_close(pHDev);
|
||||
|
||||
178
src/jtag/tcl.c
178
src/jtag/tcl.c
@@ -228,11 +228,11 @@ static int jtag_tap_configure_cmd(Jim_GetOptInfo *goi, jtag_tap_t * tap)
|
||||
switch (n->value) {
|
||||
case JCFG_EVENT:
|
||||
if (goi->argc == 0) {
|
||||
Jim_WrongNumArgs(goi->interp, goi->argc, goi->argv, "-event ?event-name? ..." );
|
||||
Jim_WrongNumArgs(goi->interp, goi->argc, goi->argv, "-event ?event-name? ...");
|
||||
return JIM_ERR;
|
||||
}
|
||||
|
||||
e = Jim_GetOpt_Nvp(goi, nvp_jtag_tap_event, &n );
|
||||
e = Jim_GetOpt_Nvp(goi, nvp_jtag_tap_event, &n);
|
||||
if (e != JIM_OK) {
|
||||
Jim_GetOpt_NvpUnknown(goi, nvp_jtag_tap_event, 1);
|
||||
return e;
|
||||
@@ -306,7 +306,7 @@ static int is_bad_irval(int ir_length, jim_wide w)
|
||||
return (w & v) != 0;
|
||||
}
|
||||
|
||||
static int jim_newtap_cmd(Jim_GetOptInfo *goi )
|
||||
static int jim_newtap_cmd(Jim_GetOptInfo *goi)
|
||||
{
|
||||
jtag_tap_t *pTap;
|
||||
jim_wide w;
|
||||
@@ -340,20 +340,20 @@ static int jim_newtap_cmd(Jim_GetOptInfo *goi )
|
||||
/*
|
||||
* we expect CHIP + TAP + OPTIONS
|
||||
* */
|
||||
if (goi->argc < 3 ){
|
||||
if (goi->argc < 3){
|
||||
Jim_SetResult_sprintf(goi->interp, "Missing CHIP TAP OPTIONS ....");
|
||||
return JIM_ERR;
|
||||
}
|
||||
Jim_GetOpt_String(goi, &cp, NULL );
|
||||
Jim_GetOpt_String(goi, &cp, NULL);
|
||||
pTap->chip = strdup(cp);
|
||||
|
||||
Jim_GetOpt_String(goi, &cp, NULL );
|
||||
Jim_GetOpt_String(goi, &cp, NULL);
|
||||
pTap->tapname = strdup(cp);
|
||||
|
||||
/* name + dot + name + null */
|
||||
x = strlen(pTap->chip) + 1 + strlen(pTap->tapname) + 1;
|
||||
cp = malloc(x );
|
||||
sprintf(cp, "%s.%s", pTap->chip, pTap->tapname );
|
||||
cp = malloc(x);
|
||||
sprintf(cp, "%s.%s", pTap->chip, pTap->tapname);
|
||||
pTap->dotted_name = cp;
|
||||
|
||||
LOG_DEBUG("Creating New Tap, Chip: %s, Tap: %s, Dotted: %s, %d params",
|
||||
@@ -367,14 +367,14 @@ static int jim_newtap_cmd(Jim_GetOptInfo *goi )
|
||||
/* clear them as we find them */
|
||||
reqbits = (NTREQ_IRLEN | NTREQ_IRCAPTURE | NTREQ_IRMASK);
|
||||
|
||||
while (goi->argc ){
|
||||
e = Jim_GetOpt_Nvp(goi, opts, &n );
|
||||
if (e != JIM_OK ){
|
||||
Jim_GetOpt_NvpUnknown(goi, opts, 0 );
|
||||
while (goi->argc){
|
||||
e = Jim_GetOpt_Nvp(goi, opts, &n);
|
||||
if (e != JIM_OK){
|
||||
Jim_GetOpt_NvpUnknown(goi, opts, 0);
|
||||
return e;
|
||||
}
|
||||
LOG_DEBUG("Processing option: %s", n->name );
|
||||
switch (n->value ){
|
||||
LOG_DEBUG("Processing option: %s", n->name);
|
||||
switch (n->value){
|
||||
case NTAP_OPT_ENABLED:
|
||||
pTap->disabled_after_reset = false;
|
||||
break;
|
||||
@@ -385,7 +385,7 @@ static int jim_newtap_cmd(Jim_GetOptInfo *goi )
|
||||
{
|
||||
uint32_t *new_expected_ids;
|
||||
|
||||
e = Jim_GetOpt_Wide(goi, &w );
|
||||
e = Jim_GetOpt_Wide(goi, &w);
|
||||
if (e != JIM_OK) {
|
||||
Jim_SetResult_sprintf(goi->interp, "option: %s bad parameter", n->name);
|
||||
return e;
|
||||
@@ -409,9 +409,9 @@ static int jim_newtap_cmd(Jim_GetOptInfo *goi )
|
||||
case NTAP_OPT_IRLEN:
|
||||
case NTAP_OPT_IRMASK:
|
||||
case NTAP_OPT_IRCAPTURE:
|
||||
e = Jim_GetOpt_Wide(goi, &w );
|
||||
if (e != JIM_OK ){
|
||||
Jim_SetResult_sprintf(goi->interp, "option: %s bad parameter", n->name );
|
||||
e = Jim_GetOpt_Wide(goi, &w);
|
||||
if (e != JIM_OK){
|
||||
Jim_SetResult_sprintf(goi->interp, "option: %s bad parameter", n->name);
|
||||
return e;
|
||||
}
|
||||
switch (n->value){
|
||||
@@ -441,7 +441,7 @@ static int jim_newtap_cmd(Jim_GetOptInfo *goi )
|
||||
break;
|
||||
}
|
||||
} /* switch (n->value) */
|
||||
} /* while (goi->argc ) */
|
||||
} /* while (goi->argc) */
|
||||
|
||||
/* default is enabled-after-reset */
|
||||
pTap->enabled = !pTap->disabled_after_reset;
|
||||
@@ -475,7 +475,7 @@ static void jtag_tap_handle_event(jtag_tap_t *tap, enum jtag_event e)
|
||||
tap->dotted_name,
|
||||
e,
|
||||
Jim_Nvp_value2name_simple(nvp_jtag_tap_event, e)->name,
|
||||
Jim_GetString(jteap->body, NULL) );
|
||||
Jim_GetString(jteap->body, NULL));
|
||||
if (Jim_EvalObj(interp, jteap->body) != JIM_OK) {
|
||||
Jim_PrintErrorMessage(interp);
|
||||
} else {
|
||||
@@ -498,7 +498,7 @@ static void jtag_tap_handle_event(jtag_tap_t *tap, enum jtag_event e)
|
||||
}
|
||||
|
||||
|
||||
static int jim_jtag_command(Jim_Interp *interp, int argc, Jim_Obj *const *argv )
|
||||
static int jim_jtag_command(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
|
||||
{
|
||||
Jim_GetOptInfo goi;
|
||||
int e;
|
||||
@@ -532,44 +532,44 @@ static int jim_jtag_command(Jim_Interp *interp, int argc, Jim_Obj *const *argv )
|
||||
|
||||
context = Jim_GetAssocData(interp, "context");
|
||||
/* go past the command */
|
||||
Jim_GetOpt_Setup(&goi, interp, argc-1, argv + 1 );
|
||||
Jim_GetOpt_Setup(&goi, interp, argc-1, argv + 1);
|
||||
|
||||
e = Jim_GetOpt_Nvp(&goi, jtag_cmds, &n );
|
||||
if (e != JIM_OK ){
|
||||
Jim_GetOpt_NvpUnknown(&goi, jtag_cmds, 0 );
|
||||
e = Jim_GetOpt_Nvp(&goi, jtag_cmds, &n);
|
||||
if (e != JIM_OK){
|
||||
Jim_GetOpt_NvpUnknown(&goi, jtag_cmds, 0);
|
||||
return e;
|
||||
}
|
||||
Jim_SetEmptyResult(goi.interp );
|
||||
switch (n->value ){
|
||||
Jim_SetEmptyResult(goi.interp);
|
||||
switch (n->value){
|
||||
case JTAG_CMD_INTERFACE:
|
||||
/* return the name of the interface */
|
||||
/* TCL code might need to know the exact type... */
|
||||
/* FUTURE: we allow this as a means to "set" the interface. */
|
||||
if (goi.argc != 0 ){
|
||||
if (goi.argc != 0){
|
||||
Jim_WrongNumArgs(goi.interp, 1, goi.argv-1, "(no params)");
|
||||
return JIM_ERR;
|
||||
}
|
||||
Jim_SetResultString(goi.interp, jtag_interface->name, -1 );
|
||||
Jim_SetResultString(goi.interp, jtag_interface->name, -1);
|
||||
return JIM_OK;
|
||||
case JTAG_CMD_INIT_RESET:
|
||||
if (goi.argc != 0 ){
|
||||
if (goi.argc != 0){
|
||||
Jim_WrongNumArgs(goi.interp, 1, goi.argv-1, "(no params)");
|
||||
return JIM_ERR;
|
||||
}
|
||||
e = jtag_init_reset(context);
|
||||
if (e != ERROR_OK ){
|
||||
if (e != ERROR_OK){
|
||||
Jim_SetResult_sprintf(goi.interp, "error: %d", e);
|
||||
return JIM_ERR;
|
||||
}
|
||||
return JIM_OK;
|
||||
case JTAG_CMD_NEWTAP:
|
||||
return jim_newtap_cmd(&goi );
|
||||
return jim_newtap_cmd(&goi);
|
||||
break;
|
||||
case JTAG_CMD_TAPISENABLED:
|
||||
case JTAG_CMD_TAPENABLE:
|
||||
case JTAG_CMD_TAPDISABLE:
|
||||
if (goi.argc != 1 ){
|
||||
Jim_SetResultString(goi.interp, "Too many parameters",-1 );
|
||||
if (goi.argc != 1){
|
||||
Jim_SetResultString(goi.interp, "Too many parameters",-1);
|
||||
return JIM_ERR;
|
||||
}
|
||||
|
||||
@@ -619,7 +619,7 @@ static int jim_jtag_command(Jim_Interp *interp, int argc, Jim_Obj *const *argv )
|
||||
break;
|
||||
|
||||
case JTAG_CMD_CGET:
|
||||
if (goi.argc < 2 ){
|
||||
if (goi.argc < 2){
|
||||
Jim_WrongNumArgs(goi.interp, 0, NULL, "?tap-name? -option ...");
|
||||
return JIM_ERR;
|
||||
}
|
||||
@@ -628,8 +628,8 @@ static int jim_jtag_command(Jim_Interp *interp, int argc, Jim_Obj *const *argv )
|
||||
jtag_tap_t *t;
|
||||
|
||||
Jim_GetOpt_Obj(&goi, &o);
|
||||
t = jtag_tap_by_jim_obj(goi.interp, o );
|
||||
if (t == NULL ){
|
||||
t = jtag_tap_by_jim_obj(goi.interp, o);
|
||||
if (t == NULL){
|
||||
return JIM_ERR;
|
||||
}
|
||||
|
||||
@@ -639,7 +639,7 @@ static int jim_jtag_command(Jim_Interp *interp, int argc, Jim_Obj *const *argv )
|
||||
break;
|
||||
|
||||
case JTAG_CMD_CONFIGURE:
|
||||
if (goi.argc < 3 ){
|
||||
if (goi.argc < 3){
|
||||
Jim_WrongNumArgs(goi.interp, 0, NULL, "?tap-name? -option ?VALUE? ...");
|
||||
return JIM_ERR;
|
||||
}
|
||||
@@ -648,8 +648,8 @@ static int jim_jtag_command(Jim_Interp *interp, int argc, Jim_Obj *const *argv )
|
||||
jtag_tap_t *t;
|
||||
|
||||
Jim_GetOpt_Obj(&goi, &o);
|
||||
t = jtag_tap_by_jim_obj(goi.interp, o );
|
||||
if (t == NULL ){
|
||||
t = jtag_tap_by_jim_obj(goi.interp, o);
|
||||
if (t == NULL){
|
||||
return JIM_ERR;
|
||||
}
|
||||
|
||||
@@ -806,7 +806,7 @@ static int handle_jtag_device_command(struct command_context_s *cmd_ctx, char *c
|
||||
* argv[ 3] = not actually used by anything but in the docs
|
||||
*/
|
||||
|
||||
if (argc < 4 ){
|
||||
if (argc < 4){
|
||||
command_print(cmd_ctx, "OLD DEPRECATED SYNTAX: Please use the NEW syntax");
|
||||
return ERROR_OK;
|
||||
}
|
||||
@@ -814,41 +814,41 @@ static int handle_jtag_device_command(struct command_context_s *cmd_ctx, char *c
|
||||
command_print(cmd_ctx, "jtag newtap CHIP TAP -irlen %s -ircapture %s -irvalue %s",
|
||||
args[0],
|
||||
args[1],
|
||||
args[2] );
|
||||
args[2]);
|
||||
command_print(cmd_ctx, "Example: STM32 has 2 taps, the cortexM3(len4) + boundaryscan(len5)");
|
||||
command_print(cmd_ctx, "jtag newtap stm32 cortexm3 ....., thus creating the tap: \"stm32.cortexm3\"");
|
||||
command_print(cmd_ctx, "jtag newtap stm32 boundary ....., and the tap: \"stm32.boundary\"");
|
||||
command_print(cmd_ctx, "And then refer to the taps by the dotted name.");
|
||||
|
||||
newargs[0] = Jim_NewStringObj(interp, "jtag", -1 );
|
||||
newargs[1] = Jim_NewStringObj(interp, "newtap", -1 );
|
||||
sprintf(buf, "chip%d", jtag_tap_count() );
|
||||
newargs[2] = Jim_NewStringObj(interp, buf, -1 );
|
||||
sprintf(buf, "tap%d", jtag_tap_count() );
|
||||
newargs[3] = Jim_NewStringObj(interp, buf, -1 );
|
||||
newargs[4] = Jim_NewStringObj(interp, "-irlen", -1 );
|
||||
newargs[5] = Jim_NewStringObj(interp, args[0], -1 );
|
||||
newargs[6] = Jim_NewStringObj(interp, "-ircapture", -1 );
|
||||
newargs[7] = Jim_NewStringObj(interp, args[1], -1 );
|
||||
newargs[8] = Jim_NewStringObj(interp, "-irmask", -1 );
|
||||
newargs[9] = Jim_NewStringObj(interp, args[2], -1 );
|
||||
newargs[0] = Jim_NewStringObj(interp, "jtag", -1);
|
||||
newargs[1] = Jim_NewStringObj(interp, "newtap", -1);
|
||||
sprintf(buf, "chip%d", jtag_tap_count());
|
||||
newargs[2] = Jim_NewStringObj(interp, buf, -1);
|
||||
sprintf(buf, "tap%d", jtag_tap_count());
|
||||
newargs[3] = Jim_NewStringObj(interp, buf, -1);
|
||||
newargs[4] = Jim_NewStringObj(interp, "-irlen", -1);
|
||||
newargs[5] = Jim_NewStringObj(interp, args[0], -1);
|
||||
newargs[6] = Jim_NewStringObj(interp, "-ircapture", -1);
|
||||
newargs[7] = Jim_NewStringObj(interp, args[1], -1);
|
||||
newargs[8] = Jim_NewStringObj(interp, "-irmask", -1);
|
||||
newargs[9] = Jim_NewStringObj(interp, args[2], -1);
|
||||
|
||||
command_print(cmd_ctx, "NEW COMMAND:");
|
||||
sprintf(buf, "%s %s %s %s %s %s %s %s %s %s",
|
||||
Jim_GetString(newargs[0], NULL ),
|
||||
Jim_GetString(newargs[1], NULL ),
|
||||
Jim_GetString(newargs[2], NULL ),
|
||||
Jim_GetString(newargs[3], NULL ),
|
||||
Jim_GetString(newargs[4], NULL ),
|
||||
Jim_GetString(newargs[5], NULL ),
|
||||
Jim_GetString(newargs[6], NULL ),
|
||||
Jim_GetString(newargs[7], NULL ),
|
||||
Jim_GetString(newargs[8], NULL ),
|
||||
Jim_GetString(newargs[9], NULL ) );
|
||||
Jim_GetString(newargs[0], NULL),
|
||||
Jim_GetString(newargs[1], NULL),
|
||||
Jim_GetString(newargs[2], NULL),
|
||||
Jim_GetString(newargs[3], NULL),
|
||||
Jim_GetString(newargs[4], NULL),
|
||||
Jim_GetString(newargs[5], NULL),
|
||||
Jim_GetString(newargs[6], NULL),
|
||||
Jim_GetString(newargs[7], NULL),
|
||||
Jim_GetString(newargs[8], NULL),
|
||||
Jim_GetString(newargs[9], NULL));
|
||||
|
||||
e = jim_jtag_command(interp, 10, newargs );
|
||||
if (e != JIM_OK ){
|
||||
command_print(cmd_ctx, "%s", Jim_GetString(Jim_GetResult(interp), NULL ) );
|
||||
e = jim_jtag_command(interp, 10, newargs);
|
||||
if (e != JIM_OK){
|
||||
command_print(cmd_ctx, "%s", Jim_GetString(Jim_GetResult(interp), NULL));
|
||||
}
|
||||
return e;
|
||||
}
|
||||
@@ -861,7 +861,7 @@ static int handle_scan_chain_command(struct command_context_s *cmd_ctx, char *cm
|
||||
command_print(cmd_ctx, " TapName | Enabled | IdCode Expected IrLen IrCap IrMask Instr ");
|
||||
command_print(cmd_ctx, "---|--------------------|---------|------------|------------|------|------|------|---------");
|
||||
|
||||
while (tap ){
|
||||
while (tap){
|
||||
uint32_t expected, expected_mask, cur_instr, ii;
|
||||
expected = buf_get_u32(tap->expected, 0, tap->ir_length);
|
||||
expected_mask = buf_get_u32(tap->expected_mask, 0, tap->ir_length);
|
||||
@@ -1174,20 +1174,20 @@ static int handle_irscan_command(struct command_context_s *cmd_ctx, char *cmd, c
|
||||
*/
|
||||
endstate = TAP_IDLE;
|
||||
|
||||
if (argc >= 4 ){
|
||||
if (argc >= 4){
|
||||
/* have at least one pair of numbers. */
|
||||
/* is last pair the magic text? */
|
||||
if (0 == strcmp("-endstate", args[ argc - 2 ] ) ){
|
||||
if (0 == strcmp("-endstate", args[ argc - 2 ])){
|
||||
const char *cpA;
|
||||
const char *cpS;
|
||||
cpA = args[ argc-1 ];
|
||||
for (endstate = 0 ; endstate < TAP_NUM_STATES ; endstate++ ){
|
||||
cpS = tap_state_name(endstate );
|
||||
if (0 == strcmp(cpA, cpS ) ){
|
||||
for (endstate = 0 ; endstate < TAP_NUM_STATES ; endstate++){
|
||||
cpS = tap_state_name(endstate);
|
||||
if (0 == strcmp(cpA, cpS)){
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (endstate >= TAP_NUM_STATES ){
|
||||
if (endstate >= TAP_NUM_STATES){
|
||||
return ERROR_COMMAND_SYNTAX_ERROR;
|
||||
} else {
|
||||
if (!scan_is_safe(endstate))
|
||||
@@ -1207,10 +1207,10 @@ static int handle_irscan_command(struct command_context_s *cmd_ctx, char *cmd, c
|
||||
int retval;
|
||||
for (i = 0; i < num_fields; i++)
|
||||
{
|
||||
tap = jtag_tap_by_string(args[i*2] );
|
||||
tap = jtag_tap_by_string(args[i*2]);
|
||||
if (tap == NULL)
|
||||
{
|
||||
command_print(cmd_ctx, "Tap: %s unknown", args[i*2] );
|
||||
command_print(cmd_ctx, "Tap: %s unknown", args[i*2]);
|
||||
return ERROR_FAIL;
|
||||
}
|
||||
int field_size = tap->ir_length;
|
||||
@@ -1281,12 +1281,12 @@ static int Jim_Command_drscan(Jim_Interp *interp, int argc, Jim_Obj *const *args
|
||||
|
||||
e = Jim_GetLong(interp, args[i], &bits);
|
||||
/* If valid - try next arg */
|
||||
if (e == JIM_OK ){
|
||||
if (e == JIM_OK){
|
||||
continue;
|
||||
}
|
||||
|
||||
/* Not valid.. are we at the end? */
|
||||
if (((i + 2) != argc) ){
|
||||
if (((i + 2) != argc)){
|
||||
/* nope, then error */
|
||||
return e;
|
||||
}
|
||||
@@ -1297,17 +1297,17 @@ static int Jim_Command_drscan(Jim_Interp *interp, int argc, Jim_Obj *const *args
|
||||
*/
|
||||
|
||||
/* get arg as a string. */
|
||||
cp = Jim_GetString(args[i], NULL );
|
||||
cp = Jim_GetString(args[i], NULL);
|
||||
/* is it the magic? */
|
||||
if (0 == strcmp("-endstate", cp ) ){
|
||||
if (0 == strcmp("-endstate", cp)){
|
||||
/* is the statename valid? */
|
||||
cp = Jim_GetString(args[i + 1], NULL );
|
||||
cp = Jim_GetString(args[i + 1], NULL);
|
||||
|
||||
/* see if it is a valid state name */
|
||||
endstate = tap_state_by_name(cp);
|
||||
if (endstate < 0 ){
|
||||
if (endstate < 0){
|
||||
/* update the error message */
|
||||
Jim_SetResult_sprintf(interp,"endstate: %s invalid", cp );
|
||||
Jim_SetResult_sprintf(interp,"endstate: %s invalid", cp);
|
||||
} else {
|
||||
if (!scan_is_safe(endstate))
|
||||
LOG_WARNING("drscan with unsafe "
|
||||
@@ -1321,13 +1321,13 @@ static int Jim_Command_drscan(Jim_Interp *interp, int argc, Jim_Obj *const *args
|
||||
}
|
||||
|
||||
/* Still an error? */
|
||||
if (e != JIM_OK ){
|
||||
if (e != JIM_OK){
|
||||
return e; /* too bad */
|
||||
}
|
||||
} /* validate args */
|
||||
|
||||
tap = jtag_tap_by_jim_obj(interp, args[1] );
|
||||
if (tap == NULL ){
|
||||
tap = jtag_tap_by_jim_obj(interp, args[1]);
|
||||
if (tap == NULL){
|
||||
return JIM_ERR;
|
||||
}
|
||||
|
||||
@@ -1399,12 +1399,12 @@ static int Jim_Command_pathmove(Jim_Interp *interp, int argc, Jim_Obj *const *ar
|
||||
for (i = 0; i < argc-1; i++)
|
||||
{
|
||||
const char *cp;
|
||||
cp = Jim_GetString(args[i + 1], NULL );
|
||||
cp = Jim_GetString(args[i + 1], NULL);
|
||||
states[i] = tap_state_by_name(cp);
|
||||
if (states[i] < 0 )
|
||||
if (states[i] < 0)
|
||||
{
|
||||
/* update the error message */
|
||||
Jim_SetResult_sprintf(interp,"endstate: %s invalid", cp );
|
||||
Jim_SetResult_sprintf(interp,"endstate: %s invalid", cp);
|
||||
return JIM_ERR;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -378,7 +378,7 @@ static int vsllink_execute_queue(void)
|
||||
break; /* above stable states are OK */
|
||||
default:
|
||||
LOG_ERROR("jtag_add_clocks() was called with TAP in non-stable state \"%s\"",
|
||||
tap_state_name(tap_get_state()) );
|
||||
tap_state_name(tap_get_state()));
|
||||
exit(-1);
|
||||
}
|
||||
vsllink_stableclocks(cmd->cmd.stableclocks->num_cycles, scan_size);
|
||||
@@ -1178,7 +1178,7 @@ static void vsllink_scan_normal(bool ir_scan, enum scan_type type, uint8_t *buff
|
||||
uint8_t bits_left, tms_tmp, tdi_len;
|
||||
int i;
|
||||
|
||||
if (0 == scan_size )
|
||||
if (0 == scan_size)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -1845,7 +1845,7 @@ static int vsllink_usb_message(vsllink_jtag_t *vsllink_jtag, int out_length, int
|
||||
if (in_length > 0)
|
||||
{
|
||||
result = vsllink_usb_read(vsllink_jtag);
|
||||
if (result == in_length )
|
||||
if (result == in_length)
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
#define TEST_MANUAL() 0
|
||||
|
||||
#if 0
|
||||
int diag_printf(const char *fmt, ... );
|
||||
int diag_printf(const char *fmt, ...);
|
||||
#define ZY1000_POKE(a, b) HAL_WRITE_UINT32(a, b); diag_printf("poke 0x%08x,0x%08x\n", a, b)
|
||||
#define ZY1000_PEEK(a, b) HAL_READ_UINT32(a, b); diag_printf("peek 0x%08x = 0x%08x\n", a, b)
|
||||
#else
|
||||
|
||||
Reference in New Issue
Block a user