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.
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
which supports the 16X5X UARTs used by the
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.
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.