Foreword
To Contents | To previous page | To next page

## Foreword

Welcome to the 1.3.1 release of Red Hat eCos(TM) - the Embedded Configurable Operating System.

### What's New in 1.3.1?

In this, the third major public release of eCos, we have added a wealth of new features, enhancements, and have further extended the target platform coverage.

The configuration system has been completely revised and updated. Major new elements include:

- Package management that supports the extension of eCos functionality via third party add-on packages.

- A standardized configuration save file format that is human readable and editable, and compatible between both GUI and command line configuration tools.

- Enhanced web based help and component documentation system integrated into the GUI configuration tool.

- The Component Definition Language (CDL) has been radically revised and has now been implemented as a TCL extension for maximum flexibility. CDL is now fully documented in the Component Writers Guide.

- Template support for straightforward control of multiple configuration elements, which can be used to provide easy access to standard eCos configurations such as a debug stub boot ROM.

- Best of all, the source of the new configuration tools and underlying libCDL technology has been open sourced under the GNU Public License (GPL).

A companion beta version of the eCos TCP/IP stack has been released in conjunction with 1.3.1. The stack is derived from the OpenBSD source base and provides UDP, TCP, ICMP and BOOTP protocol support on an IPv4 standards base. Device driver support for Cirrus Logic EP72xx evaluation boards and Motorola MBX is included. The stack, ethernet core support, and device drivers are all distributed as configurable eCos packages.

A PCI bus support library has also been added that provides generic PCI bus based device initialization, discovery, and configuration. The library has been ported to both the VR4300 DDB-VRC4373 and StrongARM EBSA285 development boards.

New architectures and platforms added in this release include:

- ARM Thumb

- ARM9

- Cirrus Logic CL-PS7111 and EP72xx

- Cogent CMA222 and CMA230 ARM boards

- Hitachi SH3

- Intel StrongARM

- Intel x86 PC

- Matsushita AM33

- Motorola MBX evaluation board

- NEC MIPS VR4300

For further details of all the changes see the NEWS file in the eCos sources.

This is the first release of eCos since the merger of Red Hat and Cygnus Solutions was completed. Red Hat is dedicated to continued enhancement and maintenance of the eCos system. Developers can look forward to upcoming releases that further expand the architectural and board coverage, extend the functionality of the TCP/IP stack, add a Linux version of the GUI configuration tool, and add major new features such as a Linux/Posix compatibility layer based on the upcoming EL/IX standard - see
http://sourceware.cygnus.com/elix/
for more details.

The merger has brought about some minor changes to eCos's Mozilla-derived public license, the most fundamental of which is simply the change of name from Cygnus eCos Public License (CEPL) to Red Hat eCos Public License (RHEPL). The license terms themselves have not changed in any material way other than alterations necessary to accommodate the change in company details.

### eCos in a Nutshell

eCos is an open source, configurable, portable, and royalty-free embedded real-time operating system. The following text expands on these core aspects that define eCos.

eCos is provided as an open source runtime system supported by the Red Hat GNUPro and GNU open source development tools. Developers have full and unfettered access to all aspects of the runtime system. No parts of it are proprietary or hidden, and you are at liberty to examine, add to, and modify the code as you deem necessary. These rights are granted to you and protected by the Red Hat eCos Public License (RHEPL). It also grants you the right to freely develop and distribute applications based on eCos. You are not expected or required to make your embedded applications or any additional components that you develop freely available, although we do require that you make publicly available any modifications to the eCos code itself. Red Hat of course welcomes all contributions back to eCos such as board ports, device drivers and other components, as this helps the growth and development of eCos, and is of benefit to the entire eCos community.

One of the key technological innovations in eCos is our configuration system. The configuration system allows the application writer to impose their requirements on the run-time components, both in terms of their functionality and implementation, whereas traditionally the operating system has constrained the application's own implementation. Essentially, this enables eCos developers to create their own application-specific operating system and makes eCos suitable for a wide range of embedded uses. Configuration also ensures that the resource footprint of eCos is minimized as all unnecessary functionality and features are removed. The configuration system also presents eCos as a component architecture. This provides a standardized mechanism for component suppliers to extend the functionality of eCos and allows applications to be built from a wide set of optional configurable run-time components. Components can be provided from a variety of sources including: the standard eCos release; commercial third party developers; open source contributors; or additional optional components from Red Hat.

The royalty-free nature of eCos means that you can develop and deploy your application using the standard eCos release without incurring any royalty charges. In addition, there are no up-front license charges for the eCos runtime source code and associated tools. We provide, without charge, everything necessary for basic embedded applications development.

eCos is designed to be portable to a wide range of target architectures and target platforms including 16, 32, and 64 bit architectures, MPUs, MCUs and DSPs. The eCos kernel, libraries and runtime components are layered on the Hardware Abstraction Layer (HAL), and thus will run on any target once the HAL and relevant device drivers have been ported to the target's processor architecture and board. Currently eCos supports seven different target architectures (ARM, Hitachi SH3, Intel x86, MIPS, Matsushita AM3x, PowerPC and SPARC) including many of the popular variants of these architectures and evaluation boards. Many new ports are in development and will be released as they become available.

eCos has been designed to support applications with real-time requirements, providing features such as full preemptability, minimal interrupt latencies, and all the necessary synchronization primitives, scheduling policies, and interrupt handling mechanisms needed for these type of applications. eCos also provides all the functionality required for general embedded application support including device drivers, memory management, exception handling, C, math libraries, etc. In addition to runtime support, the eCos system includes all the tools necessary to develop embedded applications, including eCos software configuration and build tools, and GNU based compilers, assemblers, linkers, debuggers, and simulators.

To get the most out of eCos you should visit the eCos open source developers site:
http://sourceware.cygnus.com/ecos/
The site is dedicated to the eCos developer community and contains a rich set of resources including news, FAQ, online documentation, installation guide, discussion and announcement mailing lists, online problem report form, and runtime and development tools downloads. We also support anonymous CVS and WEBCVS access to provide you with direct access to the very latest eCos source base. Complementing the open source developers site is an eCos product site, featuring news, press releases, details of our commercial engineering and support services, products, and third party partner offerings. This is located at
http://www.redhat.com/services/ecos/

We have released eCos as open source software because we believe that this is the most effective software development model, and that it provides the greatest benefit to the embedded developer community as a whole. As part of this endeavor, we seek the input and participation of eCos developers in its continuing evolution. Participation can take many forms including:

- providing us with feedback on how eCos might be made more useful to you - by taking part in the ongoing mailing list discussions and by submitting problem reports covering bugs, documentation issues, and missing features

- contributing bug fixes and enhancement patches

- contributing new code including device drivers, board ports, libraries, and other runtime components

Our long term aim is to make eCos a rich and ubiquitous standard infrastructure for the development of deeply embedded applications. This will be achieved in part by Red Hat's own efforts, but also with the assistance of the eCos developer community cooperating to improve eCos for all. I would like to take this opportunity to extend our thanks to the many eCos developers who have already contributed feedback, ideas, patches, and code that have augmented and improved this release.

On behalf of the eCos team, welcome to the eCos developer community.

Paul Beskeen,
Director of Engineering,
eCos March 2000

Foreword
To Contents | To previous page | To next page