version 0.2.39: fix of arith insts and start of re-structure
[fw/sdcc] / 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 and Atmel AVR is under development.
13
14
15 How to get uCsim?
16 -----------------
17
18 uCsim is distributed in source code under GPL. It can be downloaded
19 from its home site:
20
21 http://mazsola.iit.uni-miskolc.hu/~drdani/embedded/ucsim
22
23 uCsim is included in sdcc, free C compiler of Sandeep Dutta. It is a
24 complete development package with debugger (see belove). It can be
25 downloaded from its home site (or from its mirrors):
26
27 http://www.geocities.com/ResearchTriangle/Forum/1353
28
29
30 Mailing list
31 ------------
32
33 There is no mailing list which is specifically opened for
34 uCsim. Announcements are sent to sdcc's mailing list. See sdcc's main
35 page at above URL for subscribing infromation and the archive. Ideas,
36 bug reports or fixes should be sent to sdcc's list too.
37
38
39 Feautres of uCsim
40 -----------------
41
42 Features of uCsim are similar to features of other simulators. It
43 simulates instructions of the program code and all parts of the
44 microcontroller including timer/counters, uart, etc. Peripherals are
45 simulated as accurate as possible. Time resolution is machine cycle
46 based which means that 1 machine cycle is the smallest time quantity
47 which is handled by the simulator.
48
49 uCsim has some features which may not available in other
50 simulators. They include:
51
52 - No GUI. It is not the simulator's job to do graphical representation
53   of the CPU. It should be done by external programs. uCsim tries to
54   help GUI and other external tool writers.
55
56 - More than one command console. It is possible to use as many command
57   interpreters as many needed. uCsim accepts commands from command
58   consoles simultaneously. It makes possible to give commands to the
59   simulator during execution of the simulated program.
60
61 - Simulating UART of the controller makes it possible to connect two
62   instances of the simulator together via simulated serial lines. It
63   is also possible to connect simulated UART to serial port of the
64   host machine.
65
66 - Profiling support. uCsim provides "virtual timers" to measure
67   execution time of any part of the code. It also makes statistic
68   about ratio of main program and interrupt services.
69
70 - Event breakpoints. Simulator can stop the execution when read or
71   write event occures at any location of any kind of memory.
72
73
74 External tools
75 --------------
76
77 uCsim is not well supported (yet) by external tools. But some exists
78 already.
79
80 SerialView
81
82     It is written by Timothy Hurman <ee62th@ee.surrey.ac.uk> and it is
83     now included in the uCsim package. It is simple "terminal
84     emulator" which can be used to provide input for the simulated
85     UART as well as present the output of the UART.
86
87 sdcdb
88
89     Debugger of the free C compiler, called sdcc written by Sandeep
90     Dutta <dutta@comm.mot.com>. It is a usual debugger with command
91     line interface which uses uCsim in background to run the
92     code. "Standard" interface of the sdcdb makes it possible to use
93     any debugger GUI such as ddd to make it comfortable.
94
95
96 Contributors and mainteners
97 ---------------------------
98
99 Gunnar Holm <gunnarh@foa.nft.no>
100 Sandeep Dutta <dutta@comm.mot.com>
101 Salvador Eduardo Tropea <salvador@inti.gov.ar>
102 Josef Wolf <jw@raven.inka.de>
103 Stephane MEYER <smeyer@cea.fr>
104 Larry Doolittle <LRDoolittle@lbl.gov>
105 Timothy Hurman <ee62th@ee.surrey.ac.uk>
106 Karl-Max Wagner <karlmax@oberland.net>
107 Edmar Wienskoski Jr <edmar-w-jr@technologist.com>
108 Alexandre Frey <Alexandre.Frey@trusted-logic.fr>
109 Kaido Karner <kaido@tradenet.ee>
110
111 Maintener of serialview: Timothy Hurman <ee62th@ee.surrey.ac.uk>
112 Maintener of other parts: Daniel Drotos <drdani@mazsola.iit.uni-miskolc.hu>