summaryrefslogtreecommitdiffhomepage
path: root/tools
diff options
context:
space:
mode:
authorNélio Laranjeiro2009-01-28 23:43:29 +0100
committerNélio Laranjeiro2009-01-28 23:43:29 +0100
commit76e17b119a52c0ec0a4ea36a8276cc552efee2d2 (patch)
treec9c5fbb0956a66c0b332df45506c1ff355a37cea /tools
parentab2b97c9981345fadbcd2a6e82c84643bc471543 (diff)
tools/trace: Interpretation of the memory flash data done. (Closes #59).
Diffstat (limited to 'tools')
-rw-r--r--tools/trace/tinter/tinter.py19
-rw-r--r--tools/trace/trace.py49
2 files changed, 37 insertions, 31 deletions
diff --git a/tools/trace/tinter/tinter.py b/tools/trace/tinter/tinter.py
index 7c0a6d90..8f368519 100644
--- a/tools/trace/tinter/tinter.py
+++ b/tools/trace/tinter/tinter.py
@@ -20,7 +20,7 @@ class TInter:
def __event_print (self, events, memory):
if len(memory) > 0:
- cmd = int (memory[0:2])
+ cmd = int (memory[0:2], 16)
e = events[cmd]
string = e.string_get()
memory = memory[2:len(memory)]
@@ -32,9 +32,22 @@ class TInter:
string = string.replace('%d', str(int(val, 16)), 1)
return [memory, string]
- def trace_print (self):
+ def __get_last_trace (self, data):
+ while len (data):
+ memory = data.split('f33ff22f')
+ memory = memory[len(memory) - 1]
+ return memory
+
+ def trace_print (self, file=None):
events = self.__events_get ()
- memory = thost_dump_memory()
+
+ if file == None:
+ memory = thost_dump_memory()
+ else:
+ file = open (file, 'r')
+ memory = file.read()
+ file.close()
+ memory = self.__get_last_trace (memory)
while len(memory) > 0:
data = self.__event_print(events, memory)
diff --git a/tools/trace/trace.py b/tools/trace/trace.py
index df327d9a..819bd0ba 100644
--- a/tools/trace/trace.py
+++ b/tools/trace/trace.py
@@ -1,4 +1,4 @@
-#!/bin/usr/pythonenv
+#!/bin/usr/env python
import sys
from tcreator.tcreator import *
@@ -23,30 +23,23 @@ def create_parse_args(list = None):
print "Trace System v1.0 by APBTeam\n"
-try:
- if len(sys.argv) > 1:
- argc = len(sys.argv)
- if sys.argv[1] == "create":
- if (argc >= 2) and (argc <= 7):
- data = create_parse_args(sys.argv)
- cre = TCreator (data[0], data[1], data[2])
- cre.create ()
- else:
- raise Exception ("Not enough arguments")
- if sys.argv[1] == "inter":
- if argc == 3:
- inter = TInter (sys.argv[2])
- inter.trace_print()
- else:
- raise Exception ("Not enough arguments")
- else:
- raise Exception ("Not enough arguments")
-except:
- print "Trace system use..."
- print "python trace.py create [options] <file in>"
- print " Options : "
- print " -e enum name"
- print " -o file out name"
- print ""
- print "python trace.py inter <file in>"
- print ""
+if len(sys.argv) > 1:
+ argc = len(sys.argv)
+ if sys.argv[1] == "create":
+ if (argc >= 2) and (argc <= 7):
+ data = create_parse_args(sys.argv)
+ cre = TCreator (data[0], data[1], data[2])
+ cre.create ()
+ else:
+ raise Exception ("Not enough arguments")
+ if sys.argv[1] == "inter":
+ if argc >= 2:
+ inter = TInter (sys.argv[2])
+ if argc == 2:
+ inter.trace_print(None)
+ else:
+ inter.trace_print(sys.argv[3])
+ else:
+ raise Exception ("Not enough arguments")
+else:
+ raise Exception ("Not enough arguments")