You are on page 1of 6

Chapter 4

Date: 07-12-2020

Branch: ECE/3 year

Topic: Software aspect of Embedded System

Time: 10:00 AM -11:00 AM

What is Embedded Software?

If embedded systems consist of hardware and software then embedded software


refers specifically to the software components of the system. We can further
distinguish between two types of software used in embedded systems:
the firmware and the application. 

Firmware consists of software that is written in non-volatile memory within the


embedded system, such that it cannot be easily modified or erased. Most embedded
systems contain read-only memory (ROM) or electrically erasable programmable
read-only memory (EEPROM) where firmware is stored. Firmware is typically
used for running or booting the device.

In contrast, embedded software applications allow the system to perform tasks or


functions that are required for the successful application of the device. An
embedded application includes control or scheduling algorithms that allocate
processing power to tasks, processes, or services based on their assigned priority.

The Embedded System Software Stack


The software stack for an embedded system can vary in complexity depending on
the intended application for the product. The most complex systems consist of five
or six layers while simpler systems might include just two or three. A six-layer
software stack for an embedded system might include the following components:

1. Embedded software application: while other components of the software


stack may be purchased or acquired as open-source, the main application is
typically coded by engineers to meet the unique requirements of the project
while accounting for power consumption, timing, and other constraints
imposed by the hardware configuration and additional planned software
elements. 

2. Application framework: embedded engineers are enjoying increased access


to application framework modules that provide prepackaged software for
embedded systems. An application framework can include security features,
machine-to-machine communication features, connectivity and location
functionality, and other useful features. The presence of available
application frameworks reduces the labor associated with programming
embedded software functions.

3. Operating environment: includes libraries, runtime, and other services


needed to deliver the core application

4. Embedded virtualizations: more complex embedded systems may use


virtualization to divide processing power between several different tasks or
functions. 

5. Firmware: consists of the software components necessary to run the device,


such as boot-loaders, secure storage, and threading
6. Hardware: includes the microcontroller or microprocessor and other on-chip
peripherals on a single or multi-layered board

What is an Embedded System Used For?

Embedded systems are deployed in a wide range of commercial and consumer


applications across industries. While the first embedded computers were used in
products like calculators during the 1960s, technological advancements of the
information age have accelerated the proliferation of devices with embedded
systems throughout the world. In particular, devices that use embedded systems to
transmit data over the internet (known as connected devices) have exploded in
popularity with applications that include smart homes and wearable medical
devices.

Below, we highlight some of the most common applications for embedded systems
today:

Embedded Systems in Consumer Electronics

Consumer electronics are a major product category when it comes to embedded


systems, including things like mobile phones, video game consoles, printers,
digital cameras, and more. There is a significant variation in the types of embedded
systems that are deployed across various consumer products. The microcontroller
system embedded in a digital camera, for example, might perform just a handful of
highly specific functions or tasks. On the opposite end of the spectrum, mobile
phones are powered by embedded systems that must be configured to run many
different types of mobile applications (apps). The operating systems and
architecture for these more complex embedded systems are more similar to those
of desktop computers.
Embedded Systems in Smart Home Products

Smart home and smart home security products are driven by embedded systems
that rely on specially programmed embedded software programs. Smart home
products are a growing market segment for embedded systems engineers as
consumers seek out low-cost solutions that enhance home safety and protection
while providing convenience through automation. 

There are several examples of smart home products that rely on embedded
systems, including home security cameras that upload the video to the cloud or
motion sensors that activate an alarm when an intruder is detected. Even smart
plugs that enable voice activation or timer control of home audio and lighting
systems depend on embedded software and systems.

Embedded Systems in Aerospace and Defence

Embedded systems are increasingly being deployed in military and aerospace


applications, especially in aircraft navigational computers, GPS tracking
computers, and vehicle guidance systems. On the commercial side, in-flight
entertainment systems, flight data recorders, and other aircraft safety features can
be designed with embedded systems that capture information from their
environment using sensors and convey information about the vehicle status to the
operators or pilot. Unmanned aerial vehicles (UAVs) are also powered by
embedded software systems.

Embedded Systems in Communications

Many types of electronic communication devices contain embedded systems,


including home and business networking products that facilitate connections
between network endpoints and the worldwide web. Products such as routers,
network hubs, and satellite phones contain embedded systems that incorporate
internet connectivity features. Engineers develop specific embedded software
applications that allow these devices to transfer messages between network devices
and the internet.

Embedded Systems in Health Care

Embedded systems are increasingly being deployed in the health care


setting. Electronic medical devices are frequently designed with one or more
internal microcontrollers that help coordinate their functioning within the timing
and power constraints that are characteristic of embedded systems. While many
types of embedded systems are meant to function with minimal user input,
products in the health care system frequently require a user interface where a
physician or technician can configure operational settings for the device. Examples
of embedded systems in health care include CT scanners, ECG machines, magnetic
resonance imaging (MRI) machines, and more.

Connected wearable devices are a growing area of application for embedded


system software in healthcare. A patient wearing such a device can have their
health and vital status monitored by physicians remotely, reducing the need for
inpatient hospital stays and freeing up bed space for circumstances where it is
critically needed. A connected, wearable heart rate monitor, for example, can
automatically gather data from the patient and upload it to the cloud where it can
be reviewed by a remotely located physician.

Embedded Systems in Industrial & Manufacturing Applications


Embedded systems vary significantly in their design and applications within
the industrial and manufacturing sectors. In large industrial systems, embedded
systems control complex tasks that can be configured or adjusted through a human-
accessible user interface. These systems may control assembly lines, adjust plant
conditions, or perform other large-scale functions in the industrial context.

In addition to systems that control industrial machinery, there are also embedded
systems in products that monitor and provide feedback on industrial and
manufacturing processes. These embedded systems contain sensors that gather data
from the manufacturing process and upload them to a centralized database where it
can be analyzed for patterns or anomalies. Thanks to the broad range of available
sensors, industrial facilities can be monitored across several dimensions including
pressure, temperature, vibrations, power output, and more. These systems are
providing manufacturers with a greater degree of control over the industrial
processes they manage each day. 

Summary

We can recognize many parallels between the traditional practice of software


development and the way software is developed and deployed for embedded
systems. Both types of software require underlying components, such as an
application framework, runtime environment, and operating systems. Perhaps the
most important distinction is that embedded software applications must be coded to
account for the normal limitations associated with embedded systems, including on
available processing capacity and power consumption.

You might also like