[ News ] [ Download ] [ Installation ] [ Usage ] [ Mail to developer ]

            _____     _
           / ____|   (_)
     _   _| |     ___ _ _ __ ___
    | | | | |    / __| | '_ ` _ \
    | |_| | |____\__ \ | | | | | |
    \ ._,_|\_____|___/_|_| |_| |_|
    | |
    |_|

# Software simulator for microcontrollers

μCsim can be used to simulate microcontrollers. It supports MCS51 family, AVR core, Z80, HC08, ST7, STM8, TLCS90, XA51 and Padauk. It can run on Linux, Windows, OSX, BSD, and other systems.
See what's new in current version.

## Download

There are two places where you can download μCsim from:

1. SDCC homepage. μCsim is part of the SDCC (Small Device C Compiler) project. You can download source of SDCC and precompiled binaries from http://sdcc.sf.net.
2. μCsim site. Standalone source package is available on the μCsim web site:
   http://mazsola.iit.uni-miskolc.hu/ucsim/download

## How to install

UNIX version is distributed in source.

1. Get archive file, uncompress and untar it. These steps will produce a directory ucsim-X.Y.Z where X.Y.Z is the version number.
2. Make sure, that following packages are installed on your system: make, bison (or yacc), flex (or lex), libncurses-dev. You will need a C and a C++ compiler as well.
3. Go to the directory and configure the package. Issue `configure` command. It will determine your system and produce Makefile. Installation directory can be specified with `--prefix=dir` option to the `configure`. Default directory is `/usr/local`. Executable file will be placed in `bin` subdirectory.
4. Compile the package with `make` command.
5. Install executables ucsim_51, ucsim_avr, ucsim_hc08, ucsim_xa, ucsim_z80, etc. to any directory you want. It can be done with `make install` command which will place files in installation directory specified with `--prefix=dir` option of `configure`. Note that you may have to have special privilege to do this if installation directory is not writable by you.

## How to use

- Invocation.
  Starting the simulator program.

Features of the simulator

- Code analyzer.
  The simulator tries to figure out places of valid instructions in code area.
- Processor types.
  The simulator can simulate different type of microcontrollers.
- Multiple consoles.
  The simulator can handle more than one command consoles and accepts command from multiple sources. It also can be driven by other programs such as debugger interfaces.
- Serial interfaces.
  The simulator can virtually connect a terminal to serial interface of the simulated CPU.
- Memory simulation.
  Simulated CPU provides address spaces, storage is simulated by memory chips, address decoders connects them together.
- Simulator interface.
  This is a special interface which provides services for the simulated program. This services can be used to control the simulator (for example run/stop) and access some host features (print, file I/O).
- VCD file I/O.
  This is a special virtual hardware peripheral which can monitor changes of a memory location (or a bit in MCS51 where bit address space is available) and write out changes to a VCD file. It can also be used to replay events from a VCD file in order to simulate external events.
- Command syntax and command reference.
  The simulator can be controlled via a command line interface. It accepts simple commands.

Microcontroller specific features

- STM8

## Developers

- Regression Testing

| © 1997,99 Dániel Drótos, Talker Bt. drdani@mazsola.iit.uni-miskolc.hu