3 Micro-controller simulator
10 uCsim is a micro-controller simulator. It is extensible to support
11 different micro-controller families. Currently it supports Intel MCS51
12 family. Atmel AVR core is working now and Z80 support is under
19 uCsim is distributed in source code under GPL. It can be downloaded
22 http://mazsola.iit.uni-miskolc.hu/~drdani/embedded/ucsim/
24 uCsim is included in sdcc, free C compiler of Sandeep Dutta. It is a
25 complete development package with debugger (see belove). It can be
26 downloaded from its home site (or from its mirrors):
28 http://sdcc.sourceforge.net/
34 There is no mailing list which is specifically opened for
35 uCsim. Announcements are sent to sdcc's mailing list. See sdcc's main
36 page at above URL for subscribing information and the archive. Ideas,
37 bug reports or fixes should be sent to sdcc's list too.
43 Features of uCsim are similar to features of other simulators. It
44 simulates instructions of the program code and all parts of the
45 microcontroller including timer/counters, uart, etc. Peripherals are
46 simulated as accurate as possible. Time resolution is machine cycle
47 based which means that 1 machine cycle is the smallest time quantity
48 which is handled by the simulator.
50 uCsim has some features which may not available in other
51 simulators. They include:
53 - No GUI. It is not the simulator's job to do graphical representation
54 of the CPU. It should be done by external programs. uCsim tries to
55 help GUI and other external tool writers.
57 - More than one command console. It is possible to use as many command
58 interpreters as many needed. uCsim accepts commands from command
59 consoles simultaneously. It makes possible to give commands to the
60 simulator during execution of the simulated program.
62 - Simulating UART of the controller makes it possible to connect two
63 instances of the simulator together via simulated serial lines. It
64 is also possible to connect simulated UART to serial port of the
67 - Profiling support. uCsim provides "virtual timers" to measure
68 execution time of any part of the code. It also makes statistic
69 about ratio of main program and interrupt services.
71 - Event breakpoints. Simulator can stop the execution when read or
72 write event occures at any location of any kind of memory.
78 uCsim is not well supported (yet) by external tools. But some exists
83 It is written by Timothy Hurman <ee62th@ee.surrey.ac.uk> and it is
84 now included in the uCsim package. It is simple "terminal
85 emulator" which can be used to provide input for the simulated
86 UART as well as present the output of the UART.
90 Debugger of the free C compiler, called sdcc written by Sandeep
91 Dutta <sandeep.dutta@usa.net>. It is a usual debugger with command
92 line interface which uses uCsim in background to run the
93 code. "Standard" interface of the sdcdb makes it possible to use
94 any debugger GUI such as ddd to make it comfortable.
97 Contributors and mainteners
98 ---------------------------
100 Gunnar Holm <gunnarh@foa.nft.no>
101 Sandeep Dutta <dutta@comm.mot.com>
102 Salvador Eduardo Tropea <salvador@inti.gov.ar>
103 Josef Wolf <jw@raven.inka.de>
104 Stephane MEYER <smeyer@cea.fr>
105 Larry Doolittle <LRDoolittle@lbl.gov>
106 Timothy Hurman <ee62th@ee.surrey.ac.uk>
107 Karl-Max Wagner <karlmax@oberland.net>
108 Edmar Wienskoski Jr <edmar-w-jr@technologist.com>
109 Alexandre Frey <Alexandre.Frey@trusted-logic.fr>
110 Kaido Karner <kaido@tradenet.ee>
111 Karl Bongers <karl@turbobit.com>
113 Maintener of serialview: Timothy Hurman <ee62th@ee.surrey.ac.uk>
114 Maintener of other parts: Daniel Drotos <drdani@mazsola.iit.uni-miskolc.hu>