Rem("Jump table select"), sel(), ll("exit"), ] if __name__ == "__main__": r = CharPad.SplitChomp() print(r.code()) if False: log.critical("TESTING") console = Console() w = Window() w.req("val") ll = LocalLabels() s.test = "this is a test" w.req(["pad", "value"]) cs = Switch(w, w.val) cs.add(("c", [ll("a")])) cs.add(("r", [ll("b")])) cs.add(("s", [ll("c")])) cs.add((43, [ll("d")])) cs.add((10, [ll("e")])) cs.add((13, [ll("f")])) d = cs.dump() print(d) r = Instr.assemble(d) d = Instr.disassemble(r) print(r) print(d)
_flash_wait() print("Reloading flash data...") for page in range(num_pages): addr = ((page + 512) * page_size).to_bytes(3, byteorder="big") # start read operation _bl_flash_txn_imm(ser, ident[2], write_data=[0x0B, *addr, 0]) # and actually read the data _bl_flash_txn( ser, page * 128, read_len=min((len(firmware) - (page * 128)) * 2, 256), deassert_cs=True, ) print("Verifying flash...") calc_crc = _bl_crc(ser, 0, len(firmware)) if calc_crc != correct_crc: raise Exception("verification failed!", calc_crc, correct_crc) print("Beginning execution...") _bl_jump_to_code(ser, 0) print("Complete!") if __name__ == "__main__": f = boneload_fw() for w in f: print(Instr.disassemble([w])) x = len(f) print("c:", x, "o:", x - 256, "r:", 512 - x)