ECos

Last updated
eCos
ECos logo.png
Developer eCos community, Free Software Foundation
Written in C, C++, assembly
Working stateCurrent
Source model Open source
Initial releaseSeptember 1998;23 years ago (1998-09)
Latest release eCosPro 4.1 / June 28, 2017;4 years ago (2017-06-28)
Marketing target Embedded systems
Platforms ARM (Cortex-A5, -A7, -A9, -A53, -M3, -M4, -M7); CalmRISC, FR-V, Hitachi H8, IA-32, Motorola 68000, Matsushita AM3x, MIPS, NEC V850, Nios II, PowerPC, SPARC, SuperH
Kernel type Real-time
License eCos License: GNU General Public License (with linking exception) [1]
Official website ecos.sourceware.org

The Embedded Configurable Operating System (eCos) is a free and open-source real-time operating system intended for embedded systems and applications which need only one process with multiple threads. It is designed to be customizable to precise application requirements of run-time performance and hardware needs. It is implemented in the programming languages C and C++ and has compatibility layers and application programming interfaces for Portable Operating System Interface (POSIX) and The Real-time Operating system Nucleus (TRON) variant µITRON. eCos is supported by popular SSL/TLS libraries such as wolfSSL, thus meeting all standards for embedded security. [2]

Contents

Design

eCos was designed for devices with memory sizes in the range of a few tens or several hundred kilobytes, [3] or for applications with real-time requirements.

eCos runs on a wide variety of hardware platforms, including ARM, CalmRISC, FR-V, Hitachi H8, IA-32, Motorola 68000, Matsushita AM3x, MIPS, NEC V850, Nios II, PowerPC, SPARC, and SuperH.

The eCos distribution includes RedBoot, an open source application that uses the eCos hardware abstraction layer to provide bootstrap firmware for embedded systems.

History

eCos was initially developed in 1997 [4] by Cygnus Solutions which was later bought by Red Hat. In early 2002, Red Hat ceased development of eCos and laid off the staff of the project. [5] Many of the laid-off staff continued to work on eCos and some formed their own companies providing services for the software. In January 2004, at the request of the eCos developers, Red Hat agreed to transfer the eCos copyrights to the Free Software Foundation [6] in October 2005, a process finally completed in May 2008.

Non-free versions

The eCosPro real-time operating system is a commercial fork of eCos created by eCosCentric which incorporates proprietary software components. It is claimed as a "stable, fully tested, certified and supported version", [7] with additional features that are not released as free software. On Pi Day 2017, eCosCentric announced [8] they had ported eCosPro to all of the Raspberry Pi models, with demonstrations at the Embedded World trade fair in Nuremberg (Germany) and releases free for non-commercial uses to follow.

See also

Related Research Articles

Cygwin Unix subsystem for Windows machines

Cygwin is a POSIX-compatible programming and runtime environment that runs natively on Microsoft Windows. Under Cygwin, source code designed for Unix-like operating systems may be compiled with minimal modification and executed.

Free software Software licensed to preserve user freedoms

Free software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, not price; all users are legally free to do what they want with their copies of a free software regardless of how much is paid to obtain the program. Computer programs are deemed "free" if they give end-users ultimate control over the software and, subsequently, over their devices.

Linux distribution Operating system based on the Linux kernel

A Linux distribution is an operating system made from a software collection that includes the Linux kernel and, often, a package management system. Linux users usually obtain their operating system by downloading one of the Linux distributions, which are available for a wide variety of systems ranging from embedded devices and personal computers to powerful supercomputers.

Plan 9 from Bell Labs Distributed operating system

Plan 9 from Bell Labs is a distributed operating system, originating in the Computing Science Research Center (CSRC) at Bell Labs in the mid-1980s, and building on UNIX concepts first developed there in the late 1960s. Since 2000, Plan 9 is free and open-source. The final official release was in early 2015.

Red Hat Software company providing open-source software products

Red Hat, Inc. is an American IBM subsidiary software company that provides open source software products to enterprises. Founded in 1993, Red Hat has its corporate headquarters in Raleigh, North Carolina, with other offices worldwide.

Cygnus Solutions, originally Cygnus Support, was founded in 1989 by John Gilmore, Michael Tiemann and David Henkel-Wallace to provide commercial support for free software. Its tagline was: Making free software affordable.

An embedded operating system is an operating system for embedded computer systems. Embedded operating systems are computer systems designed for a specific purpose, to increase functionality and reliability for achieving a specific task. Resource efficiency comes at the cost of losing some functionality or granularity that larger computer operating systems provide, including functions which may not be used by the specialized applications they run. Depending on the method used for multitasking, this type of OS is frequently considered to be a real-time operating system, or RTOS. Embedded systems are mostly used as Real-time operating systems.

Embedded software Computer software written to control machines not typically thought of as computers

