You are on page 1of 43

TDDI11: Embedded Software

Lecture 1:
Introduction to Embedded Systems
Lecture outline

• What is an embedded system?


• Examples of embedded systems
• Characteristics of embedded systems
• Embedded systems evolution
• Functional vs. non-functional requirements
• Embedded systems vs. real-time systems
• Application areas

Lecture 1/2
Course information

• Contact
– Traian Pop, course leader and examiner, trapo@ida.liu.se
– Soheil Samii, course assistant, sohsa@ida.liu.se
– Gunilla Mellheden, course secretary, gunme@ida.liu.se

• Webpage
– http://www.ida.liu.se/~TDDI11

• Lectures
– Language: English
– 10 lectures, 20 hours
– Lecture notes: available on the webpage 24 hours before the
lecture

Lecture 1/3
Course information, cont.

• Laboratory
– 4 groups, 5 assignments, 9 supervised lab occasions
– C programming for embedded systems
• x86 target platform

• Examination
– Written, 2 points (3 ECTS)
• Up to 10 questions, 40 points total, 22 needed to pass
– Laboratory, 2 points (3 ECTS)

Lecture 1/4
Course information, cont.

• Course literature
– No textbook: slides, papers, links on the course website
– Recommended literature:
1. Daniel W. Lewis, Fundamentals of Embedded Software: Where C
and Assembly Meet, Prentice Hall
2. Wayne Wolf, Computers as Components: Principles of Embedded
Computing System Design, Morgan Kaufman Publishers
3. Frank Vahid, Tony Givargis, Embedded Systems Design: A Unified
Hardware/Software Introduction, Wiley

Lecture 1/5
Preliminary lecture topics

1. Introduction to embedded systems


2. The embedded computing platform
3. Embedded systems design and development
4. C for embedded systems
5. Mixing C and assembly
6. Input/Output programming
7. Programming concurrency
8. Program analysis and optimization
• Invited lecture: Automotive software development
9. Real-life example: Digital photocamera

Lecture 1/6
Embedded systems overview

• Computing systems are everywhere


• Most of us think of “desktop” computers
– PC’s
– Laptops
– Mainframes
– Servers
• But there’s another type of computing system
– Far more common...

Lecture 1/7
Embedded systems overview

• Embedded computing systems


Computers are in
– Computing systems embedded here...

within electronic devices and here...

– Hard to define. Nearly any and even here...


computing system other than a
desktop computer
– Billions of units produced yearly,
versus millions of desktop units
– Perhaps 50 per household and per Lots more of these,
automobile though they cost a lot
less each.

Lecture 1/8
A “short list” of embedded systems
Anti-lock brakes Modems
Auto-focus cameras MPEG decoders
Automatic teller machines Network cards
Automatic toll systems Network switches/routers
Automatic transmission On-board navigation
Avionic systems Pagers
Battery chargers Photocopiers
Camcorders Point-of-sale systems
Cell phones Portable video games
Cell-phone base stations Printers
Cordless phones Satellite phones
Cruise control Scanners
Curbside check-in systems Smart ovens/dishwashers
Digital cameras Speech recognizers
Disk drives Stereo systems
Electronic card readers Teleconferencing systems
Electronic instruments Televisions
Electronic toys/games Temperature controllers
Factory control Theft tracking systems
Fax machines TV set-top boxes
Fingerprint identifiers VCR’s, DVD players
Home security systems Video game consoles
Life-support systems Video phones
Medical testing systems Washers and dryers

And the list goes on and on


Lecture 1/9
Growth in CPU Transistor Count

Lecture 1/10
Graphical illustration of Moore’s law

1981 1984 1987 1990 1993 1996 1999 2002

10,000 150,000,000
transistors transistors

Leading edge Leading edge


chip in 1981 chip in 2002

• Something that doubles frequently grows more


quickly than most people realize!
– A 2002 chip can hold about 15,000 1981 chips inside
itself

Lecture 1/11
Embedded systems evolution

• Past
– First microprocessor: Intel 4004, 1971

• Present
– 79% of all the processors are used in embedded systems
– average American comes into contact with 60 microprocessors per
day
– high-end cars contain more than 100 processors

• Future: Post-PC era


– embedded system market will soon be much larger than the
market for PC-like systems
– the amount of code is doubling every two years
Lecture 1/12
Example application area:
automotive electronics

• What is “automotive electronics”?


– Vehicle functions implemented with electronics
• Body electronics
• System electronics (chassis, engine)
• Information/entertainment

Lecture 1/13
Automotive electronics market

Cost of Electronics / Car ($)


1400
1200
1000
800
600
400
200
0
1998 1999 2000 2001 2002 2003 2004 2005

Market
8.9 10.5 13.1 14.1 15.8 17.4 19.3 21.0
($billions)

2010: 40% of the total cost


of a car will be electronics
(Source: Mercer Management Consulting)
Lecture 1/14
Embedded systems example

Product: Hunter
Programmable Digital
Thermostat.

Microprocessor: 4-bit

Lecture 1/15
Embedded systems example, cont.

Product:Vendo V-
MAX 720 vending
machine.

Microprocessor:
8-bit Motorola
68HC11.
Lecture 1/16
Embedded systems example, cont.

Product: Sonicare Plus toothbrush.


Microprocessor: 8-bit Zilog Z8.

Lecture 1/17
Embedded systems example, cont.

Product: Miele
dishwashers.

Microprocessor:
8-bit Motorola
68HC05.

Lecture 1/18
Embedded systems example, cont.

Product: NASA's Mars


Sojourner Rover.

Microprocessor:
8-bit Intel 80C85.

Lecture 1/19
Embedded systems example, cont.

Product: CoinCo
USQ-712 coin
changer.

Microprocessor:
8-bit Motorola
68HC912.
Lecture 1/20
Embedded systems example, cont.

Product: Garmin StreetPilot


GPS Receiver.

Microprocessor: 16-bit.

Lecture 1/21
Embedded systems example, cont.

Product: TIQIT Computer’s


“Matchbox PC”.

Microprocessor: 32-bit AMD


Elan SC410.

Lecture 1/22
Embedded systems example, cont.

Product: Palm Vx handheld.

Microprocessor:
32-bit Motorola Dragonball EZ.

Lecture 1/23
Embedded systems example, cont.

Product: Motorola i1000plus


iDEN Multi-Service Digital
Phone.

Microprocessor:
Motorola 32-bit MCORE.

Lecture 1/24
Embedded systems example, cont.

Product: Rio 800


MP3 Player.

Microprocessor:
32-bit RISC.

Lecture 1/25
Embedded systems example, cont.

Product: RCA
RC5400P DVD
player.

Microprocessor:
32-bit RISC.

Lecture 1/26
Embedded systems example, cont.

Product: IBM Research’s


Linux wrist watch
prototype.

Microprocessor:
32-bit ARM RISC.

Lecture 1/27
Embedded systems example, cont.

Product: Sony Aibo ERS-110


Robotic Dog.

Microprocessor:
64-bit MIPS RISC.

Lecture 1/28
Embedded systems example, cont.

Lecture 1/29
Application areas

Aerospace Navigation systems, automatic landing


systems, flight attitude controls, engine
controls, space exploration (e.g., the Mars
Pathfinder).
Automotive Fuel injection control, passenger
environmental controls, anti-lock braking
systems, air bag controls, GPS mapping.
Children's Nintendo's "Game Boy", Mattel's "My
Toys Interactive Pooh", Tiger Electronic's "Furby".
Communi- Satellites; network routers, switches, hubs.
cations

Lecture 1/30
Application areas, cont.

Computer Printers, scanners, keyboards, displays,


Peripherals modems, hard disk drives, CD-ROM drives.

Home Dishwashers, microwave ovens, VCRs,


televisions, stereos, fire/security alarm
systems, lawn sprinkler controls, thermostats,
cameras, clock radios, answering machines.
Industrial Elevator controls, surveillance systems, robots.

