You are on page 1of 15

Introduction

Embedded System by definition, is also known as an


integrated system due to its combination of hardware and
software (also known as Firmware).
It comprises of intelligent computing devices that are
surrounding us. The devices may be a smartphone, smart
watches, smart home devices, medical equipment, security
alarms, IoT products, etc.
They will talk with each other through the internet and runs
remotely without human intervention. One of the facts is our
world will connect to more than 50 billion devices in the
nearby future (2020 to 2021) with emerging technology such
as the Internet of things (IoT). Moreover, Machine learning
and artificial intelligence will play a crucial role in designing
embedded system products. To develop such systems, its
worth to know the working of its Software and hardware
development life cycle.
Embedded System VS General Purpose System
Many of you confuse between the two words, but there is a
primary difference between the Microprocessor and
Microcontroller in embedded CPU. A general-purpose CPU
in a computer like a Microprocessor has external peripherals
(Real-time Clock, USB, Ethernet, HDMI etc.) physically
connected to it and are visible outside. But an embedded
Microcontroller or Microprocessor unit interfaces few or all
the peripherals to the CPU on a single SOC (System On Chip)
IC.
Here are some of the key differences between General
purpose operating system and Embedded operating system.

General Purpose Operating system


 Runs in Multi-Tasking Environment with one or more
tasks (sometimes known as threads).
 Generic algorithms had been implemented for
performing parallel tasks. They are meant for faster
processing and high throughput.
 Complex operations like 32 bit and 64-bit addition and
subtraction can be done.
 Cannot respond and interact with the outside analog
world.
 The cost is high due to high memory (RAM, ROM)
availability.
 Power consumption and Size are not a major design
constraint.
 Not real-time and reactive in a harsh environment.
 User-friendly interface.
Examples: Windows, Linux, Mac OS.
What is Embedded System?
As the name implies, it may be hardware or software
integrated to perform a particular function. It uses
a Microcontroller/Microprocessor to perform a single job. It is
a stand-alone device with or without operating system.
Examples may be a washing machine, Music player, ATM,
Vending machine, Data Logger, etc. Nowadays, Most of the
devices run on the OS (Operating System). So, what is
the need for an OS?
 The user needs smarter devices capable of doing multiple
jobs in less time.
 Supports enough memory to run multiple applications.
 Reusable and Stable with more software updates.
 Suitable for integrated voice control and wireless
applications such as WiFi, ZigBee, Ethernet, Bluetooth,
NFC, and GSM protocols.
Some of the examples of an embedded system are
smartphones, washing machines, Air conditioners, kiosks, etc.

Embedded System Applications


They are present everywhere. Doesn’t believe it? Most of
people use without knowing them. The beauty is that it is
invisible to the user, delivering a wealth of experience. Here
are some of the applications of the embedded system which
use a powerful operating system (OS) like Embedded Linux,
Android, and Windows CE.

Smart Homes
Most of the products in your home are embedded which gives
excellent experience and comfort to the user. Examples are
Home Security system, Setup Box, Digital Camera,
Television, Microwave Oven, Air cooler, Refrigerator, and
much more.

Offices
They are also into commercial enterprise solutions for inter-
networking business clients. Examples are Router, Modem,
Printer, and Gateways.

Transportation
The automotive industry is well competing worldwide. Some
of the Embedded subsystems in automobiles are Anti-lock
Braking System (ABS), Air conditioning control, Ignition
control, Airbag control, Rain sensing wipers.

Healthcare
The medical field is a critical one, and the use of embedded
systems is a nightmare. The odd design may lead to a
disastrous effect on society or an individual. Examples are
Blood pressure monitors, Heartbeat monitors, pacemakers,
telesupervision and surgery, Scanners, Portable Ventilators.

Industrial world
The recent challenges of embedded systems extended its
scope towards automation. Automation is the process of doing
a task repetitively. Automation increases machine
productivity, reducing development cost and design time.
Examples are Industrial machinery and control, Temperature
monitoring, 3D printing machines, Robotics, and Industrial
Internet of Things.

Aerospace and Defense


Aerospace and Defense is a rugged area where security and
performance are most important. To achieve this reliable
firmware and embedded software have to be built. Examples
are Flight control systems, Actuation, Air and Thermal
Management, Engine power, Vehicle turbochargers,
Navigation system, Embedded Imaging.

Every complex system in the world can be made based on two


ideas, Software and Hardware. To achieve that you have to
start building smaller modules and integrate them to create an
efficient subsystem. The embedded system can be partitioned
into software and hardware components.

Embedded Hardware
The core of any embedded target is the electronic hardware –
which resides on a Printed Circuit Board. The embedded
development board is divided into five modules. They are
Processor, Memory, Input devices, Output devices, and Bus
controllers.

