'goodfet.monitor info' now identifies MCU.
[goodfet] / client / goodfet.spiflash
index a04ed19..10750ff 100755 (executable)
@@ -26,10 +26,15 @@ if(len(sys.argv)==1):
 
 #Initailize FET and set baud rate
 client=GoodFET();
-client.serInit("/dev/ttyUSB0")
+client.serInit()
+
 
 client.SPIsetup();
 
+#Dummy read.
+#Might read as all ones if chip has a startup delay.
+client.SPIjedec();
+
 if(sys.argv[1]=="test"):
     result="";
     dropped=0;
@@ -72,9 +77,7 @@ if(sys.argv[1]=="dump"):
     i=start;
     while i<=stop:
         data=client.SPIpeekblock(i);
-        
-        
-        if(i%0x100==0):
+        if(i%0x1000==0):
             print "Dumped %06x."%i;
         for j in data:
             file.write(j);
@@ -93,11 +96,17 @@ if(sys.argv[1]=="flash"):
     file = open(f, mode='rb')
 
     i=start;
-    bytes=file.read();
+    chars=list(file.read());
+    chunksize=0x80;
+    
     while i<=stop:
-        client.SPIpokebyte(i,ord(bytes[i]));
+        bytes=range(0,chunksize);
+        for j in range(0,chunksize):
+            bytes[j]=ord(chars[i+j]);
+        #client.SPIpokebyte(i,ord(chars[i]));
+        client.SPIpokebytes(i,bytes);
         
-        i+=1;
+        i+=chunksize;
         if(i%0x100==0):
             print "Flashed %06x."%i;
     file.close()