X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Fflash%2Fnor%2Fstr9x.c;h=3b7ca2aa7deef424fc5322ce53307e4c4a5fd1b8;hb=5830bf09a73f38cc96c49ff792bd5a85687a795b;hp=7d93b187dffa95360bb78c15266921a3fe5ce0a4;hpb=cbf4760e15d217c0a83e65f13bddfcbfad7d2fec;p=openocd.git diff --git a/src/flash/nor/str9x.c b/src/flash/nor/str9x.c index 7d93b187df..3b7ca2aa7d 100644 --- a/src/flash/nor/str9x.c +++ b/src/flash/nor/str9x.c @@ -19,9 +19,7 @@ * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * + * along with this program. If not, see . * ***************************************************************************/ #ifdef HAVE_CONFIG_H @@ -347,7 +345,7 @@ static int str9x_protect(struct flash_bank *bank, } static int str9x_write_block(struct flash_bank *bank, - uint8_t *buffer, uint32_t offset, uint32_t count) + const uint8_t *buffer, uint32_t offset, uint32_t count) { struct target *target = bank->target; uint32_t buffer_size = 32768; @@ -390,11 +388,12 @@ static int str9x_write_block(struct flash_bank *bank, &write_algorithm) != ERROR_OK) { LOG_WARNING("no working area available, can't do block memory writes"); 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) { @@ -458,7 +457,7 @@ static int str9x_write_block(struct flash_bank *bank, } static int str9x_write(struct flash_bank *bank, - uint8_t *buffer, uint32_t offset, uint32_t count) + const uint8_t *buffer, uint32_t offset, uint32_t count) { struct target *target = bank->target; uint32_t words_remaining = (count / 2);