diff options
author | Mathias K <kesmtp@freenet.de> | 2012-01-10 23:21:30 +0100 |
---|---|---|
committer | Spencer Oliver <spen@spen-soft.co.uk> | 2012-01-12 20:41:51 +0000 |
commit | afe95871c59f05d532529af84e1ee80e3845e923 (patch) | |
tree | ec7715282d3c5fb5f261a2b4993a8b58332788dc /src/flash/nor/str9xpec.c | |
parent | 5f83378a9ca788e8a27e298b9e2b8969c944988b (diff) | |
download | riscv-openocd-afe95871c59f05d532529af84e1ee80e3845e923.zip riscv-openocd-afe95871c59f05d532529af84e1ee80e3845e923.tar.gz riscv-openocd-afe95871c59f05d532529af84e1ee80e3845e923.tar.bz2 |
optimize: replace while loop by memcpy
There is no need to use a while loop here. This patch simple copy
the last bytes with the system function.
Change-Id: Ibda72dca449746efeba5a1af2e45c5990f9cf347
Signed-off-by: Mathias K <kesmtp@freenet.de>
Reviewed-on: http://openocd.zylin.com/364
Tested-by: jenkins
Reviewed-by: Øyvind Harboe <oyvindharboe@gmail.com>
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
Diffstat (limited to 'src/flash/nor/str9xpec.c')
-rw-r--r-- | src/flash/nor/str9xpec.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/src/flash/nor/str9xpec.c b/src/flash/nor/str9xpec.c index 6fa66a0..0e095a3 100644 --- a/src/flash/nor/str9xpec.c +++ b/src/flash/nor/str9xpec.c @@ -714,14 +714,9 @@ static int str9xpec_write(struct flash_bank *bank, uint8_t *buffer, if (bytes_remaining) { uint8_t last_dword[8] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; - i = 0; - while (bytes_remaining > 0) - { - last_dword[i++] = *(buffer + bytes_written); - bytes_remaining--; - bytes_written++; - } + /* copy the last remaining bytes into the write buffer */ + memcpy(last_dword, buffer+bytes_written, bytes_remaining); str9xpec_set_instr(tap, ISC_PROGRAM, TAP_IRPAUSE); |