self.boot_addr = int(data.encode("hex"), 16)
elif typ == 1: # End of File Record
print "Addr (rest) 0x%x" % buf_addr
- buf_addr+=self.pagesize
diff = self.pagesize-len(buf)
buf+=chr(0xff)*diff # fill with 0xff
handle(buf_addr, buf[:self.pagesize])
t1 = time()
self.compare(filename)
print "Time: %.1fs" % (time() - t1)
- print "Jump:"
- self.jump(self.boot_addr)
def write(self, s):
dev = i2c(self.i2c_addr)
usage = "usage: %prog [options] addr [ihex]"
parser = OptionParser(usage=usage)
parser.add_option("-b", "--start-bootloader", action="store_true", dest="bToBoot", default=False, help="Start Bootloader")
+ parser.add_option("-j", "--jump", action="store_true", dest="bJump", default=False, help="Jump to Program")
(options, args) = parser.parse_args()
- if len(args) > 0:
+ if not args:
+ print "Missing Address"
+ else:
addr = int(args[0], 16)
if options.bToBoot:
to_bootloader(addr)
loader = bootloader(addr)
if len(args) > 1:
loader.load(args[1])
+ if options.bJump:
+ print "Jump to Program"
+ loader.jump(0x0)