From 76e17b119a52c0ec0a4ea36a8276cc552efee2d2 Mon Sep 17 00:00:00 2001 From: NĂ©lio Laranjeiro Date: Wed, 28 Jan 2009 23:43:29 +0100 Subject: tools/trace: Interpretation of the memory flash data done. (Closes #59). --- tools/trace/tinter/tinter.py | 19 ++++++++++++++--- tools/trace/trace.py | 49 +++++++++++++++++++------------------------- 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] " - print " Options : " - print " -e enum name" - print " -o file out name" - print "" - print "python trace.py inter " - 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") -- cgit v1.2.3