From 6a6b52bf54ae2400634d69f4f0cc632592b40a96 Mon Sep 17 00:00:00 2001 From: Gareth McMullin Date: Sat, 12 Nov 2011 13:47:50 +1300 Subject: [PATCH] Fixed python scripts for programming target to work on 64-bit machines. --- scripts/gdb.py | 4 ++-- scripts/hexprog.py | 8 +++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/scripts/gdb.py b/scripts/gdb.py index fc3572c9..11e8a90f 100644 --- a/scripts/gdb.py +++ b/scripts/gdb.py @@ -163,11 +163,11 @@ class Target: data = unhexify(reply) except Excpetion: raise Exception('Invalid response to memory read packet: %r' % reply) - return struct.unpack("16L", data) + return struct.unpack("=16L", data) def write_regs(self, *regs): """Write target core registers""" - data = struct.pack("%dL" % len(regs), *regs) + data = struct.pack("=%dL" % len(regs), *regs) self.putpacket("G" + hexify(data)) if self.getpacket() != 'OK': raise Exception('Error writing to target core registers') diff --git a/scripts/hexprog.py b/scripts/hexprog.py index e82c9180..128e55eb 100755 --- a/scripts/hexprog.py +++ b/scripts/hexprog.py @@ -101,7 +101,13 @@ if __name__ == "__main__": exit(-1) try: - target = gdb.Target(Serial(dev, baud, timeout=3)) + s = Serial(dev, baud, timeout=3) + s.setDTR(1) + while s.read(1024): + pass + + target = gdb.Target(s) + except SerialException, e: print("FATAL: Failed to open serial device!\n%s\n" % e[0]) exit(-1)