source: rtems/doc/FAQ/basic.t @ 7962e86

4.104.114.84.95
Last change on this file since 7962e86 was 7962e86, checked in by Joel Sherrill <joel.sherrill@…>, on 09/19/03 at 18:05:31

2003-09-19 Joel Sherrill <joel@…>

  • FAQ.texi, basic.t, build45.t, entry, tools.t: Merge from branch.
  • Property mode set to 100644
File size: 6.7 KB
Line 
1@c
2@c  COPYRIGHT (c) 1988-2002.
3@c  On-Line Applications Research Corporation (OAR).
4@c  All rights reserved.
5@c
6@c  $Id$
7@c
8
9@chapter Basic Information
10
11The questions in this category are basic questions about RTEMS.  Where
12did it come from, why is it, what is it, when should you use it, etc.?
13
14@section What does RTEMS stand for?
15
16RTEMS is an an acronym for the Real-Time Executive for Multiprocessor
17Systems.
18
19Initially RTEMS stood for the Real-Time Executive for Missile Systems
20but as it became clear that the application domains that could use
21RTEMS extended far beyond missiles, the "M" changed to mean Military.
22At one point, there were both Ada and C implementations of RTEMS.  The
23C version changed the "M" to mean Multiprocessor while the Ada version
24remained with the "M" meaning Military.
25
26@section What is RTEMS?
27
28RTEMS is a real-time executive which provides a high performance
29environment for embedded military applications including many
30features. The following is just a short list of the features
31available in RTEMS.  If you are interested in something that
32is not on this list, please contact the RTEMS Team.  Features
33are being added continuously.
34
35@itemize @bullet
36
37@item Standards Compliant
38@itemize @bullet
39@item POSIX 1003.1b API including threads
40@item RTEID/ORKID based Classic API
41@end itemize
42
43@item TCP/IP Stack
44@itemize @bullet
45@item high performance port of FreeBSD TCP/IP stack
46@item UDP, TCP
47@item ICMP, DHCP, RARP
48@item TFTP
49@item RPC
50@item FTPD
51@item HTTPD
52@item CORBA
53@end itemize
54
55@item Debugging
56@itemize @bullet
57@item GNU debugger (gdb)
58@item DDD GUI interface to GDB
59@item thread aware
60@item debug over Ethernet
61@item debug over Serial Port
62@end itemize
63
64@item Filesystem Support
65@itemize @bullet
66@item In-Memory Filesystem (IMFS)
67@item TFTP Client Filesystem
68@end itemize
69
70@item Basic Kernel Features
71@itemize @bullet
72@item multitasking capabilities
73@item homogeneous and heterogeneous multiprocessor systems
74@item event-driven, priority-based, preemptive scheduling
75@item optional rate monotonic scheduling
76@item intertask communication and synchronization
77@item priority inheritance
78@item responsive interrupt management
79@item dynamic memory allocation
80@item high level of user configurability
81@end itemize
82
83@end itemize
84
85
86@section What standards does RTEMS support?
87
88The original "Classic" RTEMS API is based on the Real-Time Executive
89Interface Definition (RTEID) and the Open Real-Time Kernel Interface
90Definition (ORKID).  RTEMS also includes support for POSIX threads
91and real-time extensions.
92
93With the addition of file system infrastructure, RTEMS supports
94about 70% of the POSIX 1003.1b-1996 standard.  This standard
95defines the programming interfaces of standard UNIX.   This means
96that much source code that works on UNIX, also works on RTEMS.
97
98@section What processors is RTEMS available for?
99
100RTEMS is available for the following processor families:
101
102@itemize @bullet
103@item Motorola MC68xxx
104@item Motorola MC683xx
105@item Motorola ColdFire
106@item ARM
107@item Hitachi H8/300
108@item Hitachi SH
109@item Intel i386
110@item Intel i960
111@item MIPS
112@item PowerPC
113@item SPARC
114@item Hewlett-Packard PA-RISC
115@item Texas Instruments C3x/C4x
116@item OpenCores OR32
117@end itemize
118
119In addition, there is a port to UNIX which can be used as a prototyping
120and simulation environment.
121
122@section Executive vs. Kernel vs. Operating System (RTOS)
123
124The developers of RTEMS developers use the terms executive and kernel
125interchangeably.  In the embedded system community, the terms executive
126or kernel are generally used to refer to small operating systems.
127So we consider it proper to refer to RTEMS as an executive, a kernel,
128or an operating system.
129
130@section Where/why was it developed?
131
132RTEMS was developed by On-Line Applications Research Corporation (OAR)
133for the U.S. Army Missile Command prior to that organizations merger
134with the Aviation Command that resulted in the new command, U. S. Army
135Aviation and Missile command (AMCOM).  The original goal of RTEMS was
136to provide a portable, standards-based real-time executive for which
137source code was available and royalties were paid.
138
139In other words, RTEMS was open source before open source was cool.
140
141Since the initial release to the world, the RTEMS Community has
142grown enormously and contributed significantly to RTEMS.  Important
143additions such as the TCP/IP stack, FAT filesystem, multiple ports,
144device drivers, and most BSPs have come from users like yourself.
145
146@section Are there no similar commercial products?
147
148Yes, but not all are based on standards and the open source philosophy.
149
150@section How can I get RTEMS?
151
152RTEMS is distributed from @uref{@value{RTEMSHTTPURL},@value{RTEMSHTTPURL}}.
153This is a server dedicated to the RTEMS Project which was donated by and
154hosted by @uref{http://www.OARcorp.com,OAR Corporation} to provide
155a focal point for all RTEMS activities.  Point your
156favorite browser at the following URL and following the link:
157
158@uref{@value{RTEMSHTTPURL},@value{RTEMSHTTPURL}}
159
160But if you are already reading this, you probably already found it. :)
161
162@section What about support?
163
164RTEMS development and support services are available from a number
165of firms.  See
166@uref{@value{RTEMSHTTPURL}/support.html,@value{RTEMSHTTPURL}/support.html}
167for the current list of RTEMS service providers.
168
169Remember that RTEMS maintenance is funded by users.  If you are
170using RTEMS on a commercial project, please get support.
171
172@section Are there any mailing lists?
173
174The primary RTEMS mailing list is @code{@value{RTEMSUSERS}}.  This
175list is for general RTEMS discussions, questions, design help, advice,
176etc..  Subscribe by sending an empty mail
177message to @code{@value{RTEMSUSERSSUBSCRIBE}}.  This
178mailing list is archived at:
179
180@example
181http://www.oarcorp.com/rtems/maillistArchives/rtems-users
182@end example
183
184The @code{@value{RTEMSSNAPSHOTS}} mailing list is for those
185interested in taking a more active role in the design, development,
186and maintenance of RTEMS.  Discussions on this list tend to focus
187on problems in the development source, design of new features, problem
188reports, etc..  Subscribe by sending an empty mail
189message to @code{@value{RTEMSSNAPSHOTSSUBSCRIBE}}.
190mailing list is archived at:
191
192@example
193http://www.oarcorp.com/rtems/maillistArchives/rtems-snapshots
194@end example
195
196The archives for both mailing lists include discussions back
197to 1997.
198
199@section Are there any license restrictions?
200
201RTEMS is licensed under a modified version of the GNU General Public License
202(GPL).  The modification places no restrictions on the applications which
203use RTEMS but protects the interests of those who work on RTEMS.
204
205The TCP/IP network stack included with RTEMS is a port of the FreeBSD
206network stack and is licensed under different terms that also do not
207place restrictions on the application.
208
209@section Are there any export restrictions?
210
211No.
212
213
Note: See TracBrowser for help on using the repository browser.