You are on page 1of 18





Embedded system encompasses a variety of hardware and software components,

which perform specific functions in host systems. Embedded systems have become
increasingly digital with a non-digital periphery and therefore, both hardware and
software co-design is relevant. Majority of computers are used in such systems to
distinguish them from standard main frames, workstations and pc’s. Advances in
microelectronics have made possible applications that would have been impossible
without an embedded system design.
Embedded system applications have virtually entered every sphere of our lives
embedded systems cover a broad of products that generalization is difficult.

An embedded system is a microprocessor- based system that is incorporated into
a device to monitor and control the functions of the components of the device. They are
used in many devices. Developments in microelectronics, processor speeds and memory
elements have resulted in power embedded systems with a number of applications.
This paper seeks differences between embedded computer design and desktop design,
which also presents design challenges.
An embedded system is a type of computer system or computing device, which
performs a dedicated function and/or is designed for use with a specific embedded
software application.

1 Email:



Embedded systems must be very reliable as they perform critical functions.

In mission- critical applications such as aircraft flight control, severe personal injury or
equipment damage could result from the failure of embedded computer. Hence embedded
system programmers should take into considerations all possibilities and write programs
that do not fail.


Embedded systems should response to the events as soon as possible. For

example, a patient monitory system should process the patient’s heart signals quickly and
immediately notify if any abnormity in the signals is detected

2 Email:

Embedded systems are used for performing special functions using specified
hardware such that embedded systems that monitor and analyses audio signals used
signal processor.

Due to its extensive use its cost is low.


Embedded systems must robust as they operate in harsh environment. They

should endure vibrations, power supply fluctuations and excessive heat.

Structure of typical embedded system:

3 Email:

An embedded system encompasses the CPU as well as many other resources

such as sensors, A/D, D/A conversions, ASIC (Application Specific Integrated Chips),
software program, memory, power cooling machines. In addition to the CPU and
memory hierarchy, there are a variety of interfaces that enable the system to measure,
manipulate, and otherwise interact with the external environment. An embedded system
encompasses the CPU as well as many other resources such as sensors, A/D, D/A
conversions, ASIC (Application Specific Integrated Chips), software program, memory,
power cooling machines. In addition to the CPU and memory hierarchy, there are a
variety of interfaces that enable the system to measure, manipulate, and otherwise interact
with the external environment.
Some differences with desktop computing may be:
The human interface may be as simple as a flashing light or as complicated as
real-time robotic vision.
The diagnostic port may be used for diagnosing the system that is being
controlled -- not just for diagnosing the computer.
Special-purpose field programmable (FPGA), application specific (ASIC), or
even non-digital hardware may be used to increase performance or safety.
Software often has a fixed function, and is specific to the application.

In addition to the emphasis on interaction with the external world, embedded

systems also provide functionality specific to their applications. Instead of executing
spreadsheets, word processing and engineering analysis, embedded systems typically
execute control laws, finite state machines, and signal processing algorithms. They must
often detect and react to faults in both the computing and surrounding electromechanical
systems, and must manipulate application-specific user interface devices.

4 Email:

In high-end embedded systems, the tools used for desktop computer design are
invaluable. However, many embedded systems both large and small must meet additional
requirements that are beyond the scope of what is typically handled by design
automation. These additional needs fall into the categories of special computer design
requirements, system-level requirements, life-cycle support issues, business model
compatibility, and design culture issues.

Design Requirements:
The rise of a new class of networked embedded systems that includes digital
copies, intelligent hubs and telephony servers are creating a stringent new requirement
for embedded system design, while the primary requirement is still to develop systems of
high performance and low cost, increasingly system must also be network savvy.
Embedded systems must guarantee real time operation reactive to external events,
conform to size and weight limits, budget power and cooling consumption, satisfy safety
and reliability requirements, and meet tight cost targets.


Embedded systems are confused with real-time systems. A real time system is one
in which the correctness of the computations not only depends on the accuracy of the
result, but also on the time when the result is produced. Figure 1 shows the relationship
between embedded and real time systems.

Depending on time strictness they are classified into two types

5 Email:

Hard RTOS are the RTOS that should complete the given function within a
stipulated time constraint. The failure of doing so is treated as the failure of the entire
system. So these are deterministic.

Soft RTOS are not as strict as hard RTOS. The failure of doing given work is
pardonable, providing it will not affect the entire system performance.

Features of RTOS:
Real Time Operating Systems (RTOS) are used to schedule functions in complex
An RTOS helps to schedule and execute functions based on priority in a
predictable manner.
An RTOS may be doing some simple function to complex functions with many
decision loops & interrupts.
In brief or simple words it can be treated as content switcher


