aboutsummaryrefslogtreecommitdiff
path: root/src/flash/nor/stellaris.c
diff options
context:
space:
mode:
authorMathias K <kesmtp@freenet.de>2012-01-10 23:21:30 +0100
committerSpencer Oliver <spen@spen-soft.co.uk>2012-01-12 20:41:51 +0000
commitafe95871c59f05d532529af84e1ee80e3845e923 (patch)
treeec7715282d3c5fb5f261a2b4993a8b58332788dc /src/flash/nor/stellaris.c
parent5f83378a9ca788e8a27e298b9e2b8969c944988b (diff)
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/stellaris.c')
-rw-r--r--src/flash/nor/stellaris.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/src/flash/nor/stellaris.c b/src/flash/nor/stellaris.c
index c855995f..13b7071e 100644
--- a/src/flash/nor/stellaris.c
+++ b/src/flash/nor/stellaris.c
@@ -1214,14 +1214,9 @@ static int stellaris_write(struct flash_bank *bank, uint8_t *buffer, uint32_t of
if (bytes_remaining)
{
uint8_t last_word[4] = {0xff, 0xff, 0xff, 0xff};
- int i = 0;
- while (bytes_remaining > 0)
- {
- last_word[i++] = *(buffer + bytes_written);
- bytes_remaining--;
- bytes_written++;
- }
+ /* copy the last remaining bytes into the write buffer */
+ memcpy(last_word, buffer+bytes_written, bytes_remaining);
if (!(address & 0xff))
LOG_DEBUG("0x%" PRIx32 "", address);