RTEMS Logo

RTEMS 4.9.1 On-Line Library


Cross Development

PREV UP NEXT Bookshelf Getting Started with GNAT/RTEMS

1.2: Cross Development

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 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 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.


PREV UP NEXT Bookshelf Getting Started with GNAT/RTEMS

Copyright © 1988-2008 OAR Corporation