Getting Started with RTEMS
Today almost all real-time embedded software systems are developed in a cross development environment using cross development tools. In the cross development environment, software development activities are typically performed on one computer system, the build-host system, while the result of the development effort (produced by the cross tools) is a software system that executes on the target platform. The requirements for the target platform are usually incompatible and quite often in direct conflict with the requirements for the build-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 build-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 build-host computer is typically a traditional UNIX workstation such as those available from SUN or Silicon Graphics, or a PC running either a version of MS-Windows or UNIX. The build-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 build-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 drives 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 build-host system and usually has lower performance. In addition to the processor families designed only for use in embedded systems, there are versions of nearly every general-purpose processor 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.
Getting Started with RTEMS
Copyright © 1988-2004 OAR Corporation