Official MSPSim git repository
Java C Other
Latest commit 378edbb May 3, 2016 @joakimeriksson joakimeriksson Merge pull request #47 from nfi/cli-optional
Added option to start MSPSim without CLI
Failed to load latest commit information.
firmware Updated test firmware for Z1 platform May 29, 2012
scripts Reenabled autostart of emulation Oct 20, 2013
tests Updates to work with mspgcc 20110716 and subsequent releases Sep 4, 2011
.gitignore Add jar ignore Sep 1, 2015
.travis.yml Travis Aug 13, 2013


* MSPSim version 0.9x

MSPSim is a Java-based instruction level emulator of the MSP430 series
microprocessor and emulation of some sensor networking
platforms. Supports loading of IHEX and ELF firmware files, and has
some tools for monitoring stack, setting breakpoints, and profiling.

* System requirements

You need a recent Java to run MSPSim. Java SE 1.7 or newer is recommended.
The current version of MSPSim also requires make or ant for compiling.

* Building MSPSim

You will build MSPSim by typing


* Running examples

Run the default example on the ESB node emulator by typing:

>make runesb

(here you can pass the PIR with the mouse and click on the
 user button to get reaction from the example application).

Run the default example on the Sky node emulator by typing:

>make runsky

(this is a leds-blinker only and does not react to any mouse
 movements or button clicks).

* Main Features
- Instruction level emulation of MSP430 microprocessor
- Supports loading of ELF and IHEX files
- Easy to add external components that emulates external HW
- Supports monitoring of registers, adding breakpoints, etc.
- Built-in profiling of executed code
- Statistics for various components modes (on/off, LPM modes, etc).
- Emulates some external hardware such as TR1001 and CC2420.
- Command Line Interface, CLI, for setting up breakpoints and output
  to files or windows.
- GDB remote debugging support (initial)

* What is emulated of the MSP430
- CPU (instruction level simulation)
- Timer A/B subsystem
- Digital I/O
- Multiplication unit
- Basic A/D subsystem (not complete)
- Watchdog

* Limitations of the emulation (some of them) on version 0.9x
- currently the emulator runs as if it can use all memory as RAM
  (e.g. flash writes, etc not supported)
- no DMA implementation
- timer system not 100% emulated