OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [rtems-20020807/] [doc/] [started_ada/] [intro.t] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1026 ivang
@c
2
@c  COPYRIGHT (c) 1988-2002.
3
@c  On-Line Applications Research Corporation (OAR).
4
@c  All rights reserved.
5
@c
6
@c  intro.t,v 1.8 2002/01/17 21:47:46 joel Exp
7
@c
8
 
9
@chapter Introduction
10
 
11
The purpose of this document is to guide you through the process of
12
installing a GNU cross development environment to use with RTEMS.
13
 
14
If you are already familiar with the concepts behind a cross compiler and
15
have a background in Unix, these instructions should provide the bare
16
essentials for performing a setup of the following items:
17
 
18
@itemize @bullet
19
@item GNAT/RTEMS Cross Compilation Tools on your host system
20
@item RTEMS OS for the target host
21
@item GDB Debugger
22
@end itemize
23
 
24
The remainder of this chapter provides background information on real-time
25
embedded systems and cross development and an overview of other
26
resources of interest on the Internet.  If you are not familiar with
27
real-time embedded systems or the other areas, please read those sections.
28
These sections will help familiarize you with the
29
types of systems RTEMS is designed to be used in and the cross development
30
process used when developing RTEMS applications.
31
 
32
@section Real-Time Embedded Systems
33
 
34
Real-time embedded systems are found in practically every facet of our
35
everyday lives.  Today's systems range from the common telephone, automobile
36
control systems, and kitchen appliances to complex air traffic control
37
systems, military weapon systems, an d production line control including
38
robotics and automation. However, in the current climate of rapidly changing
39
technology, it is difficult to reach a consensus on the definition of a
40
real-time embedded system. Hardware costs are continuing to rapidly decline
41
while at the same time the hardware is increasing in power and functionality.
42
As a result, embedded systems that were not considered viable two years ago
43
are suddenly a cost effective solution. In this domain, it is not uncommon
44
for a single hardware configuration to employ a variety of architectures and
45
technologies. Therefore, we shall define an embedded system as any computer
46
system that is built into a larger system consisting of multiple technologies
47
such as digital and analog electronics,  mechanical devices, and sensors.
48
 
49
Even as hardware platforms become more powerful, most embedded systems are
50
critically dependent on the real-time software embedded in the systems
51
themselves.  Regardless of how efficiently the hardware operates, the
52
performance of the embedded real-time software determines the success of the
53
system.  As the complexity of the embedded hardware platform grows, so does
54
the size and complexity of the embedded software. Software systems must
55
routinely perform activities which were only dreamed of a short time ago.
56
These large, complex, real-time embedded applications now commonly contain
57
one million lines of code or more.
58
 
59
Real-time embedded systems have a complex set of characteristics that
60
distinguish them from other software applications.  Real-time embedded
61
systems are driven by and must respond to real world events while adhering to
62
rigorous requirements imposed by the environment with which they interact.
63
The correctness of the system depends not only on the results of
64
computations, but also on the time at which the results are produced.  The
65
most important and complex characteristic of real-time application systems is
66
that they must receive and respond to a set of external stimuli within rigid
67
and critical time constraints.
68
 
69
A single real-time application can be composed of both soft and hard
70
real-time components. A typical example of a hard real-time system is a
71
nuclear reactor control system that must not only detect failures, but must
72
also respond quickly enough to prevent a meltdown. This application also has
73
soft real-time requirements because it may involve a man-machine interface.
74
Providing an interactive input to the control system is not as critical as
75
setting off an alarm to indicate a failure condition. However, th e
76
interactive system component must respond within an acceptable time limit to
77
allow the operator to interact efficiently with the control system.
78
 
79
@section Cross Development
80
 
81
Today almost all real-time embedded software systems are developed in a
82
@b{cross development} environment using cross development tools. In the cross
83
development environment, software development activities are typically
84
performed on one computer system, the @b{host} system, while the result of the
85
development effort (produced by the cross tools) is a software system that
86
executes on the @b{target} platform. The requirements for the target platform are
87
usually incompatible and quite often in direct conflict with the requirements
88
for the host.  Moreover, the target hardware is often custom designed for a
89
particular project.  This means that the cross development toolset must allow
90
the developer to customize the tools to address target specific run-time
91
issues.  The toolset must have provisions for board dependent initialization
92
code, device drivers, and error handling code.
93
 
94
The host computer is optimized to support the code development cycle with
95
support for code editors, compilers, and linkers requiring large disk drives,
96
user development windows, and multiple developer connections.  Thus the host
97
computer is typically a traditional UNIX workstation such as are available
98
from SUN or Silicon Graphics, or a PC running either a version of MS-Windows
99
or UNIX.  The host system may also be required to execute office productivity
100
applications to allow the software developer to write  documentation, make
101
presentations, or track the project's progress using a project management
102
tool.  This necessitates that the host computer be general purpose with
103
resources such as a thirty-two or sixty-four bit processor, large amounts of
104
RAM, a  monitor, mouse, keyboard, hard and floppy disk drives, CD-ROM drive,
105
and a graphics card.  It is likely that the system will be multimedia capable
106
and have some networking capability.
107
 
108
Conversely, the target platform generally has limited traditional computer
109
resources.  The hardware is designed for the particular functionality and
110
requirements of the embedded system and optimized to perform those tasks
111
effectively.  Instead of hard  driverss and keyboards, it is composed of
112
sensors, relays, and stepper motors. The per-unit cost of the target platform
113
is typically a critical concern.  No hardware component is included without
114
being cost justified.  As a result, the processor of the target system is
115
often from a different processor family than that of the host system and
116
usually has lower performance.  In addition to the processor families
117
targeted only for use in embedded systems, there are versions of nearly every
118
general-purpose process or specifically tailored for real-time embedded
119
systems.  For example, many of the processors targeting the embedded market
120
do not include hardware floating point units, but do include peripherals such
121
as timers, serial controllers, or network interfaces.
122
 
123
@section Resources on the Internet
124
 
125
This section describes various resources on the Internet which are of
126
use to GNAT/RTEMS users.
127
 
128
@subsection RTEMS Mailing List
129
 
130
rtems-users@@OARcorp.com
131
 
132
This mailing list is dedicated to the discussion of issues related
133
to RTEMS, including GNAT/RTEMS.  If you have questions about RTEMS,
134
wish to make suggestions, or just want to pick up hints, this is a
135
good list to subscribe to.  Subscribe by sending an empty mail
136
message to rtems-users-subscribe@@OARcorp.com.  Messages sent
137
to rtems-users@@OARcorp.com are posted to the list.
138
 
139
@subsection CrossGCC Mailing List
140
 
141
crossgcc@@cygnus.com
142
 
143
This mailing list is dedicated to the use of the GNU tools in
144
cross development environments.  Most of the discussions
145
focus on embedded issues.  Subscribe by sending a message with
146
the one line "subscribe" to crossgcc-request@@cygnus.com.
147
 
148
The crossgcc FAQ as well as a number of patches and utiliities
149
of interest to cross development system users are available
150
at ftp://ftp.cygnus.com/pub/embedded/crossgcc.
151
 
152
@subsection GNAT Chat Mailing List
153
 
154
chat@@gnat.com
155
 
156
This mailing list is dedicated to the general discussion
157
of GNAT specific issues.  The discussions try to avoid
158
more general Ada95 language issues which have other
159
forums.  Subscribe by sending a message with
160
the one line "subscribe" to chat-request@@gnat.com.
161
 
162
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.