##// END OF EJS Templates
ASM restart sequence updated at the interrupt service routine level...
ASM restart sequence updated at the interrupt service routine level first timecode missing detection modified

File last commit:

r197:d5570d7e57e2 R3
r259:af93852650f9 R3a
Show More
scrub.py
83 lines | 2.9 KiB | text/x-python | PythonLexer
#from PyQt4 import QtGui
#from PyQt4 import QtCore
#from PyQt4 import Qt
import sys
def elfSize(FileName,section):
bashCommand = "/usr/bin/size "+ FileName
import subprocess
process = subprocess.Popen(bashCommand.split(), stdout=subprocess.PIPE)
result = process.communicate()[0].split("\n")
header = result[0].lstrip()
line1 = result[1].lstrip()
hcolumns=header.split()
columns=line1.split()
for i in range(0,len(hcolumns)):
if(hcolumns[i].find(section) != -1):
return int(columns[i])
return 0;
def elfAddress(FileName,section):
bashCommand = "readelf -S " + FileName
import subprocess
process = subprocess.Popen(bashCommand.split(), stdout=subprocess.PIPE)
result = process.communicate()[0].split()
for i in range(0,len(result)):
if(result[i].find('.'+section) != -1):
return int("0x"+result[i+2],16)
return 0;
def compare(data1,data2):
if len(data1)!=len(data2):
return [-1,-1]
for i in range(len(data1)):
if data1[i]!=data2[i]:
return [-1,i]
return [1,-1]
def cycles(rootPlugin,textAddress,textSize,orgiData,count):
for i in range(count):
rootPlugin.dumpMemory(textAddress,textSize/4,"/opt/dump"+str(i)+".srec","srec")
data = rootPlugin.Read(textAddress,textSize/4)
result = compare(data,orgiData)
if(result[0]==1):
print("test number "+str(i)+" = success")
else:
print("test number "+str(i)+" = error @0x" + hex(textAddress + result[1]))
#app = QtGui.QApplication(sys.argv)
fileName = QtGui.QFileDialog.getOpenFileName()
if PySocExplorer.ElfFile.isElf(fileName):
proxy.loadSysDriver("SpwPlugin","SpwPlugin0")
SpwPlugin0.selectBridge("STAR-Dundee Spw USB Brick")
proxy.loadSysDriverToParent("dsu3plugin","SpwPlugin0")
proxy.loadSysDriverToParent("LFRControlPlugin","SpwPlugin0")
SpwPlugin0.TCPServerConnect()
LFRControlPlugin0.TCPServerConnect()
proxy.loadSysDriverToParent("APB_UART_PLUGIN","SpwPlugin0")
availableBrickCount = SpwPlugin0.StarDundeeGetAvailableBrickCount()
print(str(availableBrickCount) + " SpaceWire brick(s) found")
SpwPlugin0.StarDundeeSelectBrick(1)
SpwPlugin0.StarDundeeSetBrickAsARouter(1)
SpwPlugin0.connectBridge()
APB_UART_PLUGIN0.setUARTPortNane("/dev/ttyUSB1")
APB_UART_PLUGIN0.setUARTPortSpeed(38400)
APB_UART_PLUGIN0.openUart()
textSize= elfSize(fileName,"text")
textAddress= elfAddress(fileName,"text")
print "Found text section@" + hex(textAddress)+ " of " + str(textSize) +" bytes"
print "loading software"
dsu3plugin0.openFile(fileName)
dsu3plugin0.loadFile()
SpwPlugin0.dumpMemory(textAddress,textSize/4,"/opt/dumpOrig.srec","srec")
dsu3plugin0.run()
orgiData = SpwPlugin0.Read(textAddress,textSize/4)
orgiData = SpwPlugin0.Read(textAddress,textSize/4)