Embedded Systems An Overview to Embedded Software C.-Z. Yang Sept.-Dec. 2001
元智大學資訊工程系 Systems - Introduction to Embedded Software2 Before we start the course about Embedded Software ……... One very unfortunate aspect of embedded systems –The terminology surrounding term is not very consistent. Another unfortunate problem –The term embedded systems covers such a broad range of products. –Z8 to PowerPC One thing you must keep in mind –Embedded software is a field in which no wisdom is universal.
元智大學資訊工程系 Systems - Introduction to Embedded Software3 What is Embedded Software?
元智大學資訊工程系 Systems - Introduction to Embedded Software4 Embedded software Though embedded software is a kind of software, it is very different with traditional computer software. –The principal role is not the transformation of data, but rather the interaction with the physical world. –It executes on machines that are not general computers. –It takes time (critical timing requirement). –It consumes power (power limitation). –It does not terminate (unless we turn off the device). –It is not the idealized procedures of Alan Turing.
元智大學資訊工程系 Systems - Introduction to Embedded Software5 Full with constrains Embedded applications are among the most complex software systems being developed today. Such software is often constrained by –Concurrent designs –Real-time constraints –Embedded target environments –Distributed hardware architectures –Device control dependencies
元智大學資訊工程系 Systems - Introduction to Embedded Software6 The characteristics of developers The engineers that write embedded software are rarely computer scientists. They are experts in the application domain with a good understanding of the target architectures they work with. However, The domain experts face a serious challenge. –The complexity of their applications is growing rapidly. –They need entirely new abstractions invented by computer scientists.
元智大學資訊工程系 Systems - Introduction to Embedded Software7 Just software on small computers? We must consider the following five design issues: –Timeliness –Concurrency –Liveness –Reactivity –Heterogeneity
元智大學資訊工程系 Systems - Introduction to Embedded Software8 Timeliness Real “real-time” issue –Not just an asymptotic order –Not just a priority –Merely the amount of elapsed time However, there may be some conflict between the advanced hardware tech and software tech. –Caching? –Branch prediction?
元智大學資訊工程系 Systems - Introduction to Embedded Software9 Concurrency Embedded systems rarely interact with only a single physical process. In conventional general-purpose OS environments, the management of concurrency is primitive. However, they are inefficient and insufficient.
元智大學資訊工程系 Systems - Introduction to Embedded Software10 Liveness In most of embedded systems, programs must not terminate or block waiting for events that will never occur. Deadlocks should be avoided.
元智大學資訊工程系 Systems - Introduction to Embedded Software11 Reactivity Embedded systems usually need to react continuously to their environment at the speed of the environment. Special programming languages –Esterel, Argos, …. –Synchronous languages
元智大學資訊工程系 Systems - Introduction to Embedded Software12 Heterogeneity An intrinsic part of computation in embedded systems. –A mixture of hardware and software designs. Openness challenges
元智大學資訊工程系 Systems - Introduction to Embedded Software13 An Embedded Software Example Trends in Embedded Databases
元智大學資訊工程系 Systems - Introduction to Embedded Software14 Embedded databases These small databases can now be found in a growing number of portable computing devices, including “smart” cellular phones with Internet access, PDAs (personal digital assistants), lap-tops, and embedded systems.
元智大學資訊工程系 Systems - Introduction to Embedded Software15 The population of PDAs Many users also must store material they download from a central enterprise database to the devices so that they can work on the data offline. This has led to the development of embedded databases for the portable machines.
元智大學資訊工程系 Systems - Introduction to Embedded Software16 The challenges In general, embedded databases face a number of challenges that their full-sized counterparts don’t. For example, –they must be integrated into small devices that have limited storage and memory resources and –that require continuous uptime with little or no maintenance.
元智大學資訊工程系 Systems - Introduction to Embedded Software17 The challenges Therefore, embedded databases –must have very small footprints—generally ranging from 8 to 350 Kbytes, compared to hundreds of Mbytes for full- sized enterprise databases—and –must be able to run without the services of a database administrator. Embedded databases also face inter- operability and portability challenges.
元智大學資訊工程系 Systems - Introduction to Embedded Software18 Growing the Embedded-Database Market The embedded- database market has become very healthy, as it has grown and is predicted to grow about 12 percent per year between 1998 and 2003.