[fix] unknown bug, must use 0x40 instead of pgsize when writing flash
authortexane <texane@dell.fbx.proxad.net>
Fri, 14 Jan 2011 16:49:59 +0000 (10:49 -0600)
committertexane <texane@dell.fbx.proxad.net>
Fri, 14 Jan 2011 16:49:59 +0000 (10:49 -0600)
src/stlink-access-test.c

index e40bac8495cc917cd1e60bc9453fedfe510700c2..1fa6e5f8e066718bda918dfb285c361b554066eb 100644 (file)
@@ -1551,12 +1551,13 @@ static int stlink_fwrite_flash
     goto on_error;
   }
 
-  /* write each page */
-  for (off = 0; off < mf.len; off += sl->flash_pgsz)
+  /* write each page. above WRITE_BLOCK_SIZE fails? */
+#define WRITE_BLOCK_SIZE 0x40
+  for (off = 0; off < mf.len; off += WRITE_BLOCK_SIZE)
   {
-    /* adjust last page size */
-    size_t size = sl->flash_pgsz;
-    if ((off + sl->flash_pgsz) > mf.len)
+    /* adjust last write size */
+    size_t size = WRITE_BLOCK_SIZE;
+    if ((off + WRITE_BLOCK_SIZE) > mf.len)
       size = mf.len - off;
 
     if (run_flash_loader(sl, &fl, addr + off, mf.base + off, size) == -1)