Fix pointer cast alignment issues in svf.c
git-svn-id: svn://svn.berlios.de/openocd/trunk@1622 b42882b7-edfa-0310-969c-e2dbd0fdcd60__archive__
parent
5c1cb131e9
commit
8cbb2ae7f4
|
@ -653,11 +653,17 @@ static int svf_check_tdo(void)
|
||||||
{
|
{
|
||||||
if ((svf_tdi_buffer[index + j] & svf_mask_buffer[index + j]) != svf_tdo_buffer[index + j])
|
if ((svf_tdi_buffer[index + j] & svf_mask_buffer[index + j]) != svf_tdo_buffer[index + j])
|
||||||
{
|
{
|
||||||
LOG_ERROR("tdo check error at line %d, read = 0x%X, want = 0x%X, mask = 0x%X",
|
unsigned bitmask = (1 << svf_check_tdo_para[i].bit_len) - 1;
|
||||||
|
unsigned received, expected, tapmask;
|
||||||
|
memcpy(&received, svf_tdi_buffer + index, sizeof(unsigned));
|
||||||
|
memcpy(&expected, svf_tdo_buffer + index, sizeof(unsigned));
|
||||||
|
memcpy(&tapmask, svf_mask_buffer + index, sizeof(unsigned));
|
||||||
|
LOG_ERROR("tdo check error at line %d, "
|
||||||
|
"read = 0x%X, want = 0x%X, mask = 0x%X",
|
||||||
svf_check_tdo_para[i].line_num,
|
svf_check_tdo_para[i].line_num,
|
||||||
(*(int*)(svf_tdi_buffer + index)) & ((1 << svf_check_tdo_para[i].bit_len) - 1),
|
received & bitmask,
|
||||||
(*(int*)(svf_tdo_buffer + index)) & ((1 << svf_check_tdo_para[i].bit_len) - 1),
|
expected & bitmask,
|
||||||
(*(int*)(svf_mask_buffer + index)) & ((1 << svf_check_tdo_para[i].bit_len) - 1));
|
tapmask & bitmask);
|
||||||
return ERROR_FAIL;
|
return ERROR_FAIL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1381,8 +1387,11 @@ static int svf_run_command(struct command_context_s *cmd_ctx, char *cmd_str)
|
||||||
// output debug info
|
// output debug info
|
||||||
if ((SIR == command) || (SDR == command))
|
if ((SIR == command) || (SDR == command))
|
||||||
{
|
{
|
||||||
|
int read_value;
|
||||||
|
memcpy(&read_value, svf_tdi_buffer, sizeof(int));
|
||||||
// in debug mode, data is from index 0
|
// in debug mode, data is from index 0
|
||||||
LOG_DEBUG("\tTDO read = 0x%X", (*(int*)svf_tdi_buffer) & ((1 << (svf_check_tdo_para[0].bit_len)) - 1));
|
int read_mask = (1 << (svf_check_tdo_para[0].bit_len)) - 1;
|
||||||
|
LOG_DEBUG("\tTDO read = 0x%X", read_value & read_mask);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue