Introduction to Embedded
Systems
Read Chapter 1
(David E. Simon, An Embedded
Software Primer)
What is an Embedded System
(E.S.)?
Specialized computer system
Part of a larger system or machine
An embedded system usually contains
an embedded processor and a
memory, do not have keyboards,
screens or disk drives usually.
Some embedded systems include an
operating system
What is an Embedded System
(E.S.)?
Typically a custom system for a very
specific application
Limited processing capabilities:
Can be extremely small
Can require a small amount of power
Can have significant real-time constraints
Act on inputs very quickly
Generate high-frequency outputs
Often a higher expectation of reliability
Examples of Embedded Systems
Examples of Embedded Systems
Examples of Embedded Systems
VCRs, DVD players
Cell phone
Microwave
Washer
Camera
Cars (antilock brake system, air-bag, gas
injection..)
Printers, copiers
Characteristics of embedded
systems
Application Specific Systems
Embedded systems are not general-purpose
computers
Optimized for a specific application
Many of the job characteristics are known before
the hardware is designed
Embedded S/W usually cannot run on other
embedded systems without modification
Hardware tailored to application
Unnecessary circuitry eliminated
Resources shared if possible
Characteristics of embedded
systems
Reactive Systems
typical embedded systems model
responds to the environment via sensors
and control the environment using
actuators
requires embedded systems to run at the
speed of the environment
this characteristic is called reactive.
External events can be either periodic or
aperiodic
Characteristics of embedded
systems
Harsh environment( )
Many embedded systems do not operate in a
controlled environment
Excessive heat is often a problem, especially in
applications involving combustion (e.g., many
transportation applications)
protection from vibration, shock, lightning,
power supply fluctuations, water, corrosion, fire,
and general physical abuse
challenges to the embedded system designer,
including accurately modeling the thermal
conditions of these systems
Characteristics of embedded
systems
System safety and reliability
embedded systems control more and more
of the safety aspects of the overall system
these safety measures may be in the form of
software as well as hardware control
challenges to embedded designers include
designing reliable software and building
cheap, available systems using unreliable
components
Characteristics of embedded
systems
Small and low weight
many embedded computers are
physically located within some larger
system
challenge is to develop non-rectangular
geometries for certain solutions
weight can also be a critical constraint
Other differences from desktop
Human interface varies
Flashing light
Diagnostic port used for diagnosing
the controlled system not the
computer
FPGA and ASIC and non-digital H/W
used to increase performance or
safety
Generic embedded system
Processor
Just enough to get the job done
Register width is important
General purpose 32- bit and 64- bit
Embedded processors 8- and 16-bit
Memory
ROM (executable program)
RAM (data to manipulate)
Generic embedded system
Development cost
Number of units
Expected lifetime
Dependent of product
High volume products can stand for a higher
development cost
Smaller volume is more sensitive to
development cost
Drives design decisions
Reliability
Children's toys do not always have to work right
Space shuttle is a different story
Common design requirements
Criterion
Low
Medium
High
Processor
4- or 8- bit
16-bit
32- or 64-bit
Memory
< 16 KB
64 KB to 1 MB
> 1 MB
Development
cost
< $100,000
$100,000 to
$1,000,000
> $1,000,000
Production cost
< $10
$10 to $1000
> $1,000
Number of units
< 100
100-10,000
> 10,000
Expected
lifetime
Days, weeks, or
months
Years
Decades
Reliability
May occasionally Must work
fail
reliably
Must be fail
proof
Embedded Systems Challenges
Lets consider the Telegraph and Cordless
Bar-code scanner for example.
Throughput
Response
Testability
Debugability
Reliability
Memory Space
Program Installation
Power Consumption
Cost
Evolution of Embedded Systems
Hardwired systems initially
Microprocessor-based
Microcontroller-based
Specialized (application) processors
Evolution of Embedded Systems
Address Bus
Digital outputs (parallel port) LED
Memory
System
Digital inputs (parallel input)
I/O
Data Bus
Microcontroller
USB
802.11
Specialized Processors
LCD
Switch
Serial port
Analog input/output Temperature
Sensor
Evolution of Embedded Systems
Popular microcontrollers
8-bit : Intel 8051, Intel 80188,
Motorola 6805, Motorola 68hc11, Zilog
16-bit: Intel 80186, Motorola 683xx
family
32-bit: Intel 80386 EX, PowerPC family
More recent:
ATMEL line of products, TI DSPs
Embedded programming
languages
C has become the language of embedded
programmers
Advantages of C
Small
Easy to learn
Wide compiler support
Large body of experience
Processor independent
Low level programming language
C gives embedded programmers large degree of
direct hardware control
Produces relatively compact efficient code for a wide
variety of processors
No more assembly required (mostly)
Trends in embedded systems
Increasing code size
average code size for embedded systems
has been increasing dramatically
1992; avg code size - range of 16-64K bytes
1996; the average size had grown to 64K-512K
This trend is continuing
Migration to higher level language from
assembly
As applications become more and more complex,
programmers are transitioning to higher level
languages for productivity reasons
Trends in embedded systems
Increasing reuse of pre-designed
components
these include DSP chips as well as other
microprocessors and microcontrollers
Migration to a core-based design
Systems becoming more complex and
heterogeneous
There are more ASIC-based designs with high
speed as well as high integration
Larger microprocessors are used with 32-bit
processors becoming the norm
The embedded lifecycle