remove in_handler usage
git-svn-id: svn://svn.berlios.de/openocd/trunk@1644 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
@@ -234,6 +234,36 @@ int arm7tdmi_clock_data_in(arm_jtag_t *jtag_info, u32 *in)
|
||||
return ERROR_OK;
|
||||
}
|
||||
|
||||
void arm_endianness(u8 *tmp, void *in, int size, int be)
|
||||
{
|
||||
u32 readback=flip_u32(le_to_h_u32(tmp), 32);
|
||||
switch (size)
|
||||
{
|
||||
case 4:
|
||||
if (be)
|
||||
{
|
||||
h_u32_to_be(((u8*)in), readback);
|
||||
} else
|
||||
{
|
||||
h_u32_to_le(((u8*)in), readback);
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (be)
|
||||
{
|
||||
h_u16_to_be(((u8*)in), readback & 0xffff);
|
||||
} else
|
||||
{
|
||||
h_u16_to_le(((u8*)in), readback & 0xffff);
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
*((u8 *)in)= readback & 0xff;
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/* clock the target, and read the databus
|
||||
* the *in pointer points to a buffer where elements of 'size' bytes
|
||||
* are stored in big (be==1) or little (be==0) endianness
|
||||
@@ -265,31 +295,7 @@ int arm7tdmi_clock_data_in_endianness(arm_jtag_t *jtag_info, void *in, int size,
|
||||
|
||||
jtag_add_dr_scan_now(2, fields, TAP_INVALID);
|
||||
|
||||
u32 readback=flip_u32(le_to_h_u32(tmp), 32);
|
||||
switch (size)
|
||||
{
|
||||
case 4:
|
||||
if (be)
|
||||
{
|
||||
h_u32_to_be(((u8*)in), readback);
|
||||
} else
|
||||
{
|
||||
h_u32_to_le(((u8*)in), readback);
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (be)
|
||||
{
|
||||
h_u16_to_be(((u8*)in), readback & 0xffff);
|
||||
} else
|
||||
{
|
||||
h_u16_to_le(((u8*)in), readback & 0xffff);
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
*((u8 *)in)= readback & 0xff;
|
||||
break;
|
||||
}
|
||||
arm_endianness(tmp, in, size, be);
|
||||
|
||||
jtag_add_runtest(0, TAP_INVALID);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user