X-Git-Url: http://git.rot13.org/?p=goodfet;a=blobdiff_plain;f=client%2Fgoodfet.glitch;fp=client%2Fgoodfet.glitch;h=edce100116dc6b255baa869809a94249f9ead849;hp=0000000000000000000000000000000000000000;hb=a7cc817abb073fa7cb8664b7af9832c0506749ff;hpb=fa0f91bb0af90149c2502c3e2c0ad06516d28a49 diff --git a/client/goodfet.glitch b/client/goodfet.glitch new file mode 100755 index 0000000..edce100 --- /dev/null +++ b/client/goodfet.glitch @@ -0,0 +1,31 @@ +#!/usr/bin/env python + +import sys,binascii,time,random; + +sys.path.append('../../../trunk/client/') + +from GoodFETAVR import GoodFETAVR; +from GoodFETGlitch import *; +from intelhex import IntelHex16bit, IntelHex; + +import sqlite3; + + +glitcher=GoodFETGlitch(); + +if(len(sys.argv)==1): + print "Usage: %s chip verb [objects]\n" % sys.argv[0]; + print "%s avr learn" % sys.argv[0]; + print """ +This populates a database, glitch.db, with a record of all attempted +glitches. Graphs can then be generated from the results, allowing +results to be replicated on different hardware and models. The general +sequence for a new chip is to first run 'goodfet $foo learn' for an evening, +then to FINISHME""" + sys.exit(); + + +glitcher.setup(sys.argv[1]); + +if(sys.argv[2]=="learn"): + glitcher.learn();