You are on page 1of 32

DHOLE PATIL COLLEGE

OF
ENGINEERING


Seminar on
EMBEDDED SYSTEM

NAME =MI NAL KHOPADE
T.E (I .T)
TO THE WORLD
OF
EMBEEDED SYSTEMS

CONTENTS
Introduction
Definition
What is an embedded
computer?
Uses of embedded
system
Examples of embedded
system
Characteristics
CPU platforms
Tools
Resources
Reliability & Real time
issues
High vs. Low volume
Embedded software
architectures
Fixed point arithmetic
Exotic custom OS
Additional software
components
Downfalls of embedded
computers
Popularity of embedded
system

Introduction of embedded
system
An embedded system is a special-purpose
computer system designed to perform one
or a few dedicated functions.
It is usually embedded as part of a
complete device including hardware and
mechanical parts.
embedded system is not an exactly
defined term , as many systems have
some element of programmability.

Definition of embedded system
An embedded system can be defined as a
control system or computer system
designed to perform a specific task.
An embedded system can also be defined
as a single purpose computer.
Most embedded systems are time critical
applications meaning that the embedded
system is working in an environment
where timing is very important.
What is an embedded computer?
An embedded computer is frequently a
computer that is implemented for a particular
purpose.
In general, an embedded system
Is a system built to perform its duty, completely or
partially independent of human intervention.
Is specially designed to perform a few tasks in the
most efficient way.
Interacts with physical elements in our environment,
viz. controlling and driving a motor, sensing
temperature, etc.
Uses of embedded system
From an implementation point of view, there is a major
difference between a computer and an embedded
system.
Embedded systems are often required to provide Real-
Time response.
A Real-Time system is defined as a system whose
correctness depends on the timeliness of its response.
In technical terminology, Real-Time system can be
classified as:
Hard Real -Time systems
Soft Real-Time systems
Hybrid Real-Time systems

Examples of embedded system
Telecommunication systems employ embedded
system from telephone switches for the network
to mobile phones at the end user.
Consumer electronics include personal digital
assistants (PDAs), mp3 players, digital cameras,
DVD players, video game consoles, GPS
receivers & printers.
Many household appliances, such as microwave
ovens, washing machines and dishwashers are
including embedded systems
Examples of embedded system
Transportation system from flight to
automobiles increasingly use embedded
systems
Medical equipments uses embedded
system for vital signs monitoring,
electronic stethoscopes for amplifying
sounds and various medical imaging
(PET, SPECT, CT, MRI) for non-invasive
internal inspections
Why study Embedded system?
Embedded systems are playing important
roles in every day life, even though they
might not necessarily be visible.
Recent poll data shows that embedded
computer systems currently outnumber
humans in USA.
Embedded system is rapidly growing
industry where growth opportunities are
numerous.
Characteristics
Embedded systems are designed to do some
specific task, rather than be a general-purpose
computer for multiple tasks.
Many embedded systems are small,
computerized parts within a large device that
serves a more general purpose.
The program instructions written for embedded
systems are referred to as firmware, and are
stored in read-only or flash memory chips.
CPU platforms Ready made
computer boards
Embedded
processors
are broken into two
categories
Ordinary
microprocessor (mP)
Microcontroller (mC)
Which have many more
peripherals on chip,
reducing cost and size.
PC/104 are PC/104+
are ready mode
computer boards
intended for small,
low-volume
embedded &
buggerized systems

TOOLS
As for other software, embedded system
designers use compilers, assemblers, and
debuggers to develop embedded system
software.
They may also use some more specific
tools as
Debugger or emulators
Utilities to add a checksum or CRC to a
program.
Custom compilers and linkers.
An embedded system may have its own
special language or design tool, or add
enhancements to an existing language such
as Forth or Basic.
Another alternative is to add a Real-time
operating system or Embedded operating
system, which may have DSP capability like
DSP nano RTOS.
Resources
To save costs, embedded systems have the
cheapest processors. This means programs
need to be written as efficient as possible.
For same reason, embedded systems usually
have the least memory. This means their
algorithms must be memory efficient & cant
afford to leak memory.
Most embedded processors do not have
hardware FPUs (Floating-Point Processing Unit)

