+ def download(self, start, data):
+ addr = start
+ addr_end = start + len(data)
+ i = (addr - 0x20000000) / 0x100
+ print "start %08x" % addr
+ print "end %08x" % addr_end
+ while addr < addr_end:
+ print "# %08x: %d : %d" % (addr, i, 256)
+ self.__devhandle.controlMsg(requestType = 0x40, request = 1,
+ value = i, index = 0,
+ buffer = data[i*256:i*256+256],
+ timeout = 10)
+ i = i+1
+ addr = addr + 256
+ residue = len(data) % 256
+ if residue != 0:
+ print "# %08x: %d : %d" % (addr, i, residue)
+ self.__devhandle.controlMsg(requestType = 0x40, request = 1,
+ value = i, index = 0,
+ buffer = data[i*256:],
+ timeout = 10)
+
+ def execute(self):
+ self.__devhandle.controlMsg(requestType = 0x40, request = 2,
+ value = 0, index = 0, buffer = None,
+ timeout = 10)
+