Debuggers and Emulators - rosco-pc/propeller-wiki GitHub Wiki

Spin Debuggers

View Port

Commercial tool now adopted by Parallax. Includes a spin debugger, which is only one currently available. Windows based.

More details here

SPUD

SPUD stands for Spin PASM Unit Debugger.

Spud is a spin debugger that is similar to gdb, and is available for Linux and Windows running Cygwin. Released as open source in its forum thread here.

Cluso SPIN Debugger

Open Source Debugger capable of single stepping SPIN code. Uses a serial interface to allow stepping and display of data, but is involved to setup your code to test. Does not have a source display. Current release is 275/276 from its forum thread here Also there is a similar version forP ASM.

Asm Debuggers

BMA PASM Debugger

Here is a simple on chip PASM debugger. The BMAdebugger does not use a GUI. Debugging is most effective when used in conjunction with BSTC compiler .list files.

  • Small and simple on chip PASM debugger
  • No Windows or other PC program required
  • Feature rich command set
  • Multi-COG debug ability

from its forum thread.

KISS Debugger

Commercial tool that has on chip assembly level debugging. Standalone, using propeller based IO, no need for PC at all. More details here (www.machineinteltech.com/Propeller_Debugger.html now defunct).

PASD

The debugger system consists of a PC program, a spin-object and a short debug the kernel, at the beginning of the debug code to be inserted.

The debug kernel is only 12 longs large, and allows you to communicate with the PASD spin driver, in a separate Cog runs. This spin-driver communicates via the serial programming interface with the PC and to display current program. Apart from the pins 30 and 31 remain, all IOs of the propeller available during debugging.

More details PASD

POD Debugger

PASM Debugger. Supports breakpoints and single stepping PASM code running on the target hardware.

POD is propeller source that you build into your project, and add a few hooks to the PASM to be debugged.

Can display and single Latest version can be controlled via PropTerminal or similar. The original versions used a keyboard and TV monitor directly attached to the Propeller for input and display.

More info and releases are in this thread.

Cluso PASM Debugger

Open Source Debugger capable of single stepping PASM code. Uses a serial interface to allow stepping and display of data, but is involved to setup your code to test. Does not have a source display. Current release is 275/276 from its forum thread here Also there is a similar version for SPIN.

Monitors

A monitor is a simple mechanism for observing debug output, when a debugger is not available. There are a number of spin objects that can be used for this use, that use serial, video or LCD to display debug information.

Monitor.spin dumps the main memory contents using a serial interface, with some support for iteration with the terminal. SerialMirror.spin can be used to dump out diagnostic info from spin code.

Simulators

pPropellerSim

pPropellerSim is a powerful full-featured Propeller Simulator/Assembler and Debugger. A built-in editor with syntax highlight allows you to program in propeller assembler, to compile and to simulate your code in a fully working COG (no hw at this time). A high compatibility level with Parallax' PropellerTool allows for easy and rapid transfer of DAT sections.

It is program in the Java programming language which makes it able to run on Solaris, MacOS X, Linux and more.

The manual on-line can be found here and it can be downloaded from here

GEAR

Running GEAR Example GEAR is a open source C# program the emulates the inner workings of the Propeller chip. It is able to emulate multiple spin and PASM cogs concurrently, with Spin and PASM instruction decode, manual breakpoints and memory viewing (main and Cog RAM]]. It have complete support for pins input & output, counters and locks. GEAR also has a plug-ins interface that allows external hardware to be emulated. Currents plug-ins include: a VGA display, Television display, serial IO (terminal emulation), and a pin toggling (stimulus) module with breakpoints definitions. Include a plug-ins editor (requires some level of knowing C#), able to edit them, for example to change pins definitions of TV or VGA.

Main version development stopped in 2007 (asterisk user), but others users had made new versions with enhancements and corrections.

Original asterik's version of GEAR can be found at the project page or on the forums. Version up to 2009 on the forum ("More GEAR" thread). From 2014, latest version on the forum Improved GEAR Emulator.

PropList

PropList from AiChip Industries is a Windows Command Line utility to disassemble Spin Bytecode and PASM instructions from a .binary or .eeprom file creating a symbolic list file (.lst) or ByteCode Assembler source (.asm) for further processing.

The utility traverses the code image for objects, methods and PASM code to maximise the amount of usable disassembly that can be determined. The program is written in PowerBasic (PB/CC) with source code included.

More details : here


Todo:

  • Add Spinsim.
  • Mention Verilator experiments to generate a simulator from P1V sources?