beremiz

Updated logger calls in debugthread.

2012-02-16, Edouard Tisserant
dac752b613bb
file isExecutable
Updated logger calls in debugthread.
Cleaned up useles call to kill debugthread in stop
Removed dead commented code
import os
from subprocess import Popen,PIPE
from ..toolchain_makefile import toolchain_makefile
import hashlib
class LPC_target(toolchain_makefile):
#extension = ".ld"
#DebugEnabled = False
def __init__(self, PluginsRootInstance):
self.binmd5key = None
toolchain_makefile.__init__(self, PluginsRootInstance)
def _GetBinMD5FileName(self):
return os.path.join(self.buildpath, "lastbuildPLCbin.md5")
def _get_md5_header(self):
"""Returns signature header"""
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'
return res
def GetBinaryCode(self):
"""Returns ready to send signed + sized intel formated hex program"""
try:
res = self._get_md5_header() +\
open(os.path.join(self.buildpath, "ArmPLC_rom.hex"), "r").read()
return res
except Exception, e:
return None
def _get_cached_md5_header(self):
if self.binmd5key is not None:
return self.binmd5key
else:
try:
return open(self._GetBinMD5FileName(), "r").read()
except IOError, e:
return None
def GetBinaryCodeMD5(self, mode):
if mode == "BOOTLOADER":
return self._get_cached_md5_header()
else:
return toolchain_makefile.GetBinaryCodeMD5(self)
def build(self):
res = toolchain_makefile.build(self)
self.binmd5key = self._get_md5_header()
f = open(self._GetBinMD5FileName(), "w")
f.write(self.binmd5key)
f.close()
try:
self.PluginsRootInstance.logger.write(
_("Binary is %s bytes long\n")%
str(os.path.getsize(
os.path.join(self.buildpath, "ArmPLC_rom.bin"))))
except Exception, e:
pass
return res