write_mem8 with more than 0x40 bytes gives unexpected results
authorUwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
Tue, 17 Jan 2012 20:17:02 +0000 (21:17 +0100)
committerUwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
Tue, 17 Jan 2012 21:16:55 +0000 (22:16 +0100)
src/stlink-common.c

index 2d495a852cc4e8c90a102c187d26bf1d66237f88..0c391129c1df43cee52e3c508080b08443d79fd2 100644 (file)
@@ -537,6 +537,11 @@ void stlink_read_mem32(stlink_t *sl, uint32_t addr, uint16_t len) {
 
 void stlink_write_mem8(stlink_t *sl, uint32_t addr, uint16_t len) {
     DLOG("*** stlink_write_mem8 ***\n");
+    if (len > 0x40 ) { // !!! never ever: Writing more then 0x40 bytes gives unexpected behaviour
+        fprintf(stderr, "Error: Data length > 64: +%d byte.\n",
+                len);
+        return;
+    }
     sl->backend->write_mem8(sl, addr, len);
 }