On Fri, Mar 25, 2011 at 11:01 AM, Spencer Oliver <[email protected]> wrote:
> I am not really following the big endian issues, however i can confirm that
> mips32_pracc_fastdata_xfer is working for pic32 - which is little endian.
Hi Spen,
I am suspicious about this. Take these lines of code for example :
/* Send the load start address */
val = addr;
mips_ejtag_set_instr(ejtag_info, EJTAG_INST_FASTDATA);
mips_ejtag_fastdata_scan(ejtag_info, 1, &val);
/* Send the load end address */
val = addr + (count - 1) * 4;
mips_ejtag_set_instr(ejtag_info, EJTAG_INST_FASTDATA);
mips_ejtag_fastdata_scan(ejtag_info, 1, &val);
for (i = 0; i < count; i++)
{
/* Send the data out using fastdata (clears the access pending
bit) */
if ((retval = mips_ejtag_fastdata_scan(ejtag_info, write_t,
buf++))
!= ERROR_OK)
return retval;
}
Obviausly, there is an inconsistency of mips_ejtag_fastdata_scan() in
the loop comparing to previous references - it is not preceded by
mips_ejtag_set_instr(). How are you sending data without telling EJTAG
what to do with it ? Maybe it remembers previous instruction in the
case of PIC32, I don't know. But from my point of view if this work is
by chance of architecture specific feature. In any case, for my
MIPS-14Kc it will not work - which does not suprise me at all.
I am waiting on the response from Andrew on the mentioned questions in
the previous mail, and if his case also confirms my suspicions I will
send the patch.
Best regards,
Drasko
_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development