From: Andreas Fritiofson Date: Fri, 4 Oct 2013 22:24:28 +0000 (+0200) Subject: lpc288x: Can now use target_write_buffer() X-Git-Tag: v0.8.0-rc1~210 X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=commitdiff_plain;h=3c65677ba6f1e946a8294a2bcf89990aa8dccc59;hp=6ef28babe3bbf965185b78fea2aa9ecf0a563cf5 lpc288x: Can now use target_write_buffer() Use the preferred code path according to the comment. Target_write_buffer() now simply uses suitably aligned target_write_memory calls, so from this pov, they should be equivalent. Change-Id: I77f51ec3ac9faa822cf428708a1aecb67c77830c Signed-off-by: Andreas Fritiofson Reviewed-on: http://openocd.zylin.com/1687 Tested-by: jenkins Reviewed-by: Spencer Oliver --- diff --git a/src/flash/nor/lpc288x.c b/src/flash/nor/lpc288x.c index 5710765886..b602619d8e 100644 --- a/src/flash/nor/lpc288x.c +++ b/src/flash/nor/lpc288x.c @@ -350,22 +350,13 @@ static int lpc288x_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offs target_write_u32(target, F_CTRL, FC_CS | FC_SET_DATA | FC_WEN | FC_FUNC); target_write_u32(target, F_CTRL, FC_CS | FC_WEN | FC_FUNC); - /*would be better to use the clean target_write_buffer() interface but - * it seems not to be a LOT slower.... - * bulk_write_memory() is no quicker :(*/ -#if 1 - if (target_write_memory(target, offset + dest_offset, 4, 128, - page_buffer) != ERROR_OK) { - LOG_ERROR("Write failed s %" PRIx32 " p %" PRIx32 "", sector, page); - return ERROR_FLASH_OPERATION_FAILED; - } -#else + if (target_write_buffer(target, offset + dest_offset, FLASH_PAGE_SIZE, page_buffer) != ERROR_OK) { LOG_INFO("Write to flash buffer failed"); return ERROR_FLASH_OPERATION_FAILED; } -#endif + dest_offset += FLASH_PAGE_SIZE; source_offset += count; bytes_remaining -= count;