8554f47dceea16f99198f4115bcdf40358640d84
[goodfet] / reports / avr / glitch / stability.py
1 #!/usr/bin/env python
2
3 import sys;
4 import binascii;
5
6 sys.path.append('../../../client/')
7
8 from GoodFETAVR import GoodFETAVR;
9 from intelhex import IntelHex16bit, IntelHex;
10
11 #Initialize FET and set baud rate
12 client=GoodFETAVR();
13 client.serInit()
14
15 #Connect to target
16 client.start();
17
18 trials=100; #10,000 is smooth
19 skip=0x1;
20
21 start=0x860;
22 stop=0x890;
23
24
25
26 print "# Threshold voltage test."
27 print "# %i trials/point, %i steps/point" % (trials, skip);
28 print "# DAC Range %04x to %04x" % (start, stop);
29 print "# Generated by GoodFET, http://goodfet.sf.net/"
30 for voltage in range(start,stop,skip):
31     
32     
33     client.glitchVoltages(voltage, voltage);
34     count=0;
35     for i in range(1,trials):
36         client.start();
37         if(client.lockbits()==0xFF):
38             count+=1;
39     print "%f, %f" % (voltage*(3.3/4096.0),count*1.0/trials);
40