Embedded software is computer software, written to control machines or devices that are not typically thought of as computers, commonly known as embedded systems. It is typically specialized for the particular hardware that it runs on and has time and memory constraints. This term is sometimes used interchangeably with firmware.

Operating systems based on the Linux kernel are used in embedded systems such as consumer electronics.

Azure RTOS ThreadX is a highly deterministic, embedded real-time operating system (RTOS) programmed mostly in the language C.

RedBoot is an open-source application that uses the eCos real-time operating system Hardware Abstraction Layer to provide bootstrap firmware for embedded systems. RedBoot is used in both product development and in deployed products in the field, such as the entertainment systems on the Airbus A380s and Delta's Boeing 767.

Network Security Services Collection of cryptographic computer libraries

Network Security Services (NSS) is a collection of cryptographic computer libraries designed to support cross-platform development of security-enabled client and server applications with optional support for hardware TLS/SSL acceleration on the server side and hardware smart cards on the client side. NSS provides a complete open-source implementation of cryptographic libraries supporting Transport Layer Security (TLS) / Secure Sockets Layer (SSL) and S/MIME. NSS releases prior to version 3.14 are tri-licensed under the Mozilla Public License 1.1, the GNU General Public License, and the GNU Lesser General Public License. Since release 3.14, NSS releases are licensed under GPL-compatible Mozilla Public License 2.0.

TI-RTOS is an embedded tools ecosystem created and offered by Texas Instruments (TI) for use in a wide range of their embedded system processors. It includes a real-time operating system (RTOS) component named TI-RTOS Kernel along with added components that support device drivers, networking connectivity stacks, power management, file systems, instrumentation, and inter-processor communications like DSP/BIOS Link. It is free and open-source software, released under one of the BSD licenses.

ChibiOS/RT Real-time operating system

ChibiOS/RT is a compact and fast real-time operating system supporting multiple architectures and released under a mix of the GNU General Public License version 3 (GPL3) and the Apache License 2.0. It is developed by Giovanni Di Sirio.

BeRTOS is a real-time operating system designed for embedded systems.

FunkOS is a real-time operating system (RTOS) developed by Funkenstein Software Consulting, targeting a variety of microcontroller architectures. It is free to use in any project - commercial or otherwise - with few conditions. If the kernel is ported to a new target, that code must also be made available for inclusion in future releases. Also, if used in commercial projects, an attribution statement must be included in some form of product documentation.

NetBSD Open-source Unix-like operating system

NetBSD is a free and open-source Unix-like operating system based on the Berkeley Software Distribution (BSD). It was the first open-source BSD descendant officially released after 386BSD was forked. It continues to be actively developed and is available for many platforms, including servers, desktops, handheld devices, and embedded systems.

Raspberry Pi Series of low-cost single-board computers used for educational purposes and embedded systems

Raspberry Pi is a series of small single-board computers (SBCs) developed in the United Kingdom by the Raspberry Pi Foundation in association with Broadcom. The Raspberry Pi project originally leaned towards the promotion of teaching basic computer science in schools and in developing countries. The original model became more popular than anticipated, selling outside its target market for uses such as robotics. It is widely used in many areas, such as for weather monitoring, because of its low cost, modularity, and open design. It is typically used by computer and electronic hobbyists, due to its adoption of HDMI and USB devices.

Raspberry Pi OS Debian-based operating system for Raspberry Pi

Raspberry Pi OS is a Debian-based operating system for Raspberry Pi. Since 2013, it has been officially provided by the Raspberry Pi Foundation as the primary operating system for the Raspberry Pi family of compact single-board computers.

References

  1. eCos official website. "eCos License Overview" . Retrieved 2009-06-22. eCos is released under a modified version of the well known GNU General Public License (GPL).
  2. "[SOLVED] load_buffer with NO_FILESYSTEM define needs filesystem? (Page 1)". wolfSSL (formerly CyaSSL) Embedded SSL Library. Retrieved 2019-02-14.
  3. Larmour, Jonathan (May 2005). "How eCos can be shrunk to fit" (PDF). Embedded Systems Europe. p. 34. Archived from the original (PDF) on 2006-05-15. Retrieved 2007-04-01.
  4. eCosCentric website. "eCos Timeline" . Retrieved 2015-07-01. eCos was conceived and initially developed by Cygnus Solutions Inc., who initiated the project in February 1997.
  5. "Red Hat backs away from eCos?". linuxdevices.com. 2002-06-19. Archived from the original on 2007-04-16. Retrieved 2007-04-01.
  6. "Red Hat to contribute copyrights held in the eCos code base to the Free Software Foundation" (Press release). Red Hat. 2004-01-13.
  7. "eCosCentric announces eCosPro Developer's Kit" (Press release). OSNews. 2003-09-02. Retrieved 2007-03-31.
  8. "eCosPro Industrial Strength RTOS for the Raspberry Pi announced". www.ecoscentric.com. Retrieved 2017-03-15.