1 | @c |
---|
2 | @c COPYRIGHT (c) 1988-1999. |
---|
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 | |
---|
11 | The questions in this category are basic questions about RTEMS. Where |
---|
12 | did it come from, why is it, what is it, when should you use it, etc.? |
---|
13 | |
---|
14 | @section What does RTEMS stand for? |
---|
15 | |
---|
16 | RTEMS is an anacronym for the Real-Time Executive for Multiprocessor |
---|
17 | Systems. |
---|
18 | |
---|
19 | Initially RTEMS stood for the Real-Time Executive for Missile Systems |
---|
20 | but as it became clear that the application domains that could use |
---|
21 | RTEMS extended far beyond missiles, the "M" changed to mean Military. |
---|
22 | At one point, there were both Ada and C implementations of RTEMS. The |
---|
23 | C version changed the "M" to mean Multiprocessor while the Ada version |
---|
24 | remained with the "M" meaning Military. |
---|
25 | |
---|
26 | @section What is RTEMS? |
---|
27 | |
---|
28 | RTEMS is a real-time executive which provides a high performance |
---|
29 | environment for embedded military applications including many |
---|
30 | features. The following is just a short list of the features |
---|
31 | avilable in RTEMS. If you are interested in something that |
---|
32 | is not on this list, please contact the RTEMS Team. Features |
---|
33 | are 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 | |
---|
88 | The original "Classic" RTEMS API is based on the Real-Time Executive |
---|
89 | Interface Definition (RTEID) and the Open Real-Time Kernel Interface |
---|
90 | Definition (ORKID). RTEMS also includes support for POSIX threads |
---|
91 | and real-time extensions. |
---|
92 | |
---|
93 | With the addition of file system infrastructure, RTEMS supports |
---|
94 | about 70% of the POSIX 1003.1b-1996 standard. This standard |
---|
95 | defines the programming interfaces of standard UNIX. This means |
---|
96 | that much source code that works on UNIX, also works on RTEMS. |
---|
97 | |
---|
98 | @section What processors is RTEMS available for? |
---|
99 | |
---|
100 | RTEMS 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 Hitachi SH |
---|
107 | @item Intel i386 |
---|
108 | @item Intel i960 |
---|
109 | @item MIPS |
---|
110 | @item PowerPC |
---|
111 | @item SPARC |
---|
112 | @item AMD A29K |
---|
113 | @item Hewlett-Packard PA-RISC |
---|
114 | @end itemize |
---|
115 | |
---|
116 | In addition, there is a port to UNIX which can be used as a prototyping |
---|
117 | and simulation environment. |
---|
118 | |
---|
119 | @section Executive vs. Kernel vs. Operating System (RTOS) |
---|
120 | |
---|
121 | The developers of RTEMS developers use the terms executive and kernel |
---|
122 | interchangeably. In the embedded system community, the terms executive |
---|
123 | or kernel are generally used to refer to small operating systems. |
---|
124 | So we consider it proper to refer to RTEMS as an executive, a kernel, |
---|
125 | or an operating system. |
---|
126 | |
---|
127 | @section Where/why was it developed? |
---|
128 | |
---|
129 | RTEMS was developed by On-Line Applications Research Corporation (OAR) |
---|
130 | for the U.S. Army Missile Command prior to that organizations merger |
---|
131 | with the Aviation Command that resulted in the new command, U. S. Army |
---|
132 | Aviation and Missile command (AMCOM). The original goal of RTEMS was |
---|
133 | to provide a portable, standards-based real-time executive for which |
---|
134 | source code was available and royalties were paid. |
---|
135 | |
---|
136 | In other words, RTEMS was open source before open source was cool. |
---|
137 | |
---|
138 | @section Are there no similar commercial products? |
---|
139 | |
---|
140 | Yes, but not all are based on standards and the open source philosophy. |
---|
141 | |
---|
142 | @section How can I get RTEMS? |
---|
143 | |
---|
144 | RTEMS is distributed by OAR Corporation via the Internet. Point your |
---|
145 | favorite browser at the following URL and following the link: |
---|
146 | |
---|
147 | @c this version should work |
---|
148 | @c @set OAR-URL http://www.OARcorp.com |
---|
149 | @c @uref{@value{OAR-URL},@value{OAR-URL}} |
---|
150 | @uref{http://www.OARcorp.com,http://www.OARcorp.com} |
---|
151 | |
---|
152 | @section What about support? |
---|
153 | |
---|
154 | OAR Corporation provides numerous services for RTEMS including support, |
---|
155 | training, and custom development. |
---|
156 | |
---|
157 | @section Are there any mailing lists? |
---|
158 | |
---|
159 | The primary RTEMS mailing list is @code{rtems-users@@oarcorp.com}. This |
---|
160 | list is for general RTEMS discussions, questions, design help, advice, |
---|
161 | etc.. Subscribe by sending an empty mail |
---|
162 | message to @code{rtems-users-subscribe@@OARcorp.com}. This |
---|
163 | mailing list is archived at: |
---|
164 | |
---|
165 | @example |
---|
166 | http://www.oarcorp.com/rtems/maillistArchives/rtems-users |
---|
167 | @end example |
---|
168 | |
---|
169 | The @code{rtems-snapshots@@oarcorp.com} mailing list is for those |
---|
170 | interested in taking a more active role in the design, development, |
---|
171 | and maintenance of RTEMS. Discussions on this list tend to focus |
---|
172 | on problems in the development source, design of new features, problem |
---|
173 | reports, etc.. Subscribe by sending an empty mail |
---|
174 | message to @code{rtems-snapshots-subscribe@@OARcorp.com}. |
---|
175 | mailing list is archived at: |
---|
176 | |
---|
177 | @example |
---|
178 | http://www.oarcorp.com/rtems/maillistArchives/rtems-snapshots |
---|
179 | @end example |
---|
180 | |
---|
181 | The archives for both mailing lists include discussions back |
---|
182 | to 1997. |
---|
183 | |
---|
184 | @section Are there any license restrictions? |
---|
185 | |
---|
186 | RTEMS is licensed under a modified version of the GNU General Public License |
---|
187 | (GPL). The modification places no restrictions on the applications which |
---|
188 | use RTEMS but protects the interests of those who work on RTEMS. |
---|
189 | |
---|
190 | The TCP/IP network stack included with RTEMS is a port of the FreeBSD |
---|
191 | network stack and is licensed under different terms that also do not |
---|
192 | place restrictions on the application. |
---|
193 | |
---|
194 | @section Are there any export restrictions? |
---|
195 | |
---|
196 | No. |
---|
197 | |
---|
198 | |
---|