1 / 23

Chapter 13 Embedded Systems

Chapter 13 Embedded Systems. Embedded Systems Characteristics of Embedded Operating Systems eCos. Embedded System. A combination of hardware and software designed to perform a dedicated function Often, embedded systems are part of a larger system or product,

marlenet
Download Presentation

Chapter 13 Embedded Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 13Embedded Systems • Embedded Systems • Characteristics of Embedded Operating Systems • eCos

  2. Embedded System • A combination of hardware and software designed to perform a dedicated function • Often, embedded systems are part of a larger system or product, • e.g., antilock braking system in a car • Embedded systems are tightly coupled to their environment  imposes real-time constraints by the need to interact with the environment

  3. Examples of Embedded Devices

  4. Differences from typical computer • A variety of interfaces • enable the system to measure, manipulate, and interact with the external environment • human interface may be as simple as a flashing light or as complicated as real-time robotic vision • Use of a diagnostic port for diagnosing the system • Use of special purpose hardware to increase performance or safety • Fixed-function or application-specific software

  5. Roadmap • Embedded Systems • Characteristics of Embedded Operating Systems • eCos

  6. Characteristics of Embedded OS • Using a general-purpose OS for an embedded system may not be possible • constraint of memory space • constraint of power consumption • real-time requirements

  7. Characteristics of Embedded OS • Real-time operation • correctness of computation depends, in part, on the time at which result is delivered • Reactive operation • need to consider worst-case conditions (due to external events) in execution • Configurability • only the functionality needed for a specific application and hardware suite is provided

  8. Characteristics of Embedded OS • I/O device flexibility • handles devices by using special tasks instead of integrating their drives into the OS kernel • Streamlined protection mechanisms • limited protection because tested software can be assumed to be reliable • Direct use of interrupts • general-purpose OS typically do not permit any user process to use interrupts directly

  9. Developing anEmbedded OS • Two general approaches • Take an existing OS and adapt it for embedded purposes • Design a purpose-built OS solely for embedded use

  10. Adapting an Existing OS • Examples include Windows, Linux •  familiar interfaces facilitate portability •  slower and less predictable than special purpose embedded OS •  not optimized for real-time and embedded applications  require considerable modification to achieve adequate performance • optimizes for the average case rather than the worst case for scheduling • assigns resources on demand and ignores semantic information about an application

  11. Adapting an Existing OS • Need to add • real-time capability • streamlining operation • other specialized and necessary functionality for the given device

  12. Purpose-Built Embedded OS • Typical characteristics include: • Fast and lightweight process or thread switch • Real time scheduling policy • Small size • Responds to external interrupts quickly (<10 s) • Minimizes intervals during which interrupts are disabled

  13. Purpose-Built Embedded OS • Typical characteristics include: • Provides fixed or variable sized partitions for memory management as well as the ability to lock code and data in memory • Provides special sequential files that can accumulate data at a fast rate

  14. Timing Constraints • To deal with timing constraints, the kernel: • Provides bounded execution time for primitives • Maintains a real-time clock • Provides for special alarms and timeouts • Supports real-time queuing disciplines, e.g., EDF • Provides primitives to delay processing and to suspend/resume execution

  15. Roadmap • Embedded Systems • Characteristics of Embedded Operating Systems • eCos

  16. eCosEmbedded Configurable OS • Open source, royalty-free, real-time OS • Most widely used embedded OS • Targeted at high-performance small embedded systems

  17. eCos Configuration Tool • The eCos configuration tool is used to configure an eCos package to run on a target embedded system At each level, the configuration user may select only those components needed for the target application Items on the list can be expanded to provide a finer-grained menu of options

  18. eCos Layered Structure • eCos consists of a layered set of components to achieve portability to different architectures and platforms

  19. Hardware Abstraction Layer • Presents consistent API to upper layers and maps upper-layer operations onto a specific platform Same call but different implementations

  20. eCos Kernel Design • Four main objectives: • Low interrupt latency • The time it takes to respond to an interrupt and begin executing an ISR • Low task switching latency • The time it takes from when a thread becomes available to when actual execution begins

  21. eCos Kernel Design • Four main objectives: • Small memory footprint • Memory resources for both program and data are kept to a minimum by allowing all components to configure memory as needed • Deterministic behavior • Throughout all aspect of execution, the kernels performance must be predictable and bounded to meet real-time application requirements

  22. eCos Kernel • 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)

  23. eCos I/O System • Framework for supporting device drivers • A variety of drivers are available through the configuration package • device drivers provide the necessary functions for I/O, buffering and device control • Principle objective is efficiency with no unnecessary software layering or excessive functionality

More Related