X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Ftarget%2Fsemihosting_common.c;h=7ef1810e51ffbda2a97035f58a6aca1462ec2795;hp=beeb4742ab2d9cb1bfe9a60866bd540a848ac3d1;hb=a7da117ad6bc1749863c14fdeef2bd4898620574;hpb=2517bae6c1438350255dca63e7d1c1e06c64b6bb diff --git a/src/target/semihosting_common.c b/src/target/semihosting_common.c index beeb4742ab..7ef1810e51 100644 --- a/src/target/semihosting_common.c +++ b/src/target/semihosting_common.c @@ -1397,8 +1397,9 @@ static int semihosting_read_fields(struct target *target, size_t number, uint8_t *fields) { struct semihosting *semihosting = target->semihosting; - return target_read_memory(target, semihosting->param, - semihosting->word_size_bytes, number, fields); + /* Use 4-byte multiples to trigger fast memory access. */ + return target_read_memory(target, semihosting->param, 4, + number * (semihosting->word_size_bytes / 4), fields); } /** @@ -1408,8 +1409,9 @@ static int semihosting_write_fields(struct target *target, size_t number, uint8_t *fields) { struct semihosting *semihosting = target->semihosting; - return target_write_memory(target, semihosting->param, - semihosting->word_size_bytes, number, fields); + /* Use 4-byte multiples to trigger fast memory access. */ + return target_write_memory(target, semihosting->param, 4, + number * (semihosting->word_size_bytes / 4), fields); } /**