X-Git-Url: http://git.rot13.org/?p=goodfet;a=blobdiff_plain;f=client%2Fgoodfet.cc;h=19a0b13ef0589d5f3753b2bb86612fe5e14aece5;hp=e937398badf45b13ed45a6b8ea3109bd741faec8;hb=74aafc7c7bd2cfb7c355d170b9d3a548dfa8e0c1;hpb=ed0549956cb25b94cbd1951be718efc1dbfdf1c9 diff --git a/client/goodfet.cc b/client/goodfet.cc index e937398..19a0b13 100755 --- a/client/goodfet.cc +++ b/client/goodfet.cc @@ -146,16 +146,14 @@ if(sys.argv[1]=="flash"): h = IntelHex(f); page = 0x0000; - pagelen = 2048; #2kB pages in 32-bit words + pagelen = client.CCpagesize(); #2048; #2kB pages in 32-bit words + bcount = 0; - print "Wiping Flash." - #Wipe all of flash. - #client.CCchiperase(); #Wipe the RAM buffer for the next flash page. - #client.CCeraseflashbuffer(); + client.CCeraseflashbuffer(); for i in h._buf.keys(): - while(i>page+pagelen): + while(i>=page+pagelen): if bcount>0: client.CCflashpage(page); #client.CCeraseflashbuffer(); @@ -227,7 +225,23 @@ if(sys.argv[1]=="peek"): while start<=stop: print "%04x: %02x" % (start,client.CCpeekirambyte(start)); start=start+1; - +if(sys.argv[1]=="verify"): + f=sys.argv[2]; + start=0; + stop=0xFFFF; + if(len(sys.argv)>3): + start=int(sys.argv[3],16); + if(len(sys.argv)>4): + stop=int(sys.argv[4],16); + + h = IntelHex(f); + for i in h._buf.keys(): + if(i>=start and i2):