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)
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)
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)
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()
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)
def __init__(self, vendor, product, interface): self.jtag = JtagEngine() self.jtag.configure(vendor, product, interface) self.jtag.reset()