diff options
author | Rodrigo L. Rosa <rodrigorosa.lg@gmail.com> | 2011-06-10 12:20:18 -0700 |
---|---|---|
committer | Øyvind Harboe <oyvind.harboe@zylin.com> | 2011-06-12 11:18:27 +0200 |
commit | f42353d82137d0a3f5e2433bae931c82b8407c74 (patch) | |
tree | 9dc86c34b1f23fccff2ba867874c5a4344f637d5 /src/target | |
parent | f4a3db0d4a353ccc6d701a2645390ef9039e0d02 (diff) | |
download | openocd+libswd-f42353d82137d0a3f5e2433bae931c82b8407c74.tar.gz openocd+libswd-f42353d82137d0a3f5e2433bae931c82b8407c74.tar.bz2 openocd+libswd-f42353d82137d0a3f5e2433bae931c82b8407c74.tar.xz openocd+libswd-f42353d82137d0a3f5e2433bae931c82b8407c74.zip |
fix read speed improved by queueing commands
Diffstat (limited to 'src/target')
-rw-r--r-- | src/target/dsp5680xx.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/target/dsp5680xx.c b/src/target/dsp5680xx.c index c79ee3ae..f503e081 100644 --- a/src/target/dsp5680xx.c +++ b/src/target/dsp5680xx.c @@ -714,7 +714,14 @@ static int dsp5680xx_read(struct target * target, uint32_t address, unsigned siz retval = dsp5680xx_convert_address(&address, &pmem); err_check_propagate(retval); + context.flush = 0; + int counter = FLUSH_COUNT_READ_WRITE; + for (unsigned i=0; i<count; i++){ + if(--counter==0){ + context.flush = 1; + counter = FLUSH_COUNT_FLASH; + } switch (size){ case 1: if(!(i%2)){ @@ -734,7 +741,13 @@ static int dsp5680xx_read(struct target * target, uint32_t address, unsigned siz break; } err_check_propagate(retval); + context.flush = 0; } + + context.flush = 1; + retval = dsp5680xx_execute_queue(); + err_check_propagate(retval); + return retval; } |