EMBEDDED CONFIGURABLE
OPERATING SYSTEM (eCOS)
           By
       Misheal Ayaz
       Shehla Afzal
What is an Embedded OS
• An "embedded system" is any computer system or
  computing device that performs a dedicated function or is
  designed for use with a specific embedded software
  application.


• Often, embedded systems are part of a larger system or
  product,
      e.g., antilock braking system in a car
Embedded Configurable Operating
             System
ECOS is an open-source, royalty-free
(http://en.wikipedia.org/wiki/Royalty-free),
highly configurable, application-specific
operating system ideal for embedded systems
development. eCos is targeted at high-volume
applications in consumer electronics,
telecommunications, automotive, and other
deeply embedded applications.
Diagram




The eCos Layered Software Architecture
Kernel Design
The eCos kernel was designed to satisfy four main objectives
 1)Low interrupt latency
  The time it takes to respond to an interrupt

  2)Low task switching latency
  The time it takes from when a thread becomes available to when actual
  execution begins

  3)Small memory footprint
  Memory resources for both program and data are kept to a minimum by
  allowing all components to configure memory as needed

   4)Deterministic behavior
   Throughout all aspect of execution, the kernels performance must be
     predictable and bounded to meet real-time application requirements
Kernel Features
The following is a partial list of kernel features:
• eCos kernel provides the core functionality needed for
developing multi-threaded applications
    - create and control threads
    - scheduling, e.g., multilevel queue
    - synchronization, e.g., semaphores
• Some not included to make for a small kernel
- memory allocation (in separate package)
- device drivers (in separate packages)
• interrupt handling
• exception handling
• cache control
• trace buffers
•infrastructure and instrumentation
Good Embedded OS
•   Small footprint
•   Configurable
•   Open Source
•   Hardware Supported
•   Device drivers
Interrupts

Create Interrupts
Delete Interrupts
Attach/Detach Interrupts
Configure Interrupts
Acknowledge Interrupts
Enable ?disable Interrupts
I/O

Packages for all generic hardware independent I/O system
support
   •Ethernet
   •Flash
   •serial which is basic for system device drivers.
Memory Management
eCos is a single process, multiple thread operating
environment. As such, memory management is
not required. Memory management hardware
may be used on some platforms where it exists
and is required for optimum performance. For
example, on PowerPC based platforms, memory
management is used in order to enable cache
operations.
Multitasking
Two threads with simple print statements after random delays
File System
  Including FAT File system in a Configuration
  The FAT file system is contained in a single eCos package,
    CYGPKG_FS_FAT. However, it depends on the services of a
    collection of other packages for complete functionality
         • CYGPKG_IO_FILEIO
         • CYGPKG_IO
         • CYGPKG_IO_DISK
         • CYGPKG_LINUX_COMPAT
         • CYGPKG_LIBC_STRING
         • CYGPKG_MEMALLOC
http://www.ecoscentric.com/ecospro/doc/html/ref/fatfs-config.html
Networking
TCP/IP (Transmission Control Protocol /
  Internet Protocol) Stack Support for eCos
The Common Networking for eCos package
  provides support for a complete TCP/IP
  networking stack. The design allows for the
  actual stack to be modular and at the current
  time two different implementations, one
  based on Open BSD from 2000 and a new
  version based on FreeBSD, are available.
Security
 Maximum security against data theft and data
  manipulation.
 ECOS Technology has specialized in the
  development of high-security solutions for
  mobile and remote access to data - Remote
  Access.
 The system ecos secure is designed for the
  secure management of keys in critical and
  security relevant company sectors.
User Interface
User Interface task mainly provides two
  functionalities
1)Display receiving information to User
2) Accept action request from User/Keyboard.
Comparison with other OSs
                                General purpose OS        Event-driven OS
MOC                             Multi-tasking             Communicating EFSMs
Generality                      General                   Target event driven systems
Communication Overhead          Large                     Small
Communication Frequency         Infrequent                Frequent
Memory Requirement              Large                     Small

                                 General comparison
 OS type           Processor       Application   Total instruction mem   Data mem
 General Purpose   ARM7 thumb           10,096           22324             54988


 Event-driven      ARM7 thumb           5312              8000              2800


 Event-driven      8 bit RISC           2740              3176              709




                     Memory requirements comparison.
