PIC32: add flash algorithm support
Add flash algorithm support for the PIC32MX. Still a few things todo but this dramatically decreases the programing time, eg. approx programming for 2.5k test file. - without fastload: 60secs - with fastload: 45secs - with fastload and algorithm: 2secs. Add new devices to supported list. Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
This commit is contained in:
@@ -969,7 +969,7 @@ int mips32_pracc_fastdata_xfer(struct mips_ejtag *ejtag_info, struct working_are
|
||||
/* write program into RAM */
|
||||
mips32_pracc_write_mem32(ejtag_info, source->address, ARRAY_SIZE(handler_code), handler_code);
|
||||
|
||||
LOG_DEBUG("%s using 0x%.8" PRIx32 " for write handler\n", __func__, source->address);
|
||||
LOG_DEBUG("%s using 0x%.8" PRIx32 " for write handler", __func__, source->address);
|
||||
|
||||
jmp_code[1] |= UPPER16(source->address);
|
||||
jmp_code[2] |= LOWER16(source->address);
|
||||
@@ -1030,7 +1030,7 @@ int mips32_pracc_fastdata_xfer(struct mips_ejtag *ejtag_info, struct working_are
|
||||
mips_ejtag_drscan_32(ejtag_info, &address);
|
||||
|
||||
if (address != MIPS32_PRACC_TEXT)
|
||||
LOG_ERROR("mini program did not return to start\n");
|
||||
LOG_ERROR("mini program did not return to start");
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
@@ -40,6 +40,10 @@
|
||||
#define EJTAG_INST_TCBDATA 0x12
|
||||
#define EJTAG_INST_BYPASS 0xFF
|
||||
|
||||
/* microchip PIC32MX specific instructions */
|
||||
#define MTAP_SW_MTAP 0x04
|
||||
#define MTAP_SW_ETAP 0x05
|
||||
|
||||
/* ejtag control register bits ECR */
|
||||
#define EJTAG_CTRL_TOF (1 << 1)
|
||||
#define EJTAG_CTRL_TIF (1 << 2)
|
||||
|
||||
@@ -914,7 +914,7 @@ int mips_m4k_examine(struct target *target)
|
||||
{
|
||||
/* we are using a pic32mx so select ejtag port
|
||||
* as it is not selected by default */
|
||||
mips_ejtag_set_instr(ejtag_info, 0x05, NULL);
|
||||
mips_ejtag_set_instr(ejtag_info, MTAP_SW_ETAP, NULL);
|
||||
LOG_DEBUG("PIC32MX Detected - using EJTAG Interface");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user