Abstract

AbstractIn order to cope with the complexity of applications of embedded systems, reuse of components is a key technique. As pointed out by Sangiovanni-Vincentelli (The context for platform-based design. IEEE Design and Test of Computers, 2002), software and hardware components must be reused in the platform-based design methosdology (see p. 296). These components comprise knowledge from earlier design efforts and constitute intellectual property (IP). Standard software components that can be reused include system software components such as embedded operating systems (OSs) and middleware. The last term denotes software that provides an intermediate layer between the OS and application software. This chapter starts with a description of general requirements for embedded operating systems. This includes real-time capabilities as well as adaptation techniques to provide just the required functionality. Mutually exclusive access to resources can result in priority inversion, which is a serious problem for real-time systems. Priority inversion can be circumvented with resource access protocols. We will present three such protocols: the priority inheritance, priority ceiling, and stack resource protocols. A separate section covers the ERIKA real-time system kernel. Furthermore, we will explain how Linux can be adapted to systems with tight resource constraints. Finally, we will provide pointers for additional reusable software components, like hardware abstraction layers (HALs), communication software, and real-time data bases. Our description of embedded operating systems and of middleware in this chapter is consistent with the overall design flow.

Highlights

  • In contrast to priority ceiling protocol [485] (PCP), the stack resource policy (SRP) supports dynamic priority scheduling, i.e., SRP can be used with dynamic priorities as computed by Earliest Deadline First (EDF) scheduling

  • Such requirements have been formalized in the 1990s by the OSEK/VDX Consortium [18], which defined the minimal services of a multi-threaded real-time operating system allowing implementations of 1–10 kilobytes of code footprint on 8 bit micro-controllers

  • All the features defined by the OSEK/VDX standard have been implemented in the open-source ERIKA Enterprise kernel [157], for a set of embedded microcontrollers, with a final footprint ranging between 1 and 5 kilobytes of object code

Read more

Summary

Chapter 4

In order to cope with the complexity of applications of embedded systems, reuse of components is a key technique. Standard software components that can be reused include system software components such as embedded operating systems (OSs) and middleware. This chapter starts with a description of general requirements for embedded operating systems. This includes real-time capabilities as well as adaptation techniques to provide just the required functionality. Exclusive access to resources can result in priority inversion, which is a serious problem for real-time systems. We will provide pointers for additional reusable software components, like hardware abstraction layers (HALs), communication software, and real-time data bases. Our description of embedded operating systems and of middleware in this chapter is consistent with the overall design flow (see Fig. 4.1).

General Requirements
Embedded Operating Systems than for processes
Real-Time Operating Systems
Virtual Machines
Resource Access Protocols
Priority Inversion
Priority Inheritance
Priority Ceiling Protocol
Stack Resource Policy
Embedded
Embedded Linux
Embedded Linux Structure and Size
Real-Time Properties
Flash Memory File Systems
Reducing RAM Usage
Evaluating the Use of Linux in Embedded Systems
Hardware Abstraction Layer
Middleware
OSEK/VDX COM
POSIX Threads (Pthreads)
UPnP and DPWS
Real-Time Databases
Find processors for which memory protection units are available!
Provide an example demonstrating priority inversion for a system comprising three jobs!
4.13 How could flash memory have an influence on the design of real-time databases?
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call