DHOLE PATIL COLLEGEDHOLE PATIL COLLEGE
Seminar onSeminar on
““EMBEDDED SYSTEM”EMBEDDED SYSTEM”
NAME = MINAL KHOPADE
TO THE WORLDTO THE WORLD
EMBEEDED SYSTEMSEMBEEDED SYSTEMS
What is an embeddedWhat is an embedded
Uses of embeddedUses of embedded
Examples of embeddedExamples of embedded
CPU platformsCPU platforms
Reliability & Real timeReliability & Real time
High vs. Low volumeHigh vs. Low volume
Embedded softwareEmbedded software
Fixed point arithmeticFixed point arithmetic
Exotic custom OSExotic custom OS
Additional softwareAdditional software
Downfalls of embeddedDownfalls of embedded
Popularity of embeddedPopularity of embedded
Introduction of embeddedIntroduction of embedded
An embedded system is a special-purposeAn embedded system is a special-purpose
computer system designed to perform onecomputer system designed to perform one
or a few dedicated functions.or a few dedicated functions.
It is usually embedded as part of aIt is usually embedded as part of a
complete device including hardware andcomplete device including hardware and
mechanical parts.mechanical parts.
““embedded system” is not an exactlyembedded system” is not an exactly
defined term , as many systems havedefined term , as many systems have
some element of programmability.some element of programmability.
Definition of embedded systemDefinition of embedded system
An embedded system can be defined as aAn embedded system can be defined as a
control system or computer systemcontrol system or computer system
designed to perform a specific task.designed to perform a specific task.
An embedded system can also be definedAn embedded system can also be defined
as a single purpose computer.as a single purpose computer.
Most embedded systems are time criticalMost embedded systems are time critical
applications meaning that the embeddedapplications meaning that the embedded
system is working in an environmentsystem is working in an environment
where timing is very important.where timing is very important.
What is an embedded computer?What is an embedded computer?
An embedded computer is frequently aAn embedded computer is frequently a
computer that is implemented for a particularcomputer that is implemented for a particular
In general, an embedded systemIn general, an embedded system
Is a system built to perform its duty, completely orIs a system built to perform its duty, completely or
partially independent of human intervention.partially independent of human intervention.
Is specially designed to perform a few tasks in theIs specially designed to perform a few tasks in the
most efficient way.most efficient way.
Interacts with physical elements in our environment,Interacts with physical elements in our environment,
viz. controlling and driving a motor, sensingviz. controlling and driving a motor, sensing
temperature, etc.temperature, etc.
Uses of embedded systemUses of embedded system
From an implementation point of view, there is a majorFrom an implementation point of view, there is a major
difference between a computer and an embeddeddifference between a computer and an embedded
Embedded systems are often required to provideEmbedded systems are often required to provide Real-Real-
Time responseTime response..
A Real-Time system is defined as a system whoseA Real-Time system is defined as a system whose
correctness depends on the timeliness of its response.correctness depends on the timeliness of its response.
In technical terminology,In technical terminology, Real-Time systemReal-Time system can becan be
classified as:classified as:
Hard Real -Time systemsHard Real -Time systems
Soft Real-Time systemsSoft Real-Time systems
Hybrid Real-Time systemsHybrid Real-Time systems
Examples of embedded systemExamples of embedded system
Telecommunication systems employ embeddedTelecommunication systems employ embedded
system from telephone switches for the networksystem from telephone switches for the network
to mobile phones at the end user.to mobile phones at the end user.
Consumer electronics include personal digitalConsumer electronics include personal digital
assistants (PDAs), mp3 players, digital cameras,assistants (PDAs), mp3 players, digital cameras,
DVD players, video game consoles, GPSDVD players, video game consoles, GPS
receivers & printers.receivers & printers.
Many household appliances, such as microwaveMany household appliances, such as microwave
ovens, washing machines and dishwashers areovens, washing machines and dishwashers are
including embedded systemsincluding embedded systems
Examples of embedded systemExamples of embedded system
Transportation system from flight toTransportation system from flight to
automobiles increasingly use embeddedautomobiles increasingly use embedded
Medical equipments uses embeddedMedical equipments uses embedded
system for vital signs monitoring,system for vital signs monitoring,
electronic stethoscopes for amplifyingelectronic stethoscopes for amplifying
sounds and various medical imagingsounds and various medical imaging
(PET, SPECT, CT, MRI) for non-invasive(PET, SPECT, CT, MRI) for non-invasive
internal inspectionsinternal inspections
Why study Embedded system?Why study Embedded system?
Embedded systems are playing importantEmbedded systems are playing important
roles in every day life, even though theyroles in every day life, even though they
might not necessarily be visible.might not necessarily be visible.
Recent poll data shows that embeddedRecent poll data shows that embedded
computer systems currently outnumbercomputer systems currently outnumber
humans in USA.humans in USA.
Embedded system is rapidly growingEmbedded system is rapidly growing
industry where growth opportunities areindustry where growth opportunities are
Embedded systems are designed to do someEmbedded systems are designed to do some
specific task, rather than be a general-purposespecific task, rather than be a general-purpose
computer for multiple tasks.computer for multiple tasks.
Many embedded systems are small,Many embedded systems are small,
computerized parts within a large device thatcomputerized parts within a large device that
serves a more general purpose.serves a more general purpose.
The program instructions written for embeddedThe program instructions written for embedded
systems are referred to as firmware, and aresystems are referred to as firmware, and are
stored in read-only or flash memory chips.stored in read-only or flash memory chips.
CPU platforms Ready madeCPU platforms Ready made
computer boardscomputer boards
are broken into twoare broken into two
microprocessor (mP)microprocessor (mP)
• Microcontroller (mC)Microcontroller (mC)
Which have many moreWhich have many more
peripherals on chip,peripherals on chip,
reducing cost and size.reducing cost and size.
PC/104 are PC/104+PC/104 are PC/104+
are ready modeare ready mode
computer boardscomputer boards
intended for small,intended for small,
embedded &embedded &
buggerized systemsbuggerized systems
As for other software, embedded systemAs for other software, embedded system
designers use compilers, assemblers, anddesigners use compilers, assemblers, and
debuggers to develop embedded systemdebuggers to develop embedded system
They may also use some more specificThey may also use some more specific
tools astools as
Debugger or emulatorsDebugger or emulators
Utilities to add a checksum or CRC to aUtilities to add a checksum or CRC to a
Custom compilers and linkers.Custom compilers and linkers.
An embedded system may have it’s ownAn embedded system may have it’s own
special language or design tool, or addspecial language or design tool, or add
enhancements to an existing language suchenhancements to an existing language such
as Forth or Basic.as Forth or Basic.
Another alternative is to add a Real-timeAnother alternative is to add a Real-time
operating system or Embedded operatingoperating system or Embedded operating
system, which may have DSP capability likesystem, which may have DSP capability like
DSP nano RTOS.DSP nano RTOS.
To save costs, embedded systems have theTo save costs, embedded systems have the
cheapest processors. This means programscheapest processors. This means programs
need to be written as efficient as possible.need to be written as efficient as possible.
For same reason, embedded systems usuallyFor same reason, embedded systems usually
have the least memory. This means theirhave the least memory. This means their
algorithms must be memory efficient & can’talgorithms must be memory efficient & can’t
afford to leak memory.afford to leak memory.
Most embedded processors do not haveMost embedded processors do not have
hardware FPUs (Floating-Point Processing Unit)hardware FPUs (Floating-Point Processing Unit)
Reliability & Real-Time issuesReliability & Real-Time issues
Specific reliability issues may include :Specific reliability issues may include :
Embedded systems frequently controlEmbedded systems frequently control
hardware, and must be able to respond tohardware, and must be able to respond to
them in real time. Failure to do so could causethem in real time. Failure to do so could cause
inaccuracy in measurements or even damageinaccuracy in measurements or even damage
The system cannot safely be shut down forThe system cannot safely be shut down for
repair, or it is too inaccessible to repair.repair, or it is too inaccessible to repair.
Examples= space systems, undersea cables,Examples= space systems, undersea cables,
navigation beacons, bore-hole systems.navigation beacons, bore-hole systems.
The system must be kept running for safetyThe system must be kept running for safety
reasons. ”LIMP MODES” are less tolerable.reasons. ”LIMP MODES” are less tolerable.
Often backups are selected by an operator.Often backups are selected by an operator.
Examples= reactor control systems, trainExamples= reactor control systems, train
signals, aircraft navigationsignals, aircraft navigation
The system will lose large amount of moneyThe system will lose large amount of money
when shut down :when shut down :
Examples=Telephone switches, bridge &Examples=Telephone switches, bridge &
elevator control, fund transfer & marketelevator control, fund transfer & market
making, automated sales and services.making, automated sales and services.
High vs Low volumeHigh vs Low volume
For high volumeFor high volume
systems minimizingsystems minimizing
cost is usually thecost is usually the
primary designprimary design
Engineers typicallyEngineers typically
select hardware thatselect hardware that
is just “Good Enough”is just “Good Enough”
to implement theto implement the
necessary functions.necessary functions.
For low –volume orFor low –volume or
prototype embeddedprototype embedded
systems generalsystems general
purpose computerspurpose computers
may be adapted bymay be adapted by
limiting the programslimiting the programs
or by replacing theor by replacing the
operating system withoperating system with
a real-time operatinga real-time operating
Embedded software architecturesEmbedded software architectures
Simple Control Loop =Simple Control Loop =
In this design, the software simply has a loop.In this design, the software simply has a loop.
The loop calls each of which manage a part ofThe loop calls each of which manage a part of
the hardware or software.the hardware or software.
Interrupt Controlled System =Interrupt Controlled System =
Some embedded systems are predominantlySome embedded systems are predominantly
interrupt controlled.interrupt controlled.
This kinds of systems are used if eventThis kinds of systems are used if event
handler need low latency and the eventhandler need low latency and the event
handlers are short and simple.handlers are short and simple.
This task is not very sensitive to unexpectedThis task is not very sensitive to unexpected
This method brings the system close to aThis method brings the system close to a
multitasking kernel with discrete processes.multitasking kernel with discrete processes.
Non-preemptive multitasking =Non-preemptive multitasking =
• A non-preemptive multitasking system is veryA non-preemptive multitasking system is very
similar to the simple control loop schemesimilar to the simple control loop scheme
except that the loop is hidden in an API.except that the loop is hidden in an API.
The advantages and disadvantages areThe advantages and disadvantages are
similar to the loop control loop, except thatsimilar to the loop control loop, except that
new software is easier by writing a new task ornew software is easier by writing a new task or
adding to the queue-interpreter.adding to the queue-interpreter.
• Preemptive multitasking =Preemptive multitasking =
• In this type, a low-level piece of code switchesIn this type, a low-level piece of code switches
between tasks or threads based on a timerbetween tasks or threads based on a timer
connected to an interrupt.connected to an interrupt.
• In this level system is generally considered toIn this level system is generally considered to
have an “Operating System” kernel.have an “Operating System” kernel.
Microkernels and exokernels =Microkernels and exokernels =
A microkernel is a logical step up from a real-A microkernel is a logical step up from a real-
time OS.time OS.
Operating system kernel allocates memoryOperating system kernel allocates memory
and switches the CPU to different threads ofand switches the CPU to different threads of
Microkernel succeed when the task switchingMicrokernel succeed when the task switching
and inter-task communication is fast, & failand inter-task communication is fast, & fail
when they are slow.when they are slow.
Monolithic kernels =Monolithic kernels =
In this case a relatively large kernel withIn this case a relatively large kernel with
sophisticated capabilities are adapted to suitsophisticated capabilities are adapted to suit
an embedded environment.an embedded environment.
This gives, an environment similar to aThis gives, an environment similar to a
desktop operating system therefore verydesktop operating system therefore very
productive for development.productive for development.
It requires more hardwareIt requires more hardware
These kernels can be less predictable andThese kernels can be less predictable and
Examples of monolithic kernels areExamples of monolithic kernels are
Embedded Linux and Windows CE.Embedded Linux and Windows CE.
Fixed-Point ArithmeticFixed-Point Arithmetic
Some embedded microprocessors may have anSome embedded microprocessors may have an
external unit for performing floating pointexternal unit for performing floating point
arithmetic (FPU) but most low-end embeddedarithmetic (FPU) but most low-end embedded
system have no FPU.system have no FPU.
As a result, many embedded projects enforce aAs a result, many embedded projects enforce a
no floating point rule on their programmers.no floating point rule on their programmers.
A common technique used to avoid the need forA common technique used to avoid the need for
floating point number is to change thefloating point number is to change the
magnitude of data stored in your variable so youmagnitude of data stored in your variable so you
can utilize fixed point mathematics.can utilize fixed point mathematics.
Exotic custom operatingExotic custom operating
A small fraction of embedded systemsA small fraction of embedded systems
requires safe, timely, reliable or efficientrequires safe, timely, reliable or efficient
behavior unobtainable with the one of thebehavior unobtainable with the one of the
above architectures.above architectures.
In such cases this operating system buildsIn such cases this operating system builds
a software to this kind of situation.a software to this kind of situation.
These components consist of networkingThese components consist of networking
protocol stacks like CAN, TCP/IP, FTP,protocol stacks like CAN, TCP/IP, FTP,
HTTP and HTTPS.HTTP and HTTPS.
It also consist of storage capabilities likeIt also consist of storage capabilities like
FAT and Flash memory managementFAT and Flash memory management
In the RTOS category, the availabilities ofIn the RTOS category, the availabilities of
the additional software componentsthe additional software components
depends upon the commercial offering.depends upon the commercial offering.
Additional software componentsAdditional software components
Downfalls of embedded systemDownfalls of embedded system
An embedded system is frequently programmedAn embedded system is frequently programmed
once, and the software cannot be patched.once, and the software cannot be patched.
They are often installed in a system for whichThey are often installed in a system for which
unreliability is not an option.unreliability is not an option.
Embedded system needs to be tested &Embedded system needs to be tested &
analyzed extensively.analyzed extensively.
The memory capacity & processing power isThe memory capacity & processing power is
Some embedded systems run a scaled downSome embedded systems run a scaled down
version of operating system called an RTOSversion of operating system called an RTOS
(real-time operating system)(real-time operating system)
Advantages of embeddedAdvantages of embedded
Ports to common embedded chip sets arePorts to common embedded chip sets are
They permit re-use of publicly available code forThey permit re-use of publicly available code for
Device Drivers, Web Services, Firewalls, andDevice Drivers, Web Services, Firewalls, and
other code.other code.
Distribution can be configured to unneededDistribution can be configured to unneeded
functionality & save the expense of the memory.functionality & save the expense of the memory.
Running application code in user mode is moreRunning application code in user mode is more
reliable, easier to debug therefore thereliable, easier to debug therefore the
development process is easier and the codedevelopment process is easier and the code
Advantages of embeddedAdvantages of embedded
is more portable.is more portable.
• Many embedded systems lack the tightMany embedded systems lack the tight
real-time requirements of a controlreal-time requirements of a control
system. (e.g. Embedded Linux)system. (e.g. Embedded Linux)
• Features requiring faster response thanFeatures requiring faster response than
can be guaranteed can often be placed incan be guaranteed can often be placed in
• Many RTOS systems have a per-unit cost.Many RTOS systems have a per-unit cost.