Imported Upstream version 2.9.0
[debian/cc1111] / sim / ucsim / README
1
2                                     uCsim
3                           Micro-controller simulator
4
5
6
7 What is uCsim?
8 --------------
9
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
13 development.
14
15
16 How to get uCsim?
17 -----------------
18
19 uCsim is distributed in source code under GPL. It can be downloaded
20 from its home site:
21
22 http://mazsola.iit.uni-miskolc.hu/~drdani/embedded/ucsim/
23
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):
27
28 http://sdcc.sourceforge.net/
29
30
31 Mailing list
32 ------------
33
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.
38
39
40 Feautres of uCsim
41 -----------------
42
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.
49
50 uCsim has some features which may not available in other
51 simulators. They include:
52
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.
56
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.
61
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
65   host machine.
66
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.
70
71 - Event breakpoints. Simulator can stop the execution when read or
72   write event occures at any location of any kind of memory.
73
74
75 External tools
76 --------------
77
78 uCsim is not well supported (yet) by external tools. But some exists
79 already.
80
81 SerialView
82
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.
87
88 sdcdb
89
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.
95
96
97 Contributors and mainteners
98 ---------------------------
99
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>
112
113 Maintener of serialview: Timothy Hurman <ee62th@ee.surrey.ac.uk>
114 Maintener of other parts: Daniel Drotos <drdani@mazsola.iit.uni-miskolc.hu>