Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 13 Embedded Systems

Similar presentations


Presentation on theme: "Chapter 13 Embedded Systems"— Presentation transcript:

1 Chapter 13 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 an Embedded 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 eCos Embedded 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


Download ppt "Chapter 13 Embedded Systems"

Similar presentations


Ads by Google