diff --git a/src/target/arm_adi_v5.c b/src/target/arm_adi_v5.c index 65d29f0c2..a0fd4cb4a 100644 --- a/src/target/arm_adi_v5.c +++ b/src/target/arm_adi_v5.c @@ -307,8 +307,9 @@ int mem_ap_write_buf_u32(struct adiv5_dap *dap, const uint8_t *buffer, int count return retval; for (writecount = 0; writecount < blocksize; writecount++) { - retval = dap_queue_ap_write(dap, AP_REG_DRW, - *(uint32_t *) ((void *) (buffer + 4 * writecount))); + uint32_t tmp; + tmp = buf_get_u32(buffer + 4 * writecount, 0, 32); + retval = dap_queue_ap_write(dap, AP_REG_DRW, tmp); if (retval != ERROR_OK) break; }