lpc288x: Can now use target_write_buffer()
authorAndreas Fritiofson <andreas.fritiofson@gmail.com>
Fri, 4 Oct 2013 22:24:28 +0000 (00:24 +0200)
committerSpencer Oliver <spen@spen-soft.co.uk>
Tue, 15 Oct 2013 20:41:31 +0000 (20:41 +0000)
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 <andreas.fritiofson@gmail.com>
Reviewed-on: http://openocd.zylin.com/1687
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
src/flash/nor/lpc288x.c

index 57107658861e98dd8e5717d75c00f352dcad9450..b602619d8e56c24ac852f0e5a3f9af09b038afa7 100644 (file)
@@ -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;