The End
Thank you

Ecoz presentation

  • 1.
    EMBEDDED CONFIGURABLE OPERATING SYSTEM(eCOS) By Misheal Ayaz Shehla Afzal
  • 2.
    What is anEmbedded OS • An "embedded system" is any computer system or computing device that performs a dedicated function or is designed for use with a specific embedded software application. • Often, embedded systems are part of a larger system or product, e.g., antilock braking system in a car
  • 3.
    Embedded Configurable Operating System ECOS is an open-source, royalty-free (http://en.wikipedia.org/wiki/Royalty-free), highly configurable, application-specific operating system ideal for embedded systems development. eCos is targeted at high-volume applications in consumer electronics, telecommunications, automotive, and other deeply embedded applications.
  • 4.
    Diagram The eCos LayeredSoftware Architecture
  • 5.
    Kernel Design The eCoskernel was designed to satisfy four main objectives 1)Low interrupt latency The time it takes to respond to an interrupt 2)Low task switching latency The time it takes from when a thread becomes available to when actual execution begins 3)Small memory footprint Memory resources for both program and data are kept to a minimum by allowing all components to configure memory as needed 4)Deterministic behavior Throughout all aspect of execution, the kernels performance must be predictable and bounded to meet real-time application requirements
  • 6.
    Kernel Features The followingis a partial list of kernel features: • eCos kernel provides the core functionality needed for developing multi-threaded applications - create and control threads - scheduling, e.g., multilevel queue - synchronization, e.g., semaphores • Some not included to make for a small kernel - memory allocation (in separate package) - device drivers (in separate packages) • interrupt handling • exception handling • cache control • trace buffers •infrastructure and instrumentation
  • 7.
    Good Embedded OS • Small footprint • Configurable • Open Source • Hardware Supported • Device drivers
  • 8.
    Interrupts Create Interrupts Delete Interrupts Attach/DetachInterrupts Configure Interrupts Acknowledge Interrupts Enable ?disable Interrupts
  • 9.
    I/O Packages for allgeneric hardware independent I/O system support •Ethernet •Flash •serial which is basic for system device drivers.
  • 10.
    Memory Management eCos isa single process, multiple thread operating environment. As such, memory management is not required. Memory management hardware may be used on some platforms where it exists and is required for optimum performance. For example, on PowerPC based platforms, memory management is used in order to enable cache operations.
  • 11.
    Multitasking Two threads withsimple print statements after random delays
  • 12.
    File System Including FAT File system in a Configuration The FAT file system is contained in a single eCos package, CYGPKG_FS_FAT. However, it depends on the services of a collection of other packages for complete functionality • CYGPKG_IO_FILEIO • CYGPKG_IO • CYGPKG_IO_DISK • CYGPKG_LINUX_COMPAT • CYGPKG_LIBC_STRING • CYGPKG_MEMALLOC http://www.ecoscentric.com/ecospro/doc/html/ref/fatfs-config.html
  • 13.
    Networking TCP/IP (Transmission ControlProtocol / Internet Protocol) Stack Support for eCos The Common Networking for eCos package provides support for a complete TCP/IP networking stack. The design allows for the actual stack to be modular and at the current time two different implementations, one based on Open BSD from 2000 and a new version based on FreeBSD, are available.
  • 14.
    Security  Maximum securityagainst data theft and data manipulation.  ECOS Technology has specialized in the development of high-security solutions for mobile and remote access to data - Remote Access.  The system ecos secure is designed for the secure management of keys in critical and security relevant company sectors.
  • 15.
    User Interface User Interfacetask mainly provides two functionalities 1)Display receiving information to User 2) Accept action request from User/Keyboard.
  • 16.
    Comparison with otherOSs General purpose OS Event-driven OS MOC Multi-tasking Communicating EFSMs Generality General Target event driven systems Communication Overhead Large Small Communication Frequency Infrequent Frequent Memory Requirement Large Small General comparison OS type Processor Application Total instruction mem Data mem General Purpose ARM7 thumb 10,096 22324 54988 Event-driven ARM7 thumb 5312 8000 2800 Event-driven 8 bit RISC 2740 3176 709 Memory requirements comparison.
  • 17.