# HG changeset patch # User laurent # Date 1275490418 -7200 # Node ID 1b0f72deeb99dbac2b4ab42122f42c2c3066be4c # Parent 4d9ca788205e1d45077e0f13ca5913cd5dff5ca9# Parent bacc1314fee699ad55d665cea82ac705481235f1 changes merged diff -r 4d9ca788205e -r 1b0f72deeb99 targets/LPC/__init__.py --- a/targets/LPC/__init__.py Wed Jun 02 16:52:58 2010 +0200 +++ b/targets/LPC/__init__.py Wed Jun 02 16:53:38 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 +