Embedded systems have the following components.


A processor fetches instructions from the memory unit and executes the
instructions. An instruction consists of an instruction code and the operands on which the
instruction should act upon. The format of instruction code and operands of a processor is
defined by the processor’s instruction set. Each type of processor has its own instruction
set. Performance of the system can be improved by dedicated processors, which
implement algorithms in hardware using building blocks such as hardware counters and

6 Email:

Some embedded processors have special fuzzy logic instructions. This is because
inputs to an embedded system are sometimes better represented as fuzzy variables. For
instance, the mathematical model for a control system may not exist or may involve
expensive computing power. Fuzzy logic can be employed for such control systems to
provide a cost-effective solution.

The memory unit in an embedded system should have low access time and high
density. (A memory chip- has greater density if it can store more bits in the same amount
of space. Memory in an embedded system consists of ROM and RAM .The contents of
ROM are non-volatile while RAM is volatile. ROM stores the program code while RAM
is used to store transient input or output data. Embedded systems generally do not possess
secondary storage devices such as magnetic disks. As programs of embedded systems are
small there is no need of virtual storage.


Peripherals are input and output devices connected to the serial and parallel ports
of the embedded system. Serial port transfers one bit at a time between the peripheral and
the microprocessor. Parallel ports transfer an entire word consisting of many bits
simultaneously between the peripheral and the microprocessor.

Programmable interface devices that act as an interface between microprocessor

with peripherals provide flexibility since they can be programmed to perform I/O on
different peripherals. The microprocessor monitors the inputs from peripherals and
performs actions when certain events occur. For instance, when sensors indicate the level
of water in the washtub of a washing machine is above the present level, the
microprocessor starts the wash cycle.

7 Email:

Controlling physical systems:

The usual reason for embedding a computer is to interact with the environment,
often by monitoring and controlling external machinery. In order to do this, analog inputs
and outputs must be transformed to and from digital signal levels. Additionally,
significant current loads may need to be switched in order to operate motors, light
fixtures, and other actuators. All these requirements can lead to a large computer circuit
board dominated by non-digital components. In some systems "smart" sensors and
actuators may be used to off-load interface hardware from the central embedded
computer. This brings the additional advantage of reducing the amount of system wiring
and number of connector contacts by employing an embedded network rather than a
bundle of analog wires. However, this change brings with it an additional computer
design problem of partitioning the computations among distributed computers in the face
of an inexpensive network with modest bandwidth capabilities


The clock pulses of the microprocessor periodically update hardware timers. The
timers count the clock pulses and interrupt the processor at regular intervals of time to
perform periodic tasks.


A less pervasive system-level issue, but one that is still common, is a need for
power management to either minimize heat production or conserve battery power.

The main and basic requirement is its, power consumption capacity. It generally

8 Email:

Fully operational mode: Here, the given clock pulse is propagated to the entire
processor and all the functional units are available to execute instructions.
Stand-by mode: Here the processor actually executes the instructions but still the stored
information is available. Ex: DRAM.
Clock-off mode: Here the entire system is to be restarted. The time taken will be nearly
as long as for initial start up.


Due to the absence of secondary storage devices in an embedded system, program

code and constant data reside in the ROM. During execution of the program, storage
space for variables is allocated in the RAM. The program should execute continuously
and should be capable of handling all possible exceptional conditions. Hence the
programs generally do not call the function exit.

Real-time embedded systems possess a Real Time Operating System (RTOS).

The RTOS consists of a scheduler that manages the execution of multiple tasks in the
embedded systems. Unlike operating systems for the desktop computers where
scheduling deadlines are not critical, an RTOS should schedule tasks and interrupt
service routines such that they are completed within their deadlines.

Address Bus

Data Bus

Control Bus


Functional diagram of a typical embedded system

9 Email:

Embedded systems are divided into autonomous, real-time, networked, and
mobile categories.
Autonomous systems function in standalone mode. Many embedded systems used
for process control in manufacturing units and automobiles fall under this category. In
process control systems the inputs originate from transducers that convert a physical
quantity, such as temperature, into an electric signal. The system output controls the
device. In standalone systems, the deadlines or response times are not critical. An air-
conditioner can be set to turn on when the temperature reaches a certain level. Measuring
instruments and CD players are examples of autonomous systems.

Real time systems are required to carry out specific tasks in a specified amount of
time. These systems are extensively used to carry out time critical tasks in process
control. For instance, a boiler plant must open the valves if the pressure exceeds a
particular threshold. If the job is not carried out in the stipulated time, a catastrophe may
result. Networks of embedded systems monitor plant parameters, such as temperature,
pressure, and humidity, and send the data over the network to a centralized system for
online monitoring. A network-enabled web camera monitoring the plant floor transmits
its video output to remote controlling organization.

Mobile gadgets need to store databases locally in their memory. These gadgets
imbibe powerful computing and communication capabilities to perform real time as well
as non-real time tasks and handle multimedia applications. The gadgets embed powerful
processor and OS, and a lot of money with minimal power consumption behavior that can
be fairly easily changed.

10 Email:

Types of Embedded Devices:

According to their computing capacity, there are 4 types of devices:

• Signal processing system (1 GLOPS)
• Machine critical control system (10-100 MIPS)
• Distributed control system (1-10 MIPS)
• Small consumer electronic system(100,000 IPS)


Programmers who write programs for desktop computers do their work on the
same kind of computer on which their application will run. A programmer developing a
program to run on a Linux machine edits the program, compiles it and debugs it on a
Linux machine. This approach cannot be used for embedded system. For example, the
absence of a keyboard in the embedded system rules out editing a program in the
embedded system. So, most of the programming work for an embedded system, which
includes writing, compiling, assembling and linking the program, is done on a general
purpose computer called a host that had all the required programming tools. The final
executable consisting of machine code is then transferred to the embedded system.
Programs are written on the host in a high level language (such as C) or assembly
language of the target system’s processor. The program files written in the high level
language are compiled on the host using a cross-compiler to obtain the corresponding
object files. The assembly language files are assembled on the host using a cross-
assembler to obtain the object files. The object files produced by cross-compilers and
cross-assemblers contain instructions that are understood by the target’s processor (native
compilers and assemblers on the other hand produce object files containing instructions
that are understood by the host’s processor).

11 Email:

The object files are linked using a specialized linker called locator to obtain the
executable code. This executable code is stored in the ROM. Since the program code
already resides in memory, there is no need for a loader in an embedded system. In
personal computers, on the other hand, the loader has to transfer the program code from
the magnetic disk to memory to execute the program.

The binary code obtained by translating an assembly language program (using an

assembler) is smaller and runs faster than the binary code obtained by translating a high
level language program (using a compiler) since the assembly language gives the
programmer complete control over the functioning of a processor. The advantage of
using a high level language is that a program written in a high level language is easier to
understand and maintain than a program written in assembly language. Hence time-
critical applications are written in assembly language while complex applications are
written in a high level language


A simulator is software tool that runs on the host and simulates the behavior of
the target’s processor and memory. The simulator knows the target processor’s
architecture and instruction set. The program to be tested is read by the simulator and as
instructions are executed the simulator keeps track of the values of the target processor ‘s
registers and the target’s memory. Simulators provide single step and breakpoint facilities
to debug the program.

Simulators cannot be used if the embedded system uses special hardware that
cannot be simulated and the only way to test the program is to execute it on the target.
Although simulators do not run at the same speed as the target microprocessor, they
provide details from which the time taken to execute the code on the target
microprocessor can be determined. For instance, the simulator can report the number of
target microprocessor’s bus cycles taken to execute the code. Multiplying this value with
the time taken for one bus cycle gives the actual time taken by the target microprocessor
to execute the code.

12 Email:


An emulator is a hardware tool that helps in testing and debugging the program on
the target. The target’s processor is removed from the circuit and the emulator is
connected in its place. The emulator drives the signals in the circuit in the same way as
the target’s processor and hence the emulator appears to be the processor to all other
components of the embedded system. Emulators also provide features such as single step
and breakpoints to debug the program.


1.Automatic vending machine:

These are very simple machines with simple functions such as dispenses cool
drinks. It has to collect the money from the customer based on the project selected,
dispense the product and balance money if any.

2. In printers:
Here the embedded system controls your printer. This system has to execute
more complex functions like checking for paper availability, printer-ink, open door, paper
jam, communication with host computer data integrity etc., are few of them.

3.Automobiles like cars:

Most of the embedded systems in automobiles are rugged in nature as most of
these systems are made of single chip. Their compact profiles enable them to fit easily
under the cramped hood of a car.
Embedded systems can be used to implement features ranging from adjustment of
the suspension to suit road conditions and the octane content in the fuel to Anti- lock
Breaking Systems (ABS). Right from brakes to automatic fraction control to air bags (and
fuel/air mixture controls). Here may be unto 30-50 embedded systems with in present day

13 Email:

4.Smart House:
Homes of the future will employ embedded technology devices to become
intelligent & ‘smart’, i.e., the house that recognizes your fingerprints and opens the front
door automatically. A smart house is essentially a network of smart devices, which could
be a fridge that checks your food supplies and places orders to replenish them, TV that
controls ON/OFF automatically on your absence, microwave oven that can send a
message for you saying that the cake you kept is baked or any of the numerous domestic
appliances that we use at home. They will be able to optimize themselves or report
maintenance problems to technicians using built-in management functions. They will also
be connected to Internet in most cases, which are possible in near future. Now we can
envisage a “smart house” where the electronic systems interact each other to make your
life more & more comfortable.

5.Wired Wearable:

Embedded systems have a small footprint and consume very little power, which
makes the ideal for wearable computing applications. A very amazing application of IBM
is already on the prototype of a mobile phone that can be worn as jeweler. The
components of the phone will be distributed among different pieces of jeweler earring,
necklace, ring and bracelet.
The earrings will have embedded speakers and will act as the receiver. The
necklace will have embedded microphones that will act as the mouthpiece users can talk
into. LEDs will flash to indicate an incoming call. A video graphics array (VGA) will be
built into the bracelet, which will display the name & phone number of the caller. It also
integrates the keypad and dialing functions in it.

14 Email:

Out standing Applications of embedded systems:

• Nuclear power plants and power generation units.
• Satellite, rocket and missile launching /Tracking.
• Robotics and Artificial Intelligence.
• Consumer Electronics.
• Medical and Instrumentation Electronics.
• Telecommunication/Data communication/Networking.


In an embedded system, assigning functions to hardware and software is a vital
consideration. Hardware implementation has the advantage that the task execution is
faster than in software implementation. On the flip side, the hardware chip occupies
space, costs money, and consumes power. Porting a readily available OS to the processor
or writing embedded software without any OS embedded into the system are the main
challenges. Developing, testing, and debugging input/output interfaces in embedded
systems are even more challenging.
Embedded systems need to offer high performance at low power. These should
meet the basic functional requirements of the device: A hand held PC must execute with
an OS and a basic set of applications, a gaming gadget must facilitate games, and a phone
must provide basic telephony and so on.

Worst case design analyses without undue pessimism in the face of hardware with
statistical performance characteristics (e.g., cache memory)
• Non-rectangular, non-planar geometries
• Packaging and integration of digital, analogs
• Low-cost reliability with minimal redundancy. g, and power circuits to red
• Accurate thermal modeling.

15 Email:

• De-rating components differently for each design, depending on operating

environment. Use size Variable "design margin" to permit tradeoff between
product robustness and aggressive cost optimization. Software- and I/O-driven
hardware synthesis (as opposed to hardware-driven software
• Reliable software.
• Cheap, available systems using unreliable components.
• Electronic vs. non-electronic design tradeoffs.
• Distributed system tradeoffs among analog, power, mechanical, network, and
digital hardware plus software.
• Ultra-low power design for long-term battery operation.

• A problem can be more easily tested and maintained by breaking down the
problem to be solved into individual, easily comprehensible tasks.
• The modular approach allows reusability of individual tasks in other
• Since the real time and multi-tasking problems are already solved the time
required for creating programs and testing is considerably reduced


A refrigerator that tells you the expiry date of the yogurt, a micro oven that helps
you to view different recipes that can be cooked and even gives ideas on serving, a future
home that is completely wired with the ability to control every appliance from almost any
where. All this may seem incredible today, but it won’t be too long before such
appliances are produced for mass usage. In future it is possible to have an embedded
Internet that connects different embedded systems on a single network. .

16 Email:


Embedded systems have requirements that differ significantly from general-

purpose computers. The main goal of an embedded system developer is to design a
lowest cost system that performs the desired tasks without failing. While the hardware
approach improves performance, the software approach provides flexibility. Recent
developments in hardware-software co-design permit tradeoffs between hardware and
software for cost-effective embedded systemseveson, Safe ware: system safety and
computers, Addison-Wesle, 1994. One of the recent developments in embedded system
technology is networking of the devices so their services are available through LAN,
WAN, Internet. To conclude one day man will be embedded in embedded technology.
“Embedded systems have virtually entered every sphere of our lives”


1. Fudamentals of embedded software by DANIAL W.LOUIS.

2. An embedded software primer by DAVID E.SIMON.

3. Daniel D. Gajski, Frank Vahid, Sanjiv Narayan & Jie Gong, Specification
And Design of Embedded Systems,

17 Email:

18 Email: