str7x: Fix byte order bug 74/1774/2
authorAndreas Fritiofson <andreas.fritiofson@gmail.com>
Sat, 28 Sep 2013 20:28:57 +0000 (22:28 +0200)
committerSpencer Oliver <spen@spen-soft.co.uk>
Thu, 31 Oct 2013 20:45:04 +0000 (20:45 +0000)
Found by grepping for pointer casts.

Change-Id: I56d5680590e37d8c61197488067fbb0776e5e0f0
Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Reviewed-on: http://openocd.zylin.com/1774
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
src/flash/nor/str7x.c

index 3d8ce54..cbd8928 100644 (file)
@@ -489,9 +489,10 @@ static int str7x_write_block(struct flash_bank *bank, uint8_t *buffer,
                return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
        };
 
-       target_write_buffer(target, write_algorithm->address,
-                       sizeof(str7x_flash_write_code),
-                       (uint8_t *)str7x_flash_write_code);
+       uint8_t code[sizeof(str7x_flash_write_code)];
+       target_buffer_set_u32_array(target, code, ARRAY_SIZE(str7x_flash_write_code),
+                       str7x_flash_write_code);
+       target_write_buffer(target, write_algorithm->address, sizeof(code), code);
 
        /* memory buffer */
        while (target_alloc_working_area_try(target, buffer_size, &source) != ERROR_OK) {