1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
|
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Microcontroller Simulator</title>
</head>
<body style=" background-color: white;">
[ <a href="news.html">News</a> ]
[ <a href="#download">Download</a> (<a href="https://github.com/danieldrotos/ucsim/releases/latest">latest</a>) ]
[ <a href="#install">Installation</a> ]
[ <a href="#use">Usage</a> ]
[ <a href="mailto:dr.dkdb@gmail.com">Mail to developer</a> ]
<p> </p>
<pre><tt><font size="+1">
_____ _
/ ____| (_)
_ _| | ___ _ _ __ ___
| | | | | / __| | '_ ` _ \
| |_| | |____\__ \ | | | | | |
\ ._,_|\_____|___/_|_| |_| |_|
| |
|_|
</font></tt></pre>
<h1>Software simulator for microcontrollers</h1>
<p><b><i>µCsim</i></b> can be used to simulate
microcontrollers. It supports
<ul><li>Intel (MCS51 family, MCS48, MCS80, MCS85)</li>
<li>XA51,</li>
<li>AVR core,</li>
<li>Z80 (Z80, Z180, GB80, EZ80, Z80N, R800),</li>
<li>TLCS90,</li>
<li>Rabbit (r2k, r3k, r4k, r5k)</li>
<li>Motorola (6800, 68hc08, 6809, 68hc11, 68hc12)</li>
<li>MOS6502,</li>
<li>ST7,</li>
<li>STM8,</li>
<li>Padauk (pdk13, pdk14, pdk15, pdk16)</li>
<li>PicoBlaze,</li>
<li><a href="https://danieldrotos.github.io/p12dev/">p1516,
p2223</a> soft processors,</li>
<li>F8 soft processor,</li>
<li>OISC processors (URISC, MISC16)</li>
</ul>
It can run on Linux, Windows, OSX, BSD, and other systems.</p>
<p>See <a href="news.html">what's new</a> in current version.</p>
<h2><a name="download">Download</a></h2>
<p>You can download <i>µCsim</i> from two places:</p>
<p><b>SDCC homepage.</b> <i>µCsim</i> is part of the SDCC
(Small Device C Compiler) project. You can download source of
SDCC or precompiled binaries from <a href="http://sdcc.sf.net">http://sdcc.sf.net</a>.
Please note, that SDCC binary package contains limited <i>µCsim</i>,
including simulators for SDCC ports only.</p>
<p><b><i>µCsim</i> site.</b> Standalone source package is
available on the <i>µCsim</i> web site:
<a href="https://github.com/danieldrotos/ucsim/releases">https://github.com/danieldrotos/ucsim/releases</a></p>
<p>Home site contains precompiled Debian (i386 and amd64
architectures) packages for all Debian based Linux
distributions, Windows installer and standalone Windows
package.</p>
<p>Older versions are available from the archive site: <a href="http://mazsola.iit.uni-miskolc.hu/ucsim/archive">http://mazsola.iit.uni-miskolc.hu/ucsim/download</a></p>
<p><!-- INSTALL --></p>
<h2><a name="install">How to install</a></h2>
<p>UNIX version is distributed in source, as well as
in pre-compiled debian stable packages for i386 and amd64
architectures.</p>
<p>Windows version distributed as a setup executable and as a
portable zip package.</p>
<h3>How to compile from source</h3>
<ol>
<li>Get archive file, uncompress and untar it. These steps will
produce a directory <b>ucsim-X.Y.Z</b> where X.Y.Z is the
version number. </li>
<li>Make sure, that following packages are installed on your
system: <b>make</b> (GNU make is required),
<b>bison</b> (or yacc), <b>flex</b> (or lex), <b>libncurses-dev</b>.
You will need a C++ compiler as well.</li>
<li>Go to the directory and configure the
package. Issue <tt><b>./configure</b></tt> command. It will
determine your system and produce <b>Makefile</b>.
Installation directory can be specified
with <b><tt>--prefix=<i>dir</i></tt></b><!-- -- --> option to
the <tt><b>configure</b></tt>. Default directory
is <tt>/usr/local</tt>. Executable files will be placed
in <tt>bin</tt> subdirectory.</li>
<li>Compile the package with <tt><b>make</b></tt> command,
or <b>gmake</b> if GNU make has that name. </li>
<li>Install
executables <b>ucsim_i8051</b>, <b>ucsim_avr</b>, <b>ucsim_hc08</b>, <b>ucsim_xa</b>, <b>ucsim_z80,
etc.</b> to any directory you want. It can be done
with <tt><b>make install</b></tt> command which will place files
in installation directory specified
with <tt><b>--prefix=<i>dir</i></b><!-- -- --></tt> option
of <tt><b>configure</b></tt>. Note that you may have to have
special privilege to do this if installation directory is not
writable by the user. </li>
</ol>
<!-- USE -->
<h2><a name="use">How to use</a></h2>
<ul>
<li> <a href="invoke.html">Invocation</a>.<br>
Starting the simulator program. </li>
</ul>
<p><b>Features of the simulator</b> </p>
<ul>
<li><a href="analyzer.html">Code analyzer</a>. <br>
The simulator tries to figure out places of valid instructions in code
area.</li>
<li><a href="cpu_types.html">Processor types</a>. <br>
The simulator can simulate different type of microcontrollers. </li>
<li><a href="mulcons.html">Multiple consoles</a>. <br>
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. </li>
<li><a href="serial.html">Serial interfaces</a>. <br>
The simulator can virtually connect a terminal to serial interface of
the simulated CPU. </li>
<li><a href="memory.html">Memory simulation</a>. <br>
Simulated CPU provides address spaces, storage is simulated by memory
chips, address decoders connects them together. </li>
<li><a href="simif.html">Simulator interface</a>.<br>
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).</li>
<li><a href="vcd.html">VCD file I/O</a>.<br>
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.</li>
<li><a href="display.html">Peripheral displays</a>. <br>Textual
user intarfaces which can show information about a
peripheral. Some of them are interactive and can be used to
provide external input data for the simulated system (port,
uart).</li>
<li><a href="syntax.html">Command syntax</a>
and <a href="cmd.html">command
reference</a>, <a href="syntax.html#expr">expressions</a>. <br>
The simulator can be controlled via a command line
interface. It accepts simple commands. </li>
</ul>
<p><b>Microcontroller specific features</b> </p>
<ul>
<li><a href="stm8/index.html">STM8</a></li>
</ul>
<h2><a name="dev">Developers</a></h2>
<ul>
<li><a href="testing.html">Regression Testing</a></li>
</ul>
<hr>
<table border="0">
<tbody>
<tr>
<td><a href="mailto:dr.dkdb@gmail.com"><img src="post.jpg"
border="0" align="top"></a></td>
<td><i>© 1997 Dániel Drótos</i> <br>
<a href="mailto:dr.dkdb@gmail.com">dr.dkdb@gmail.com</a></td>
</tr>
</tbody>
</table>
</body>
</html>
|