This document covers the eCos support for all i386 based PCs. This
configuration of eCos should run on all i386/486/Pentium motherboards
and PC compatible embedded devices.
For typical eCos development, a RedBoot image is programmed onto a
disk device and the board will boot this image from reset. RedBoot
provides gdb stub functionality so it is then possible to download and
debug stand-alone and eCos applications via the gdb debugger. This can
happen over either a serial line or over ethernet.
Supported Hardware
eCos runs the i386 CPU in 32-bit protected mode. The segment registers
are initialized to provide a flat 32-bit address space and the MMU is
not enabled. Coherence between the cache and device memory is handled
entirely by the hardware.
There is a serial driver CYGPKG_IO_SERIAL_GENERIC_16X5X
which supports the 16X5X UARTs used by the
PC. The CYGPKG_IO_SERIAL_I386_PC
package provides customization of this generic driver to the PC
hardware. These devices can be used by RedBoot for communication with
the host. If any of these devices is needed by the application, either
directly or via the serial driver, then it cannot also be used for
RedBoot communication. Another communication channel such as ethernet
should be used instead. The serial driver packages are loaded
automatically when configuring for the PC target.
Supported Ethernet devices include the Intel i82559, Intel i82544,
National Semiconductor DP83816 and RealTek RTL8139. Each of these
devices is supported by a generic device driver plus a package that
customizes it to the PC hardware environment.
eCos manages the standard PC priority interrupt controller. PIT timer
0 is used to implement the eCos system clock and the microsecond delay
function. eCos assumes that the PCI bus will be configured by the
BIOS.
Tools
The i386 port is intended to work with GNU tools configured for an
i386-elf target. The original port was undertaken using
i386-elf-gcc version 3.2.1, i386-elf-gdb version 5.3, and
binutils version 2.13.1.