Reliability & Real-Time issues
Specific reliability issues may include :
Embedded systems frequently control
hardware, and must be able to respond to
them in real time. Failure to do so could cause
inaccuracy in measurements or even damage
hardware.
The system cannot safely be shut down for
repair, or it is too inaccessible to repair.
Examples= space systems, undersea cables,
navigation beacons, bore-hole systems.
The system must be kept running for safety
reasons. LIMP MODES are less tolerable.
Often backups are selected by an operator.
Examples= reactor control systems, train
signals, aircraft navigation
The system will lose large amount of money
when shut down :
Examples=Telephone switches, bridge &
elevator control, fund transfer & market
making, automated sales and services.
High vs Low volume
For high volume
systems minimizing
cost is usually the
primary design
consideration.
Engineers typically
select hardware that
is just Good Enough
to implement the
necessary functions.
For low volume or
prototype embedded
systems general
purpose computers
may be adapted by
limiting the programs
or by replacing the
operating system with
a real-time operating
system.
Embedded software architectures
Simple Control Loop =
In this design, the software simply has a loop.
The loop calls each of which manage a part of
the hardware or software.
Interrupt Controlled System =
Some embedded systems are predominantly
interrupt controlled.
This kinds of systems are used if event
handler need low latency and the event
handlers are short and simple.
This task is not very sensitive to unexpected
delays.
This method brings the system close to a
multitasking kernel with discrete processes.
Non-preemptive multitasking =
A non-preemptive multitasking system is very
similar to the simple control loop scheme
except that the loop is hidden in an API.
The advantages and disadvantages are
similar to the loop control loop, except that
adding
new software is easier by writing a new task or
adding to the queue-interpreter.
Preemptive multitasking =
In this type, a low-level piece of code switches
between tasks or threads based on a timer
connected to an interrupt.
In this level system is generally considered to
have an Operating System kernel.


Microkernels and exokernels =
A microkernel is a logical step up from a real-
time OS.
Operating system kernel allocates memory
and switches the CPU to different threads of
execution.
Microkernel succeed when the task switching
and inter-task communication is fast, & fail
when they are slow.
Monolithic kernels =
In this case a relatively large kernel with
sophisticated capabilities are adapted to suit
an embedded environment.
This gives, an environment similar to a
desktop operating system therefore very
productive for development.
It requires more hardware
These kernels can be less predictable and
reliable.
Examples of monolithic kernels are
Embedded Linux and Windows CE.
Fixed-Point Arithmetic
Some embedded microprocessors may have an
external unit for performing floating point
arithmetic (FPU) but most low-end embedded
system have no FPU.
As a result, many embedded projects enforce a
no floating point rule on their programmers.
A common technique used to avoid the need for
floating point number is to change the
magnitude of data stored in your variable so you
can utilize fixed point mathematics.
Exotic custom operating
systems
A small fraction of embedded systems
requires safe, timely, reliable or efficient
behavior unobtainable with the one of the
above architectures.
In such cases this operating system builds
a software to this kind of situation.
These components consist of networking
protocol stacks like CAN, TCP/IP, FTP,
HTTP and HTTPS.
It also consist of storage capabilities like
FAT and Flash memory management
systems.
In the RTOS category, the availabilities of
the additional software components
depends upon the commercial offering.
Additional software components
Downfalls of embedded system
An embedded system is frequently programmed
once, and the software cannot be patched.
They are often installed in a system for which
unreliability is not an option.
Embedded system needs to be tested &
analyzed extensively.
The memory capacity & processing power is
limited.
Some embedded systems run a scaled down
version of operating system called an RTOS
(real-time operating system)
Advantages of embedded
system
Ports to common embedded chip sets are
available.
They permit re-use of publicly available code for
Device Drivers, Web Services, Firewalls, and
other code.
Distribution can be configured to unneeded
functionality & save the expense of the memory.
Running application code in user mode is more
reliable, easier to debug therefore the
development process is easier and the code
Advantages of embedded
system
is more portable.
Many embedded systems lack the tight
real-time requirements of a control system.
(e.g. Embedded Linux)
Features requiring faster response than
can be guaranteed can often be placed in
hardware.
Many RTOS systems have a per-unit cost.

References
http://www.netrino.com/Embedded-
system/Glossary
http://www.embedded.com/underhehood
http://www.usenix.org/publications/login/20
07-12/pdfs/hesier.pdf
http://en.wikibooks.org/wiki/embedded
systems/Embedded system Basics
^Yashavant Kanetkar Go Embedded
ANY QUESTIONS ???
THANK YOU !!!

You might also like