Instrumen- Data collection, oscilloscopes, signal


tation generators, signal analyzers, power supplies.
Lecture 1/31
Application areas, cont.

Medical Imaging systems (e.g., XRAY, MRI, and


ultrasound), patient monitors, heart pacers.

Office FAX machines, copiers, telephones, cash


Automation registers.

Personal Personal Digital Assistants (PDAs), pagers,


cell phones, wrist watches, video games,
portable MP3 players, GPS.

Lecture 1/32
General-purpose vs. special-purpose

General-purpose systems Special-purpose systems

Microprocessor
market shares in
1999 99%

1%

Lecture 1/33
General Purpose: von Neumann/Turing

Lecture 1/34
von Neumann/Turing Principles

• Stored Program concept


• Main memory storing programs and data
• ALU operating on binary data
• Control unit interpreting instructions from memory
and executing
• Input and output equipment operated by control
unit
• Princeton Institute for Advanced Studies
– IAS
• Completed 1952
Lecture 1/35
What is an embedded system?

• Definition
– an embedded system special-purpose computer
system, part of a larger system which it controls.

• Note
– A computer is used in such devices primarily as a
means to simplify the system design and to provide
flexibility.
– Often the user of the device is not even aware that a
computer is present.

Lecture 1/36
Characteristics of embedded systems

• Single-functioned
– Dedicated to perform a single function
• Complex functionality
– Often have to run sophisticated algorithms or multiple algorithms.
• Cell phone, laser printer.
• Tightly-constrained
– Low cost, low power, small, fast, etc.
• Reactive and real-time
– Continually reacts to changes in the system’s environment
– Must compute certain results in real-time without delay

Lecture 1/37
Functional vs. non-functional requirements

• Functional requirements:
– output as a function of input.
• Non-functional requirements:
– time required to compute output;
– size, weight, etc.;
– power consumption;
– reliability;
– etc.

Lecture 1/38
Embedded vs. real-time systems

• Definition
– Real-time system:
the correctness of the system behavior depends not
only on the logical results of the computations, but also
on the physical instant at which these results are
produced
• Hard real-time: missing deadline causes failure
• Soft real-time: missing deadline results in degraded
performance

• A real-time system is not necessarily embedded


• An embedded system is not necessarily real-time
Lecture 1/39
An embedded system example:
a digital camera
Digital camera chip
CCD

CCD preprocessor Pixel coprocessor D2A


A2D

lens

JPEG codec Microcontroller Multiplier/Accum

DMA controller Display ctrl

Memory controller ISA bus interface UART LCD ctrl

• Single-functioned -- always a digital camera


• Tightly-constrained -- Low cost, low power, small, fast
• Reactive and real-time -- only to a small extent

Lecture 1/40
Programming languages
used in embedded systems

90.0%

80.0%

70.0%
1998-1999
60.0%
1999-2000
50.0%

40.0%

30.0%

20.0%

10.0%

0.0%
Assembly C C++ Java Other

Lecture 1/41
Examples of embedded software

Property FAX Machine CD Player

Microprocessor: 16-bit 8-bit

Number of Threads: 6 9
Read-Write Memory
2048 Bytes 512 Bytes
(RAM):
Total RAM Actually
1346 Bytes (66%) 384 Bytes (75%)
Used:
Amount Used by Kernel: 250 Bytes (19%) 146 Bytes (38%)
Read-Only Memory
32.0 KB 32.0 KB
(ROM):
Total ROM Actually
28.8 KB (90%) 17.8 KB (56%)
Used:
Amount Used by Kernel: 2.5 KB (8.7%) 2.3 KB (13%)
Lecture 1/42
Exam questions

• What is an embedded system?


• Give 5 examples of embedded systems.
• What are the characteristics of embedded
systems?
• Give 5 examples of non-functional requirements.
• What is the difference between an embedded
system and a real-time system?

Lecture 1/43

You might also like