summaryrefslogtreecommitdiffstats
path: root/doc/started_ada/intro.t
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1998-04-11 13:55:14 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1998-04-11 13:55:14 +0000
commit8e8676daae33d27c42ba95ff0a3721316c2245c7 (patch)
treea041fff5415ee330bd4d98d76254c35a908d5725 /doc/started_ada/intro.t
parentPrinted copy given to Steve and Mark (diff)
downloadrtems-8e8676daae33d27c42ba95ff0a3721316c2245c7.tar.bz2
Base line -- copied from C/C++
Diffstat (limited to 'doc/started_ada/intro.t')
-rw-r--r--doc/started_ada/intro.t122
1 files changed, 122 insertions, 0 deletions
diff --git a/doc/started_ada/intro.t b/doc/started_ada/intro.t
new file mode 100644
index 0000000000..87e0552aa0
--- /dev/null
+++ b/doc/started_ada/intro.t
@@ -0,0 +1,122 @@
+@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 decline
+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, mechanical 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 software 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.
+
+
+