arm: Mis-aligned data issue fix.
[fw/openocd] / src / target / arm_adi_v5.c
index 65d29f0c2dc121444adea4ba6ab1500667608957..a0fd4cb4a620b148c440040016e4a70a669e714d 100644 (file)
@@ -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;
                }