summaryrefslogtreecommitdiff
path: root/src/target/mips_m4k.c
diff options
context:
space:
mode:
authorSpencer Oliver <ntfreak@users.sourceforge.net>2010-01-06 20:24:31 +0000
committerSpencer Oliver <ntfreak@users.sourceforge.net>2010-01-06 20:24:31 +0000
commit2d450b90333b01fbd85570e5d881c3a795038744 (patch)
tree19a617f3a56249c42a6d0003119a8e5c673bd53d /src/target/mips_m4k.c
parent2bc7446bb8caf751f7d6900af26384f6c64cc791 (diff)
downloadopenocd+libswd-2d450b90333b01fbd85570e5d881c3a795038744.tar.gz
openocd+libswd-2d450b90333b01fbd85570e5d881c3a795038744.tar.bz2
openocd+libswd-2d450b90333b01fbd85570e5d881c3a795038744.tar.xz
openocd+libswd-2d450b90333b01fbd85570e5d881c3a795038744.zip
MIPS: fastdata bulk write fallback
If fastdata access fails, then fallback to default mips_m4k_write_memory Remove unnecessary fastdata loader verify check Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
Diffstat (limited to 'src/target/mips_m4k.c')
-rw-r--r--src/target/mips_m4k.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/target/mips_m4k.c b/src/target/mips_m4k.c
index 4adc1f19..312fc09c 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);