1. Ararat Private Technical Institute
Dep. of Computer systems
Operating System | Second Stage
Embedded Systems
2022-2023
Author: Lecturer:
Ahmed N. Younis Mrs. Zina Bibo
3. -
2
Introduction
Embedded systems are a combination of hardware and software that perform specific
functions within larger systems. They are designed to be reliable, efficient, and low-cost while
still providing the necessary functionality.
Embedded systems are used in a variety of applications, including automotive, medical
devices, and consumer electronics. With the increasing demand for smart devices, the use of
embedded systems is becoming more widespread. Its components follow a set of rules to
show time. If one of its parts fails, the watch will stop working. So we can say, in a system, all
its subcomponents depend on each other. [1]
Designing
The design of embedded systems involves selecting the appropriate hardware and software
components to meet the requirements of the application. This includes choosing
microcontrollers, sensors, communication modules, and power sources.
Once the components have been selected, they must be integrated into a cohesive system.
This involves designing the circuit board layout, writing firmware code, and testing the system
to ensure it meets the desired specifications.
As its name suggests, Embedded means something that is attached to another thing. An
embedded system can be thought of as a computer hardware system having software
embedded in it. An embedded system can be an independent system or it can be a part of a
large system. An embedded system is a microcontroller or microprocessor based system
which is designed to perform a specific task. For example, a fire alarm is an embedded
system; it will sense only smoke. [2]
An embedded system has three components:
-It has hardware.
-It has application software.
-It has Real Time Operating system (RTOS) that supervises the application software and
provide mechanism to let the processor run a process as per scheduling by following a plan
4. -
3
Programming requires
Programming embedded systems requires knowledge of both hardware and software.
Firmware code is typically written in C or C++, and must be optimized for size, speed, and
power consumption.
Debugging embedded systems can be challenging due to the limited resources available for
debugging. Techniques such as print statements, LED indicators, and logic analyzers are
commonly used to debug embedded systems.
Experience in or ability to learn communication protocols. Relevant protocols to have at least
an understanding of include I2C, Serial Peripheral Interface (SPI), USB, General-purpose
input/output (GPIOs), Controller Area Network (CAN bus), Recommended Standard 232
(RS232), one-wire, Recommended Standard 485 (RS485). [3]
Testing reliability
Testing embedded systems is critical to ensuring their reliability and functionality.
Testing can be done at various stages of the development process, including unit
testing, integration testing, and system testing.
Automated testing is often used to improve efficiency and reduce errors. Techniques
such as boundary value analysis, equivalence partitioning, and stress testing can help
identify potential issues in the system.
Use the environment simulator for simulating different operational scenarios of the
hardware. Based on the operational scenarios, we predict the reliability and availability
of the system using the test results. Four important aspects covered in this prediction
approach are: 1) developing a method for system reliability and availability prediction
using environment modeling and simulation technique, 2) considering software-related
hardware and hardware-related software interaction failures. [4]
5. -
4
Challenges Development
Developing embedded systems can be challenging due to the complexity of the
hardware and software. Additionally, there are often constraints on resources such as
memory, processing power, and energy consumption.
Another challenge is ensuring the security of embedded systems, especially in
applications such as medical devices and industrial control systems. Cybersecurity
threats must be considered throughout the development process to prevent
unauthorized access or malicious attacks.
Mostly Embedded systems are present everywhere. We use it in our everyday life
unknowingly as in most cases it is integrated into the larger systems. So here are some
of the application areas of embedded systems:
Home appliances
Transportation
Health care
Business sector & offices
Defense sector
Aerospace
Agricultural Sector
6. -
5
Future of Embedded Systems
Android is an open source operating system whose codes developers can change to build
customized User Interface. App developers building applications for this platform can get
access to the core codes.
Users with Android are spoilt for choice of smartphone devices of different prices. There is
something for people across all budget spectrum when it comes to smartphones running on
Android. A wide range of devices run on this OS including smartphones, tablets, watches,
audio players, TVs and PCs.
One of the biggest advantages of using devices running on Android platform is that it supports
expandable memory. Other devices on the other hand do not support external memory
expansion by adding memory card to the phone.
It is given to users the freedom to download 3rd party widgets and also display their content
on the home screen. [5]