Esempio n. 1
0
 def setUp(self):
     url = environ.get('FTDI_DEVICE', 'ftdi://ftdi:2232h/1')
     self.jtag = JtagEngine(trst=True, frequency=3E6)
     self.jtag.configure(url)
     self.jtag.reset()
     self.tool = JtagTool(self.jtag)
Esempio n. 2
0
MAX_WIDTH = 255


def read_pwm():
    jtag.write_ir(RD_PWM)
    pwm = jtag.read_dr(1)
    print("PWM: 0x%x" % int(pwm))


# Define Instructions
IDCODE = BitSequence('00000100', msb=True, length=8)
WR_WIDTH = BitSequence('00000101', msb=True, length=8)
RD_PWM = BitSequence('00000110', msb=True, length=8)

# Initialize
jtag = JtagEngine(frequency=TCK_FREQ)
jtag.configure(FTDI_BOARD)

jtag.reset()  # Test Logic Reset (5 times of TMS=1)

# To Shift-IR, Exit1-IR and finally move to UpdateIR
jtag.write_ir(IDCODE)

# Move to Shift-DR, repeat Shift-DR, wait 15ms, and move to Test-Logic Reset
idcode = jtag.read_dr(32)
print("IDCODE (reset): 0x%x" % int(idcode))

width = 0
dir = 1
while True:
    jtag.write_ir(WR_WIDTH)
Esempio n. 3
0
 def setUp(self):
     self.jtag = JtagEngine(trst=True, frequency=3E6)
     self.jtag.configure(vendor=0x403, product=0x6011, interface=1)
     self.jtag.reset()
     self.tool = JtagTool(self.jtag)
Esempio n. 4
0
            self._sm.handle_events(bs)
        bs = self._ctrl.writeread(out, use_last=False)
        return bs


def loadbinary(filename, startadr):
    with open(filename, "rb") as f:
        bindata = f.read()
    for i in range(len(bindata) // 4):
        ocd.writemem(startadr + i * 4,
                     struct.unpack('<I', bindata[i * 4:(i + 1) * 4])[0])


if __name__ == '__main__':
    if (argv[1] == 'f'):
        engine = JtagEngine(trst=False, frequency=10E3)
        engine.configure('ftdi://olimex:ft2232h/1')
    elif (argv[1] == 's'):
        ctrl = JtagSimController()
        ctrl.configure(7894)
        engine = JtagOCDEngine(ctrl)
    elif (argv[1] == 'v'):
        ctrl = Blaster()
        engine = JtagOCDEngine(ctrl)

    tool = JtagTool(engine)
    time.sleep(1)
    engine.reset()
    id = tool.idcode()
    print("ID:%08x" % id)
    engine.go_idle()
Esempio n. 5
0
 def setUp(self):
     self.jtag = JtagEngine(trst=True, frequency=3E6)
     # New API - example is not compatible with lastest version
     self.jtag.configure("ftdi://ftdi:232h/1")
     self.jtag.reset()
     self.tool = JtagTool(self.jtag)
Esempio n. 6
0
 def __init__(self, vendor, product, interface):
     self.jtag = JtagEngine()
     self.jtag.configure(vendor, product, interface)
     self.jtag.reset()