On Fri, Mar 25, 2011 at 11:01 AM, Spencer Oliver <s...@spen-soft.co.uk> 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
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to