30-03-2013, 04:37 PM
Embedded-Configurable operating system
Embedded-Configurable.doc (Size: 125.5 KB / Downloads: 17)
INTRODUCTION TO THE ECOS:
eCos stands for embedded Configurable OS. It began with Cygnus. Then Red Hat, Inc., bought Cygnus and merged it into Red Hat. Now, eCos Centric Ltd. (UK) manages -eCos. It is royalty free, open source RTOS for embedded systems 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 ten different target architectures (ARM, Hitachi H8300, Intel x86, MIPS, Matsushita AM3x, Motorola 68k, PowerPC, SuperH, SPARC and NEC V8xx variants of these architectures. This paper describes System requirement of eCOS & eCOS architecture. And it also compares eCos operating system to Linux RTOS
What Is Ecos:-
eCOS(embedded configurable operating system) in real time operating system and embedded hardware systems. eCOS is an open source real time embedded operating system ported to variety of architectures including embedded applications. The highly configurable nature of eCOS allows the operating system to be customized to precise application requirements delivering the best possible run time performance. eCOS uses redboot for bootstrapping. Redboot is a complete boot strap environment for embedded systems based
on the eCOS HAL (hardware abstraction layer). eCOS kernel does not need to run on the target board in order to execute the application. One of its goal is efficiency from memory point of view. That is why it tries to solve the trade between package, granularity and package cost with multiple configuration option.
SCOPE:-
eCos kernel currently does not have wireless extensions built into it and because of that there are no wireless packages available to it. This is an area open to research and development.
THE ECOS CONFIGURATION METHOD:
One of the key technological innovations in eCos is the 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. eCos is designed to be portable to a wide range of target architectures and target platforms including 16, 32, and 64 bit architectures, The philosophy of the eCos component control implementation is to reduce the size for systems that have resource limitations, even to the detriment of systems that do not have strict resource constraints. With this design philosophy in mind, minimal systems do not suffer from additional code necessary to support advanced features only used in more complex systems. One method to control software components is at run time. In this method, no up-front Configuration of the component is done. Second method Compile-time control gives the developer control of the component
behavior at the earliest stage, allowing the implementation of the component itself to be built for the specific application for which it is intended.
ARCHITECTURE OVERVIEW:
eCos is designed as a configurable component architecture consisting of several key software components such as the kernel and the HAL. The fundamental goal is to allow construction of a complete embedded system from these reusable software components. This allows you to select different configuration options within the software component, or removes unused components altogether, in
order to create a system that specifically matches the requirements of your application. By creating an eCos image that closely matches your system
requirements, the size of the software is compact, only including used components. The software application is also faster because extra code is not executed. Figure shows an example of how the core building blocks, and some of the optional Components available in the eCos system, which can be layered together to incorporate the functionality needed for a specific application. Since configuration is a key aspect of the eCos system, tools are provided to manage the complexity of the different configuration options. These tools also allow components to be added or removed as needed. The tools build the main end product of an eCos configuration, which is a library that can be linked with application code.
THE HARDWARE ABSTRACTION LAYER:
The HAL isolates architectural-dependent features and presents them in a general form to allow portability of other infrastructure components. Basically, the HAL is a software layer, with generalized Application Programming Interfaces (API), which encapsulates the specific hardware operations needed to complete the desired function. The HAL consists of three separate modules
• Architecture
• Platform
• Variant
The first HAL sub module defines the architecture. Each processor family supported by eCos is considered a different architecture. Each architecture sub module contains the code necessary for CPU startup, interrupt delivery, context switching, and other functionality specific to the instruction set architecture of the associated processor family.
A second HAL sub module defines the variant. A variant is a specific processor within the processor family described by the architecture. An example of a feature that might be included at this level is support for an on-chip peripheral such as a Memory Management Unit (MMU).