Hardware abstraction layer (HAL) is the fundamental


resource of any embedded device and choosing a particular
component depends on the requirement and specification of
the designer. In the global market, there are many variants of
hardware produced for different applications. Some of them
are:

Microcontroller (CPU)
A Microcontroller is preferred to build small applications with
precise calculation. Indeed, they have a limited amount of ram
and less reliable. Some of the famous manufacturing
companies are Altera, Atmel, Renesas, Infineon, NXP, and
much more. Technically, a microcontroller is an intelligent
device that computes the task execution time and allocates the
memory resources assigned by the user in an efficient manner.
System on Chip (SoC)
SoC comprises a CPU, Peripheral devices (Timers, counters),
Communication interfaces (I²C, SPI, UART), and Power
Management Circuits on a single IC.
If your application should be more reliable with higher
performance, low-cost SoC is the best choice. It supports one
or more processor cores.

ASIC processor
ASIC means Application Specific Integrated Circuit.
Firstly the chip was designed to use for a particular
application and owned by a single company. So no
copyrighting of the product is allowed. Secondly, it consumes
little power.

DSP processor
You may wonder, these are the most used processors for
Audio and video applications. DSP Processors removes the
noise and improves signal quality for your DVD player,
Music player, and Gaming consoles.

Note: There may be hundreds


of Microcontroller/Microprocessor present in the embedded
computing system.
Input Devices
Input devices take input from the outside world. Some of the
examples of input devices are sensors, switches, photo-diode,
optocoupler etc. They accept input from the user and respond
accordingly.
Output Devices
The output devices are the indications or results that occur due
to input events from outside the microcontroller. Examples of
output devices are LCD, Touch screen, LED, Motors, Seven
segment displays, Buzzer, Relays, etc.

Bus controllers
The bus controller is a communication device that transfers
data between the components inside an embedded system.
Some of the bus controllers are Serial Buses (I2C, SPI,
SMBus etc.), RS232, RS485 and Universal Serial Bus.
Memory
To store the data and deal with memory management,
memory devices like flash and SD card, EEPROM is required.
Some of the memories used in the embedded system are Non-
Volatile RAM, Volatile RAM, DRAM (Dynamic Random
Access Memory) etc.

Embedded Software
Software components are essential building blocks of
embedded systems. Embedded software (sometimes called
as firmware) written for Device drivers, Operating system,
Application Software, Error handling, and debugging
software.

Device Driver
Device drivers or Board Support Package (BSP) are the
core software components that control a peripheral device and
supports connectivity. It is a piece of embedded code written
for particular hardware. The peripheral may be I2C, SPI,
UART, USB, CAN, GPIO etc. The user has to derive the low-
level drivers for the microcontroller or microprocessor using
specific control and data registers given in the datasheet. Next
to the top of the low-level driver a high-level driver has to be
written for the application software. Moreover, Middleware
extensions such as FREERTOS, FATFS, LWIP (TCP/IP
stack) has to be integrated.
Operating System (OS)
An operating system is a system software that manages
resources like memory, I/O (Input-Output) management, etc.
In an embedded system, different types of operating systems
exist. Some of them are RTOS (Real-time operating systems),
VxWorks, RTLinux, Nucleus, µCos, mobile embedded, stand-
alone, and network embedded systems.

Top Embedded Programming languages


Most people do not know about programming languages used
for embedded systems and the electronics world is changing
every day. So, you need to update yourself in this competitive
world. Most of the hardware platforms support multiple
languages. For ease of development of firmware, it is required
to learn Embedded C, C++ and Micro python.

C language is founded by Dennis Ritchie in the year 1972


with an operating system Unix. Embedded C is the most
widely used languages for embedded systems due to the
following reasons.
 Performance-wise better.
 Easy to use.
 More reliable.
 Directly interacts with the operating system.
 Portable and compatible with any hardware.
 Less over the head and better code optimization.
 Supports Windows and Linux environment.
Embedded C++ is the enhanced programming language with
few advantages over C.
 Security wise better than C language.
 Much closer to real-world applications.
 Software development is easy.
 C++ uses the object-oriented paradigm for data
abstraction and encapsulation. It also includes features like
polymorphism, classes and inheritance.
 Suitable for 3D imaging and graphical applications.
Micro Python is an open-source object-oriented software
used for real-time applications. It is human readable and easy
to code. The programming APIs use built-in exception and
error handling. This language is suitable for developers who
are not interested in going through the low-level hardware
details. It is useful for data analysis of sensors and devices.
The user can write test cases in python to debug the hardware.
However, it is entirely in the hands of the developer to choose
C, C++, or Python for a given application.
How does an Embedded device work?
Every Embedded computing device may be your computer or
mobile has some inputs and corresponding outputs.
Here is an example of how an embedded system works.

