Faster SPI Flash dumping, but it's a bit ugly.
[goodfet] / client / goodfet.spiflash
index e6150e2..571ddc4 100755 (executable)
@@ -56,11 +56,12 @@ if(sys.argv[1]=="test"):
 
 if(sys.argv[1]=="info"):
     data=client.SPIjedec();
-    print "Ident as %s\nManufacturer: %02x %s\nType: %02x\nCapacity: %02x" % (
+    print "Ident as %s\nManufacturer: %02x %s\nType: %02x\nCapacity: %02x (%i bytes)" % (
         client.SPIjedecstr(),
         ord(data[1]),client.SPIjedecmanstr(),
         ord(data[2]),
-        ord(data[3]));
+        ord(data[3]),
+        client.JEDECsize);
 
 if(sys.argv[1]=="dump"):
     f = sys.argv[2];
@@ -76,11 +77,11 @@ if(sys.argv[1]=="dump"):
 
     i=start;
     while i<=stop:
-        data=client.SPIpeekblock(i);
-        if(i%0x1000==0):
-            print "Dumped %06x."%i;
+        data=client.SPIpeekblock(i,255);
+        #if(i%0x1000==0):
+        print "Dumped %06x."%i;
         for j in data:
-            file.write(j);
+            if i<stop: file.write(j);
             i+=1;
     file.close()
 if(sys.argv[1]=="flash"):