Getting Started with eCosTM
Prev |  | Next

# Foreword

Welcome to the second public release of the Embedded Cygnus Operating System, eCosTM version 1.2.1.

eCos is an open source, configurable, portable, and royalty-free embedded real-time operating system. Let’s expand on these particular aspects further to give you a clearer understanding of the vision behind eCos.

eCos is provided as an open source runtime system supported by the Cygnus GNUPro 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 Cygnus eCos Public License (CEPL). 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 ask that you make publicly available any modifications to the eCos code itself. Cygnus 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 a benefit to the entire eCos community.

One of the key technological innovations in eCos is our configuration system. The configuration system allows the application to impose its 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. 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 will allow applications to be built from a rich set of optional configurable run-time components. These components are provided from a number of different sources including: the standard eCos release; commercial third party developers; open source contributors; or additional optional components from Cygnus.

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 or eCos Sourceware 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 targets processor architecture and board. Currently eCos supports five different target architectures and many variants of these architectures:

- Advanced RISC Machines ARM7

- Fujitsu SPARClite MB8683x series of processors

- Matsushita MN10300

- PowerPC MPC860, MPC850 and MPC823 (beta release status)

- Toshiba TX39 (a MIPS variant)

More ports are in development and will be released as they become available.

eCos has been designed to support applications with real-time requirements, and therefore behaves in a deterministic manner and includes all the necessary synchronization primitives, scheduling policies, and interrupt handling mechanisms needed for real-time applications. eCos also provides all the functionality required for general embedded application support including device drivers, memory management, exception handling, C and 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 GNUPro based compilers, assemblers, linkers, debuggers, and simulators.

We have released eCos as Open Source software because we believe that this is the most effective development model for infrastructure software, and that it provides the greatest benefit to the embedded developer community as a whole. As part of this endeavor, we solicit input from, and the participation of eCos developers in making eCos a better product. This 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

- by contributing bug fixes and enhancement patches

- by 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 embedded applications. This will be achieved in part by Cygnus’ own efforts, but also with the assistance of the eCos developer community cooperating to improve eCos for all.

Cygnus provides a web site for all open source projects that it sponsors, and this hosts an area dedicated to the eCos developer community http://sourceware.cygnus.com/ecos/The site contains a rich set of resources including eCos news, FAQ, online documentation, installation guide, runtime and development tools downloads, discussion and announcement mailing lists, and online problem report form. In the near future we will also be adding AnonCVS and WEBCVS access to provide you with direct access to the latest eCos updates. Complementing the Sourceware site is an eCos product site, featuring news, press releases, details of Cygnus’s commercial engineering and support services, products, and third party partner offerings. This is located at http://www.cygnus.com/ecos/

Since the original eCos 1.1 release, Cygnus has continued its development adding a wealth of new features and additional ports. I would like to take this opportunity to extend our thanks to the eCos developers who have contributed feedback, bug reports, patches, and code that has augmented this release. The eCos 1.2.1 release features the following enhancements:

New architectures:

- Advanced RISC Machines ARM7

- Fujitsu SPARClite MB8683x series of processors

We have also extended the PowerPC MPC860 support to include both the MPC850 and MPC823 variants.

Several new evaluation board ports:

- ARM PID7T

  ARM AEB-1 (beta)

- Cogent CMA287-50 - PowerPC MPC850

- Cogent CMA287-23 - PowerPC MPC823

- Motorola FADS860 (unsupported contributed port)

- Fujitsu MB8683x evaluation boards

A new host:

- Solaris 2.5.1 for SPARClite eCos only

New tools features:

- Synthetic Target support under Linux x86 - run eCos apps natively under Linux

- Configuration Tool—Built-in support for eCos testcase execution

- Configuration Tool—Memory layout editor, simplifying the task of mapping eCos to your system’s memory map

- Configuration Tool—Miscellanous enhancements including progress bar for most operations

- Enhanced GDB multithreading support—user control of scheduler locking while debugging

- Enhanced GDB download protocol—halving the download time over serial connections

New or extended runtime features

- New eCos device driver architecture - including revised serial drivers for all supported boards

- Standardized kernel device driver API

- ISO C library now includes support for signals and date/time functions

- Cygmon ROM monitor support for the SPARClite evaluation boards, including ethernet based download and debug

- Updated and expanded documentation including the new ports and device driver architecture

- Expanded testsuite

- A wealth of minor enhancements and bug fixes

Cygnus is dedicated to continual expansion, enhancement, and maintenance of the eCos system. Developers can look forward to upcoming releases that further extend the architectural and board coverage, add enhancements to the configuration and build system, and add new features such as a power management API, full C++ kernel API, and Java runtime support.

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

Paul Beskeen, Director of Engineering, eCos

March 1999

Prev | Home | Next
Getting Started with eCosTM |  | Documentation Roadmap