DocumentCode :
3235449
Title :
System support for embedded applications
Author :
Ramamritham, Krithi ; Arya, Kavi
Author_Institution :
Indian Inst. of Technol., Bombay, India
fYear :
2003
fDate :
4-8 Jan. 2003
Firstpage :
22
Abstract :
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.
Keywords :
embedded systems; high level languages; resource allocation; ANSI-C; Esterel; Handel-C; Lava; application layers; control; control applications; data-flow applications; embedded operating system; embedded systems; extant solutions; flight simulator; high-level languages; injection moulding process; language issues; middleware; operating system; processor specific instructions; real-time embedded applications; resource management; sequencing; signal processing; systems software; Application software; Dynamic scheduling; Embedded software; Embedded system; Hardware; Middleware; Operating systems; Real time systems; Resource management; System software;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
VLSI Design, 2003. Proceedings. 16th International Conference on
ISSN :
1063-9667
Print_ISBN :
0-7695-1868-0
Type :
conf
DOI :
10.1109/ICVD.2003.1183109
Filename :
1183109
Link To Document :
بازگشت