Florian Lechner, Daniel Walter email@example.com, firstname.lastname@example.org November 8, 2006
This text provides a brief introduction to the wide ﬁeld of embedded systems. It covers the history and the main aspects of hard- and software design for embedded systems. The basic concepts of synthesis and automated veriﬁcation are introduced and a short overview of well-known metrics, which are used to describe the economical and technical attributes of a system, is provided. Additionally the diﬀerences between commonly used operating systems are discussed.
Figure 1: Minuteman I Guidance System
Embedded systems are computers which are part of special-purpose devices. Due to the limited duties this systems can be highly optimized to the particular needs. Traditionally most of this systems are used for control and process measurement, as a side-eﬀect of higher integration of integrated circuits more complex applications can be solved by embedded systems. To be able to solve this problems embedded systems are commonly equipped with various kinds of peripherals. Early applications of embedded devices include the guidance computer of the Minuteman I missiles and the Apollo guidance computer. The Minuteman I & II missiles are intercontinental ballistic nuclear warheads, produced by Boeing in the 1960’s. Due to the large quantities of ICs used in the guidance system of Minuteman II missiles, prices for ICs fell from 1000$ each to 3$ each. This lead to wide adoption of embedded systems in consumerelectronics in the 1980’s.
Nowadays embedded systems can be found in devices from digital watches to traﬃc-control systems. The broad range of applications with totally different requirements lead to various implementation approaches. The range of hardware used in embedded systems reaches from FPGAs to full blown desktop CPUs which are accompanied by specialpurpose ICs such as DSPs. On the software side, depending on the needs, everything, from logic fully implemented in hardware, to systems with own operating system and diﬀerent applications running on it, can be found.
Metrics for Embedded Sys- 3 Hardware Platforms tems Based on the metrics, introduced in the above sec-
tion, processors for embedded systems can be disIn order to be able to compare diﬀerent designs and tinguished by the grade of customization they grant approaches, there need to be pre-deﬁned, system and the performance they achieve. independent, metrics. These can either be technical speciﬁcations or economical criteria.
Standard General Purpose Processors
Technical metrics are mainly used to compare technical designs and speciﬁcations of embedded devices or to determine if technical requirements have been fulﬁlled. Performance describes the execution time or throughput of the system. Energy Eﬃciency is an indicator for the amount of power consumed by the device. Size as a metric is used if there are constraints for physical size (eg: pacemaker) Flexibility is a metric for ease of reconﬁguration and reusability.
Standard general purpose processors (SGPP) are carefully designed and oﬀer a maximum of ﬂexibility to the designer. Programming SGPPs can be done in nearly every high-level language or assembly language and requires very little knowledge of the system architecture. As SGPPs are manufactured to high numbers, NRE is spread upon many units. Nevertheless SGPPs are more expensive then other solutions like FPGAs or single purpose processors, when used in products with a large number of selling units. As they are produced to work in a broad range of environments they are not designed to be energy eﬃcient nor high-performance for speciﬁc applications. Examples for standard general purpose processors are: • Motorola ARM
• Atmel AVR • Microchip PIC • Intel Pentium-(I/II/III/IV)-Series • AMD Athlon (or other) • VIA...