Bug in src/target/mips32_pracc.c
The bug shows up with the command "mdw addres count" and only if count>1024 (count>0x400). The first 1024 values shows as expected, but the rest of the values are wrong. Name of variable bytesread" is changed to "wordsread" to reflect what really does. Change-Id: Iad79393e72da2637551c5ae6e829e3873605c520 Signed-off-by: Salvador <sarroyofdez@yahoo.es> Reviewed-on: http://openocd.zylin.com/527 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>__archive__
parent
f1c0133321
commit
1274df07f1
|
@ -343,10 +343,10 @@ static int mips32_pracc_read_mem32(struct mips_ejtag *ejtag_info, uint32_t addr,
|
|||
|
||||
int retval = ERROR_OK;
|
||||
int blocksize;
|
||||
int bytesread;
|
||||
int wordsread;
|
||||
uint32_t param_in[2];
|
||||
|
||||
bytesread = 0;
|
||||
wordsread = 0;
|
||||
|
||||
while (count > 0) {
|
||||
blocksize = count;
|
||||
|
@ -357,13 +357,13 @@ static int mips32_pracc_read_mem32(struct mips_ejtag *ejtag_info, uint32_t addr,
|
|||
param_in[1] = blocksize;
|
||||
|
||||
retval = mips32_pracc_exec(ejtag_info, ARRAY_SIZE(code), code,
|
||||
ARRAY_SIZE(param_in), param_in, blocksize, &buf[bytesread], 1);
|
||||
ARRAY_SIZE(param_in), param_in, blocksize, &buf[wordsread], 1);
|
||||
if (retval != ERROR_OK)
|
||||
return retval;
|
||||
|
||||
count -= blocksize;
|
||||
addr += blocksize;
|
||||
bytesread += blocksize;
|
||||
addr += blocksize*sizeof(uint32_t);
|
||||
wordsread += blocksize;
|
||||
}
|
||||
|
||||
return retval;
|
||||
|
|
Loading…
Reference in New Issue