1. It takes the analog/digital input from the user. Examples


are Push-button switch, Keypad, Sensor, Touch Screen.
2. Then, it processes the given input. Processing may be
calculation or conversion. For example, an ADC (Analog
to digital converter) converts a sensor analog input to
digital output.
3. After converting the analog value to digital output, you
need to control using output devices. Examples are Motor,
LCD, and Touchscreen.
# Interesting Facts
 Real-time and reactive.
 The system is always ready to accept input, process the
input and give the correct
 Low Power consumption, Compact in Size, Low cost.
 Expected to work without human involvement.
 Ability to observe, react, and control the external
environment within a deterministic period.
Embedded Software Development Life Cycle
A proper embedded software has to be written to meet the
requirement of the customer and to bring high-quality
products to the market. To do that in an efficient manner, here
are the seven steps to make your Embedded Product.

Step1: Understand the requirements


First of all, you need to know and understand the end-user
specifications.

Step 2: Examine
Analyze the components (software and hardware) required to
make the product.
Step 3: Design
It is the most critical phase of the development cycle. The
developer needs to develop embedded hardware and software
individually and integrate both.

Step 4: Develop
The Programmer develops the Prototype using available
hardware and software tools to match the customer
specifications.

Note: Prototype is the sample version drawn up to test a


concept.
Step 5: Test
The developer examines the application by running software
test cases to prove the possible potential of the prototype.

Step 6: Deploy
After testing the product, the developer checks the result in a
real environment to realize the Proof Of Concept.
Note: Proof Of Concept is a technique used to validate an
idea, but it may not be deliverable.

Step 7: Support and Upgrade


Depending on the user requirement, support and upgrade have
to be provided to add new features at regular intervals.
Difference between Computer and Embedded System :
S.
No. Category Computer Embedded device

A computer is a An embedded device is a part of


combination of hardware an integrated system which is
and software resources formed as an combination of
which integrate together computer hardware and software
and provides various for a specific function and which
functionalities to the can operate without human
1. Description user. interaction.

A computer needs Embedded device does not need


Human Human Interaction to Human Interaction to perform
2. Interaction perform tasks. tasks.

Analog computer,
Digital computer,
Hybrid computer,
Harvard architecture, Small Scale Embedded System,
Von Neumann Medium Scale Embedded
Types based architecture, Systems,
on Reduced instruction set Sophisticated or Complex
3. architecture computer Embedded Systems

It has 2 parts: Hardware It has 3 parts: Hardware,


4. Parts and Software. Firmware and Software.

It can perform many


5. Tasks tasks. It performs limited tasks.

The user has to pay more The user incurs lesser cost for an
6. Cost to user for a computer. embedded system.

7. Peripherals Computers have Embedded Devices have


peripherals such as peripherals such as Serial
keyboard and mouse, Communication Interfaces (SCI),
display, printer, Hard Synchronous Serial
disk drives, floppy disk Communication Interface,
drives, optical disc drives Universal Serial Bus (USB),
etc. Multi Media Cards (SD cards,
S.
No. Category Computer Embedded device

Compact Flash) etc.

Computers can be Embedded Devices are made


reprogrammed to for a only for a specific set of
8. Purpose new purpose. purposes.

Computer needs more Embedded Device needs lesser


Power operational power than operational power than a
9. Consumption Embedded Devices. Computer.

Computers are more Embedded Devices are less


complex devices than complex devices than
10. Complexity Embedded Devices. Computers.

Computers may be
installed in other devices
Need of but are self-sufficient to Embedded Devices only exist
11. another device exist. inside other Systems.

Computers are more


Difficult when used,
Usage compared to an Embedded are easier to use than
12. Difficulty Embedded System. Computers.

It requires more user


User interface than Embedded It requires lesser to no user
13. Interfaces Devices. interface than Computers.

Computers are not time


specific. They may need
to perform tasks which Embedded Devices are time
are not time bound and specific. The tasks assigned to
Time take days to perform as them need to be performed
14. Specificity well. within a specific time frame.

15. Size Computers are usually Embedded Devices are smaller in


bigger in size with larger size than Computers, with
hardware and input limited hardware.
output devices attached
S.
No. Category Computer Embedded device

to it.

16. Developed in 1965 A.D. 1833 A.D.

17. Developer Charles Stark Draper Charles Babbage

Computers have larger


Memory memory requirement due Embedded Devices need lesser
18. Requirement to a lot of storage of data. Memory.

You might also like