X-Git-Url: http://git.rot13.org/?p=goodfet;a=blobdiff_plain;f=client%2Fgoodfet.monitor;h=bbed7930d97730a2d2a6a29cea0a863874d611e2;hp=e3a0477ca8350c17ccd1b4e772b8f0ee63f21ebb;hb=7d033e4958693f8a618679d49eeae0ed735f996b;hpb=c5a56b2284ba0cd554cb44ed221eb91489607b9e diff --git a/client/goodfet.monitor b/client/goodfet.monitor index e3a0477..bbed793 100755 --- a/client/goodfet.monitor +++ b/client/goodfet.monitor @@ -15,13 +15,39 @@ if(len(sys.argv)==1): print "%s verify $foo.hex [0x$start 0x$stop]" % sys.argv[0]; print "%s ramfill" % sys.argv[0]; print "%s ramdepth" % sys.argv[0]; + print "%s info" % sys.argv[0]; + print "%s call 0x$start" % sys.argv[0]; + print "%s exec '0x35 0x00 0x..'" % sys.argv[0]; sys.exit(); -#Initailize FET and set baud rate +#Initialize FET and set baud rate client=GoodFET(); client.serInit() +#client.verbose=1; +if(sys.argv[1]=="on"): + client.dir(0xFF); + client.out(0xFF); +if(sys.argv[1]=="off"): + client.out(0x00); +if(sys.argv[1]=="glitchtest"): + client.writecmd(client.GLITCHAPP,0x20,0,None); + +if(sys.argv[1]=="call"): + adr=int(sys.argv[2],16); + print "Calling %04x" % adr; + client.call(adr); +if(sys.argv[1]=="exec"): + code=""; + for foo in sys.argv[2].split(" "): + code+=chr(int(foo,16)); + code+="\x30\x41"; + client.execute(code); + +if(sys.argv[1]=="info"): + print "GoodFET with %s MCU" % client.infostring(); + print "Clocked at %s" % client.monitorclocking(); if(sys.argv[1]=="ramfill"): client.monitor_ram_pattern(); if(sys.argv[1]=="ramdepth"): @@ -58,6 +84,7 @@ if(sys.argv[1]=="peek"): stop=0xFFFF; if(len(sys.argv)>2): start=int(sys.argv[2],16); + stop=start+1 if(len(sys.argv)>3): stop=int(sys.argv[3],16);