summaryrefslogtreecommitdiff
path: root/src/target/mips32_pracc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/target/mips32_pracc.c')
-rw-r--r--src/target/mips32_pracc.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/target/mips32_pracc.c b/src/target/mips32_pracc.c
index 236f3894..a4ea2d36 100644
--- a/src/target/mips32_pracc.c
+++ b/src/target/mips32_pracc.c
@@ -985,7 +985,12 @@ 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);
+ if (write_t != ejtag_info->fast_access_save)
+ {
+ mips32_pracc_write_mem32(ejtag_info, source->address, ARRAY_SIZE(handler_code), handler_code);
+ /* save previous operation to speed to any consecutive read/writes */
+ ejtag_info->fast_access_save = write_t;
+ }
LOG_DEBUG("%s using 0x%.8" PRIx32 " for write handler", __func__, source->address);