mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-05 15:15:44 +00:00
Mistake
This commit is contained in:
@@ -1,122 +0,0 @@
|
||||
@c
|
||||
@c COPYRIGHT (c) 1988-1998.
|
||||
@c On-Line Applications Research Corporation (OAR).
|
||||
@c All rights reserved.
|
||||
@c
|
||||
@c $Id$
|
||||
@c
|
||||
|
||||
@chapter Introduction
|
||||
|
||||
The purpose of this document is to guide you through the process of
|
||||
installing a GNU cross development environment to use with RTEMS.
|
||||
|
||||
If you are already familiar with the concepts behind a cross compiler and
|
||||
have a background in Unix these instructions should provide the bare
|
||||
essentials for performing a setup of the following items:
|
||||
|
||||
@itemize @bullet
|
||||
@item GNU C/C++ Cross Compilation Tools for RTEMS on your host system
|
||||
@item RTEMS OS for the target host
|
||||
@item GDB Debugger
|
||||
@end itemize
|
||||
|
||||
The remainder of this chapter provides background information on real-time
|
||||
embedded systems and cross development. If you are not familiar with either
|
||||
of these areas, please read them. This will help familiarize you with the
|
||||
types of systems RTEMS is designed to be used in and the cross development
|
||||
process used when developing RTEMS applications.
|
||||
|
||||
@section Real-Time Embedded Systems
|
||||
|
||||
Real-time embedded systems are found in practically every facet of our
|
||||
everyday lives. Today's systems range from the common telephone, automobile
|
||||
control systems, and kitchen appliances to complex air traffic control
|
||||
systems, military weapon systems, an d production line control including
|
||||
robotics and automation. However, in the current climate of rapidly changing
|
||||
technology, it is difficult to reach a consensus on the definition of a
|
||||
real-time embedded system. Hardware costs are continuing to rapidly de cline
|
||||
while at the same time the hardware is increasing in power and functionality.
|
||||
As a result, embedded systems that were not considered viable two years ago
|
||||
are suddenly a cost effective solution. In this domain, it is not uncommon
|
||||
for a single hardware configuration to employ a variety of architectures and
|
||||
technologies. Therefore, we shall define an embedded system as any computer
|
||||
system that is built into a larger system consisting of multiple technologies
|
||||
such as digital and analog electronics, mec hanical devices, and sensors.
|
||||
|
||||
Even as hardware platforms become more powerful, most embedded systems are
|
||||
critically dependent on the real-time software embedded in the systems
|
||||
themselves. Regardless of how efficiently the hardware operates, the
|
||||
performance of the embedded real-time s oftware determines the success of the
|
||||
system. As the complexity of the embedded hardware platform grows, so does
|
||||
the size and complexity of the embedded software. Software systems must
|
||||
routinely perform activities which were only dreamed of a short time ago.
|
||||
These large, complex, real-time embedded applications now commonly contain
|
||||
one million lines of code or more.
|
||||
|
||||
Real-time embedded systems have a complex set of characteristics that
|
||||
distinguish them from other software applications. Real-time embedded
|
||||
systems are driven by and must respond to real world events while adhering to
|
||||
rigorous requirements imposed by the environment with which they interact.
|
||||
The correctness of the system depends not only on the results of
|
||||
computations, but also on the time at which the results are produced. The
|
||||
most important and complex characteristic of real-time application systems is
|
||||
that they must receive and respond to a set of external stimuli within rigid
|
||||
and critical time constraints.
|
||||
|
||||
A single real-time application can be composed of both soft and hard
|
||||
real-time components. A typical example of a hard real-time system is a
|
||||
nuclear reactor control system that must not only detect failures, but must
|
||||
also respond quickly enough to prevent a meltdown. This application also has
|
||||
soft real-time requirements because it may involve a man-machine interface.
|
||||
Providing an interactive input to the control system is not as critical as
|
||||
setting off an alarm to indicate a failure condition. However, th e
|
||||
interactive system component must respond within an acceptable time limit to
|
||||
allow the operator to interact efficiently with the control system.
|
||||
|
||||
@section Cross Development
|
||||
|
||||
Today almost all real-time embedded software systems are developed in a
|
||||
@b{cross development} environment using cross development tools. In the cross
|
||||
development environment, software development activities are typically
|
||||
performed on one computer system, the @b{host} system, while the result of the
|
||||
development effort (produced by the cross tools) is a software system that
|
||||
executes on the @b{target} platform. The requirements for the target platform are
|
||||
usually incompatible and quite often in direct conflict with the requirements
|
||||
for the host. Moreover, the target hardware is often custom designed for a
|
||||
particular project. This means that the cross development toolset must allow
|
||||
the developer to customize the tools to address target specific run-time
|
||||
issues. The toolset must have provisions for board dependent initialization
|
||||
code, device drivers, and error handling code.
|
||||
|
||||
The host computer is optimized to support the code development cycle with
|
||||
support for code editors, compilers, and linkers requiring large disk drives,
|
||||
user development windows, and multiple developer connections. Thus the host
|
||||
computer is typically a traditional UNIX workstation such as are available
|
||||
from SUN or Silicon Graphics, or a PC running either a version of MS-Windows
|
||||
or UNIX. The host system may also be required to execute office productivity
|
||||
applications to allow the software developer to write documentation, make
|
||||
presentations, or track the project's progress using a project management
|
||||
tool. This necessitates that the host computer be general purpose with
|
||||
resources such as a thirty-two or sixty-four bit processor, large amounts of
|
||||
RAM, a monitor, mouse, keyboard, hard and floppy disk drives, CD-ROM drive,
|
||||
and a graphics card. It is likely that the system will be multimedia capable
|
||||
and have some networking capability.
|
||||
|
||||
Conversely, the target platform generally has limited traditional computer
|
||||
resources. The hardware is designed for the particular functionality and
|
||||
requirements of the embedded system and optimized to perform those tasks
|
||||
effectively. Instead of hard driverss and keyboards, it is composed of
|
||||
sensors, relays, and stepper motors. The per-unit cost of the target platform
|
||||
is typically a critical concern. No hardware component is included without
|
||||
being cost justified. As a result, the processor of the target system is
|
||||
often from a different processor family than that of the host system and
|
||||
usually has lower performance. In addition to the processor families
|
||||
targeted only for use in embedded systems, there are versions of nearly every
|
||||
general-purpose process or specifically tailored for real-time embedded
|
||||
systems. For example, many of the processors targeting the embedded market
|
||||
do not include hardware floating point units, but do include peripherals such
|
||||
as timers, serial controllers, or network interfaces.
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user