Eris version of ucsim (from sdcc)
Go to file
2024-01-03 11:26:37 +00:00
avr.src [ucsim] Update baselines 2023-09-14 12:22:26 +01:00
cmd.src [ucsim] Fix bug of banked disass 2023-11-03 17:03:35 +00:00
doc [ucsim] Expression/command handling update 2023-09-19 10:25:29 +01:00
example [ucsim] Fix volatile error 2022-09-15 07:51:01 +00:00
f8.src [ucsim] Update baselines 2023-09-14 12:22:26 +01:00
gui.src [ucsim] Apply [patches:459] 2023-05-29 17:44:35 +01:00
i8048.src [ucsim-i8048] Fix empty lines in generated header 2024-01-03 11:14:07 +00:00
i8085.src [ucsim] Update baselines 2023-09-14 12:22:26 +01:00
m68hc08.src [ucsim] Update baselines 2023-09-14 12:22:26 +01:00
m68hc11.src [ucsim] Update baselines 2023-09-14 12:22:26 +01:00
m68hc12.src [ucsim] Update baselines 2023-09-14 12:22:26 +01:00
m6800.src [ucsim] Update baselines 2023-09-14 12:22:26 +01:00
m6809.src [ucsim] Update baselines 2023-09-14 12:22:26 +01:00
mos6502.src [ucsim-mos6502] Fix [bugs:#3657] ucSim mos6502 next steps into jsr 2023-10-10 09:46:53 +01:00
motorola.src [ucsim] More consts, overrides, finals and warning removals 2023-07-22 13:38:43 +01:00
p1516.src [ucsim-p1516] More macros in disass 2024-01-03 11:16:26 +00:00
pblaze.src [ucsim] Update baselines 2023-09-14 12:22:26 +01:00
pdk.src Fix simulation of z flag for not and neg. pdk code generation improvements. (ucsim part only) 2024-01-03 11:26:37 +00:00
rxk.src [ucsim] Update baselines 2023-09-14 12:22:26 +01:00
s51.src [ucsim] Fix bug of banked disass 2023-11-03 17:03:35 +00:00
sim.src [ucsim] Fix serial input overrun 2024-01-03 11:08:58 +00:00
st7.src [ucsim] Update baselines 2023-09-14 12:22:26 +01:00
stm8.src [ucsim] Update baselines 2023-09-14 12:22:26 +01:00
test implement --help as requed in [features:#671] 2020-03-27 20:18:53 +00:00
tlcs.src [ucsim] Update baselines 2023-09-14 12:22:26 +01:00
xa.src [ucsim] Update baselines 2023-09-14 12:22:26 +01:00
z80.src Merge r800 brnach to trunk. (ucsim part only) 2023-11-03 16:03:15 +00:00
(c).1 ucsim-0.2.37-pre3 into CVS 2000-02-07 07:44:03 +00:00
.version [ucsim] Fix bug of banked disass 2023-11-03 17:03:35 +00:00
aclocal.m4 [ucsim] Apply [patches:459] 2023-05-29 17:44:35 +01:00
app.cc [ucsim] Post-merge cleanup: fix startup command issues 2023-09-14 09:40:08 +01:00
appcl.h [ucsim] Post-merge cleanup: fix startup command issues 2023-09-14 09:40:08 +01:00
chars.cc [ucsim] Intro emulation mode, improve speed on win 2023-09-12 15:19:06 +01:00
charscl.h [ucsim] Intro emulation mode, improve speed on win 2023-09-12 15:19:06 +01:00
clean.mk implement --help as requed in [features:#671] 2020-03-27 20:18:53 +00:00
conf [ucsim] Make ucsim compilable 2023-01-13 09:48:04 +00:00
conf.mk Merge branch ucsim-034-pre3 to main trunk; new version 0.4 2002-01-28 10:19:59 +00:00
config.guess [ucsim] Apply [patches:$419] Improvements to code analyzer 2022-01-24 11:09:43 +00:00
config.sub update timstamp 2016-07-29 14:43:22 +00:00
configure [ucsim] Intro emulation mode, improve speed on win 2023-09-12 15:19:06 +01:00
configure.ac [ucsim] Intro emulation mode, improve speed on win 2023-09-12 15:19:06 +01:00
COPYING ucsim-0.2.37-pre3 into CVS 2000-02-07 07:44:03 +00:00
ddconfig_in.h [ucsim] Intro emulation mode, improve speed on win 2023-09-12 15:19:06 +01:00
distclean.sh [ucsim] Fix exec of startup code, code cleanup, intro i8048 simulator 2023-09-05 11:27:58 +01:00
error.cc [ucsim] Remove dynamic_cast 2023-07-22 13:40:10 +01:00
errorcl.h [ucsim] Remove unnecessary inheritance from cl_base 2023-05-29 17:43:57 +01:00
eventcl.h ucsim version 0.6-pre4 2016-07-26 21:10:26 +00:00
fio.cc [ucsim] Fix serial input overrun 2024-01-03 11:08:58 +00:00
fiocl.h [ucsim] Fix serial input overrun 2024-01-03 11:08:58 +00:00
fuio.cc [ucsim] Fix serial input overrun 2024-01-03 11:08:58 +00:00
fuiocl.h [ucsim] Remove unused cl_f::writable 2023-05-29 17:41:57 +01:00
fwio.cc [ucsim] Fix exec of startup code, code cleanup, intro i8048 simulator 2023-09-05 11:27:58 +01:00
fwiocl.h [ucsim] Remove unused cl_f::writable 2023-05-29 17:41:57 +01:00
globals.cc [ucsim] Remove "Runtime" reporting 2023-07-22 13:39:03 +01:00
globals.h [ucsim] Fix header 2024-01-03 11:16:54 +00:00
i_string.h (c) message updates 2016-07-29 14:45:40 +00:00
INSTALL ucsim-0.2.37-pre3 into CVS 2000-02-07 07:44:03 +00:00
install-sh * automatically generated files 2010-09-06 10:38:04 +00:00
ltmain.sh [ucsim] Apply [patches:459] 2023-05-29 17:44:35 +01:00
main_in.mk [ucsim] ftest.cc is unused 2023-07-22 13:39:36 +01:00
Makefile.in [ucsim] Apply [patches:459] 2023-05-29 17:44:35 +01:00
mkecho version 0.5.2 2004-07-16 16:36:33 +00:00
NEWS [ucsim-i8048] Update mcs48 info 2023-09-05 13:55:32 +01:00
option.cc [ucsim] Options clean up 2023-07-22 13:38:22 +01:00
optioncl.h [ucsim] Options clean up 2023-07-22 13:38:22 +01:00
packages_in.mk [ucsim] Do no compile parts not needed for sdcc 2023-09-05 14:00:22 +01:00
pobj.cc [ucsim] Apply patches mentioned in [bugs:#3578] 2023-05-29 17:44:41 +01:00
pobjcl.h [ucsim] Cleanup, start new version 2023-05-29 17:44:24 +01:00
pobjt.h [ucsim] Remove max_list_size 2023-05-29 17:42:28 +01:00
pstr.h (c) message updates 2016-07-29 14:45:40 +00:00
put(c) ucsim version 0.6-pre4 2016-07-26 21:10:26 +00:00
README.md [ucsim] Fix exec of startup code, code cleanup, intro i8048 simulator 2023-09-05 11:27:58 +01:00
relay.cc [ucsim] Simplify connection handling 2023-05-29 17:42:00 +01:00
stypes.h [ucsim-z80] Intro r800, new z80 cpu type 2023-09-12 15:21:56 +01:00
test-lib.mk [ucsim] Apply [patches:459] 2023-05-29 17:44:35 +01:00
test-target.mk * sim/ucsim/test-target.mk: do not remove ihx files that are in svn 2023-09-06 10:01:50 +01:00
ucsim.cc [ucsim] Fix build of generic ucsim 2023-09-06 11:31:49 +01:00
utils.cc [ucsim] Intro emulation mode, improve speed on win 2023-09-12 15:19:06 +01:00
utils.h [ucsim] Load file clean up 2023-06-15 18:24:46 +01:00

uCsim

Micro-controller simulator

What is uCsim?

uCsim is a micro-controller simulator. It is extensible to support different micro-controller families. Currently it supports Intel MCS51 family, 8080, 8085, XA, Z80, Rabbit, SM83, TLCS90, ST7, STM8, PDK, MC6800, MC6809, M68HC08, M68HC11, M68HC12, MOS6502, PicoBlaze, F8, p1516/p2223 and some AVR processors.

How to get uCsim?

uCsim is distributed in source code under GPL. It can be downloaded from its home site:

uCsim is included in sdcc, free C compiler of Sandeep Dutta. It is a complete development package with debugger (see below). It can be downloaded from its home site (or from its mirrors):

Mailing list

There is no mailing list which is specifically opened for uCsim. Announcements are sent to sdcc's mailing list. See sdcc's main page at above URL for subscribing information and the archive. Ideas, bug reports or fixes should be sent to sdcc's list too.

Features of uCsim

Features of uCsim are similar to features of other simulators. It simulates instructions of the program code and all parts of the microcontroller including timer/counters, uart, etc. Peripherals are simulated as accurate as possible. Time resolution is machine cycle based which means that 1 machine cycle is the smallest time quantity which is handled by the simulator.

uCsim has some features which may not available in other simulators. They include:

  • No GUI. It is not the simulator's job to do graphical representation of the CPU. It should be done by external programs. uCsim tries to help GUI and other external tool writers.

  • More than one command console. It is possible to use as many command interpreters as many needed. uCsim accepts commands from command consoles simultaneously. It makes possible to give commands to the simulator during execution of the simulated program.

  • Simulating UART of the controller makes it possible to connect two instances of the simulator together via simulated serial lines. It is also possible to connect simulated UART to serial port of the host machine.

  • Profiling support. uCsim provides "virtual timers" to measure execution time of any part of the code. It also makes statistic about ratio of main program and interrupt services.

  • Event breakpoints. Simulator can stop the execution when read or write event occurs at any location of any kind of memory.

External tools

uCsim is not well supported (yet) by external tools. But some exists already.

** SerialView **

It is written by Timothy Hurman <ee62th@ee.surrey.ac.uk> and it is
now included in the uCsim package. It is simple "terminal
emulator" which can be used to provide input for the simulated
UART as well as present the output of the UART.

** sdcdb **

Debugger of the free C compiler, called sdcc written by Sandeep
Dutta <sandeep.dutta@usa.net>. It is a usual debugger with command
line interface which uses uCsim in background to run the
code. "Standard" interface of the sdcdb makes it possible to use
any debugger GUI such as ddd to make it comfortable.

Contributors and maintainers

Gunnar Holm gunnarh@foa.nft.no Sandeep Dutta dutta@comm.mot.com Salvador Eduardo Tropea salvador@inti.gov.ar Josef Wolf jw@raven.inka.de Stephane MEYER smeyer@cea.fr Larry Doolittle LRDoolittle@lbl.gov Timothy Hurman ee62th@ee.surrey.ac.uk Karl-Max Wagner karlmax@oberland.net Edmar Wienskoski Jr edmar-w-jr@technologist.com Alexandre Frey Alexandre.Frey@trusted-logic.fr Kaido Karner kaido@tradenet.ee Karl Bongers karl@turbobit.com Alexis Pavlov alexis.pavlov@certess.com Davide Zanni davide.zanni@libero.it Anton Persson anton@omicron.se Nicolas Lesser <> Mike Jagdis <> Jiri Simek <> Zbynek Krivka krivka@fit.vutbr.cz Vaclav Peroutka vaclavpe@users.sourceforge.net Valentin Dudouyt valentin.dudouyt@gmail.com Erik Petrich epetrich@users.sourceforge.net Leland Morrison <> Johan Knol johan.knol@iduna.nl

Maintainer of serialview: Timothy Hurman ee62th@ee.surrey.ac.uk Maintainer of other parts: Daniel Drotos drdani@mazsola.iit.uni-miskolc.hu