diff options
Diffstat (limited to 'src/target/mips_m4k.c')
-rw-r--r-- | src/target/mips_m4k.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/target/mips_m4k.c b/src/target/mips_m4k.c index 4adc1f1..312fc09 100644 --- a/src/target/mips_m4k.c +++ b/src/target/mips_m4k.c @@ -1001,6 +1001,12 @@ int mips_m4k_bulk_write_memory(struct target *target, uint32_t address, uint32_t } retval = mips32_pracc_fastdata_xfer(ejtag_info, source, write, address, count, (uint32_t*) buffer); + if (retval != ERROR_OK) + { + /* FASTDATA access failed, try normal memory write */ + LOG_WARNING("Fastdata access Failed, falling back to non-bulk write"); + retval = mips_m4k_write_memory(target, address, 4, count, buffer); + } if (source) target_free_working_area(target, source); |