# HG changeset patch # User Lolitech # Date 1275489606 -7200 # Node ID bacc1314fee699ad55d665cea82ac705481235f1 # Parent 6ff2c1d346406ad1891940f0b3475b290879fb56 Overloaded GetBinaryCode in LPC connector returns ready to send over serial binary diff -r 6ff2c1d34640 -r bacc1314fee6 targets/LPC/__init__.py --- a/targets/LPC/__init__.py Wed Jun 02 16:35:00 2010 +0200 +++ b/targets/LPC/__init__.py Wed Jun 02 16:40:06 2010 +0200 @@ -1,11 +1,22 @@ +import os +from subprocess import Popen,PIPE from .. import toolchain_makefile +import hashlib class LPC_target(toolchain_makefile): extension = ".ld" DebugEnabled = False def GetBinaryCode(self): + """Returns ready to send signed + sized intel formated hex program""" try: - return open(os.path.join(self.buildpath, "ArmPLC_rom.bin"), "rb").read() + size = int(Popen( + ['arm-elf-size','-B',os.path.join(self.buildpath,"ArmPLC_rom.elf")], + stdout=PIPE).communicate()[0].splitlines()[1].split()[0]) + res = "&" + hashlib.md5(open(os.path.join(self.buildpath, "ArmPLC_rom.bin"), "rb").read(size)).hexdigest() + '\n' +\ + "$" + str(size) + '\n' +\ + open(os.path.join(self.buildpath, "ArmPLC_rom.hex"), "r").read() + return res except Exception, e: return None +