diff --git a/tools/AssemblyView.py b/tools/AssemblyView.py index 253c975..5940172 100644 --- a/tools/AssemblyView.py +++ b/tools/AssemblyView.py @@ -6,11 +6,11 @@ class AssemblyView(wx.Frame): def __init__(self): wx.Frame.__init__(self,None, -1, 'AssemblyView') toolbar = self.CreateToolBar() - load = toolbar.AddLabelTool(wx.ID_ANY, 'load', wx.Bitmap('tools/tload.png')) - reset = toolbar.AddLabelTool(wx.ID_ANY, 'reset', wx.Bitmap('tools/treset.png')) - step = toolbar.AddLabelTool(wx.ID_ANY, 'step', wx.Bitmap('tools/tstep.png')) - run = toolbar.AddLabelTool(wx.ID_ANY, 'run', wx.Bitmap('tools/trun.png')) - pause = toolbar.AddLabelTool(wx.ID_ANY, 'break', wx.Bitmap('tools/tbreak.png')) + load = toolbar.AddLabelTool(wx.ID_ANY, 'load', wx.Bitmap('tload.png')) + reset = toolbar.AddLabelTool(wx.ID_ANY, 'reset', wx.Bitmap('treset.png')) + step = toolbar.AddLabelTool(wx.ID_ANY, 'step', wx.Bitmap('tstep.png')) + run = toolbar.AddLabelTool(wx.ID_ANY, 'run', wx.Bitmap('trun.png')) + pause = toolbar.AddLabelTool(wx.ID_ANY, 'break', wx.Bitmap('tbreak.png')) toolbar.Realize() self.Bind(wx.EVT_TOOL, self.onLoad, load) self.Bind(wx.EVT_TOOL, self.onStep, step) @@ -46,12 +46,14 @@ def onPause(self,evt): def onStep(self,evt): try: self.av.dbg.step() + self.av.Refresh() except socket.error: wx.MessageBox('Not connected', 'Error', wx.OK | wx.ICON_ERROR) except Exception as e: wx.MessageBox(str(e), 'Error', wx.OK | wx.ICON_ERROR) def onLoad(self,evt): diag = wx.FileDialog(None) + diag.SetWildcard("*.srec") r = diag.ShowModal() if r != wx.ID_OK: return diff --git a/tools/debugger.sh b/tools/debugger.sh new file mode 100644 index 0000000..48e5b96 --- /dev/null +++ b/tools/debugger.sh @@ -0,0 +1,18 @@ +#! /bin/bash + +SOURCE="${BASH_SOURCE[0]}" +DIR="$( dirname "$SOURCE" )" +while [ -h "$SOURCE" ] +do + SOURCE="$(readlink "$SOURCE")" + [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" + DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" +done +DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + + +pushd $DIR +python AssemblyView.py & +python CPUView.py & +wait +popd diff --git a/tools/mips32emu/DbgEngine.py b/tools/mips32emu/DbgEngine.py index e1888f0..a6354c4 100644 --- a/tools/mips32emu/DbgEngine.py +++ b/tools/mips32emu/DbgEngine.py @@ -41,6 +41,13 @@ def disassemble(self,op): dis = [l[6:] for l in dis.split("\n") if l.startswith(" 0:\t") ].pop() self.disasmCache.put(op,dis) return dis + def run(self): + self.s.send("run\n") + res = self.s.recv(1024) + if res.startswith('ok'): + return + else: + raise CommandException("run failed") def dbgBreak(self): self.s.send("break\n") res = self.s.recv(1024) diff --git a/tools/tbreak.png b/tools/tbreak.png index 0e501bb..4ab697c 100644 Binary files a/tools/tbreak.png and b/tools/tbreak.png differ diff --git a/tools/tload.png b/tools/tload.png index 0e501bb..f1d651e 100644 Binary files a/tools/tload.png and b/tools/tload.png differ diff --git a/tools/treset.png b/tools/treset.png index 0e501bb..cdd113e 100644 Binary files a/tools/treset.png and b/tools/treset.png differ diff --git a/tools/trun.png b/tools/trun.png index 0e501bb..4a6fba8 100644 Binary files a/tools/trun.png and b/tools/trun.png differ diff --git a/tools/tstep.png b/tools/tstep.png index 0e501bb..f2221b5 100644 Binary files a/tools/tstep.png and b/tools/tstep.png differ