diff --git a/src/flash/nor/str9x.c b/src/flash/nor/str9x.c index 7d93b187d..2158622a1 100644 --- a/src/flash/nor/str9x.c +++ b/src/flash/nor/str9x.c @@ -392,9 +392,10 @@ static int str9x_write_block(struct flash_bank *bank, return ERROR_TARGET_RESOURCE_NOT_AVAILABLE; }; - target_write_buffer(target, write_algorithm->address, - sizeof(str9x_flash_write_code), - (uint8_t *)str9x_flash_write_code); + uint8_t code[sizeof(str9x_flash_write_code)]; + target_buffer_set_u32_array(target, code, ARRAY_SIZE(str9x_flash_write_code), + str9x_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) {