By Topic

System support for embedded applications

Sign In

Cookies must be enabled to login.After enabling cookies , please use refresh or reload or ctrl+f5 on the browser for the login options.

Formats Non-Member Member
$31 $13
Learn how you can qualify for the best price for this item!
Become an IEEE Member or Subscribe to
IEEE Xplore for exclusive pricing!
close button

puzzle piece

IEEE membership options for an individual and IEEE Xplore subscriptions for an organization offer the most affordable access to essential journal articles, conference papers, standards, eBooks, and eLearning courses.

Learn more about:

IEEE membership

IEEE Xplore subscriptions

2 Author(s)
Ramamritham, K. ; Indian Inst. of Technol., Bombay, India ; Arya, K.

Summary form only given. This tutorial focuses on the development of systems software for embedded applications. We begin with a discussion of the software structure for embedded systems-from processor specific instructions, operating system, middleware and application layers-and then delve into issues of real-time embedded applications. As a way to motivate some of the issues underlying software design, we will illustrate how embedded applications are characterized by a number of cross cutting issues: control, sequencing, and signal processing and resource management. This will set the stage for identifying the required special real-time services/capabilities (in contrast with non real-time). The rest of the tutorial will focus on two specific topics: language issues and resource management issues. We overview three high-level (new) languages for designing embedded systems: Esterel which is good for control applications, Handel-C which is esp. good for data-flow (e.g., DSP) applications, Lava which allows also us to verify systems within the same framework. We give an introduction to Handel-C, a language based on ANSI-C, extended with concepts for timing, concurrency, flexible-width variables and resource allocation to let software engineers and hardware designers quickly implement complex algorithms efficiently in hardware. We will then discuss resource Management and scheduling paradigms based on static priorities, static schedules, dynamic scheduling, and best effort approaches. Current best practice in scheduling (e.g., Rate Monotonic vs. static schedules) and communication alternatives will also be covered and challenges posed by real-world issues such as blocking, unpredictability, interrupts, and caching will be introduced and extant solutions compared. To make the concepts concrete, examples of OSs for embedded systems will be presented, with a critical evaluation of Real-Time Linux as an embedded operating system. The possibility of developing real-time embedded systems without using an OS e.g., by "synthesizing" the OS capabilities into the s/w code will also be probed. Two-case studies will be used to illustrate the concepts: (1) controlling an injection moulding process and (2) flight simulator.

Published in:

VLSI Design, 2003. Proceedings. 16th International Conference on

Date of Conference:

4-8 Jan. 2003