static int flash_go(struct stlink* sl) {
int error = -1;
+ // Some kinds of clock settings do not allow writing to flash.
+ stlink_reset(sl);
+
for(struct flash_block* fb = flash_root; fb; fb = fb->next) {
#ifdef DEBUG
printf("flash_do: block %08x -> %04x\n", fb->addr, fb->length);
}
}
+ stlink_reset(sl);
+
error = 0;
error:
} else {
reply = strdup("OK");
}
-
- stlink_reset(sl);
}
if(reply == NULL)