0% found this document useful (0 votes)
215 views90 pages

Embedded - Systems Lecture

The document provides an introduction to embedded systems, including definitions and classifications. It discusses small, medium, and sophisticated embedded systems. It also outlines major application areas like consumer electronics, automobiles, telecommunications, and healthcare. Finally, it discusses the purposes of embedded systems like data collection, communication, processing, monitoring, control and interfaces. It concludes by describing important quality attributes for embedded systems such as response time, throughput, reliability, maintainability, security and safety.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
Download as pptx, pdf, or txt
0% found this document useful (0 votes)
215 views90 pages

Embedded - Systems Lecture

The document provides an introduction to embedded systems, including definitions and classifications. It discusses small, medium, and sophisticated embedded systems. It also outlines major application areas like consumer electronics, automobiles, telecommunications, and healthcare. Finally, it discusses the purposes of embedded systems like data collection, communication, processing, monitoring, control and interfaces. It concludes by describing important quality attributes for embedded systems such as response time, throughput, reliability, maintainability, security and safety.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1/ 90

Introduction to Embedded System

Outlines:

– Introduction

– Classification of Embedded Systems


– Application Areas of Embedded Systems
– Purpose of Embedded Systems

– Quality Attribute of Embedded Systems


10/19/2022 Embedded System 1
EMBEDDED SYSTEMS

CHAPTER 1: INTRODUCTION TO EMBEDDED


SYSTEMS
1.1 WHAT IS AN EMBEDDED SYSTEM?

Definition:
 It is an Electronic/Electro mechanical system designed to
perform a specific function and is a combination of both
hardware & software.
OR
 A combination of hardware and software which together
form a component of a larger machine.

10/19/2022 Embedded System 2


Cont...

10/19/2022 Embedded System 3


Cont.
• An example of an embedded system is a
microprocessor that controls an automobile engine.
• An embedded system is designed to run on its own
without human intervention, and may be required
to respond to events in real time.

10/19/2022 Embedded System 4


Classifications of Embedded Systems

1. Small Scale Embedded System


2. Medium Scale Embedded System

3. Sophisticated Embedded System

10/19/2022 Embedded System 5


Small Scale Embedded System

 Single 8 bit or 16bit Microcontroller.


 Little hardware and software complexity.
 They May even be battery operated.
 Usually “C” is used for developing these system.
 The need to limit power dissipation when system
is running continuously.
• Programming tools:
Editor, Assembler and Cross Assembler

10/19/2022 Embedded System 6


Medium Scale Embedded System

• Single or few 16 or 32 bit microcontrollers or


Digital Signal Processors (DSP) or Reduced
Instructions Set Computers(RISC).
• Both hardware and software complexity.

• Programming tools:

RTOS, Source code Engineering Tool,


Simulator, Debugger and Integrated Development
Environment (IDE).
10/19/2022 Embedded System 7
Sophisticated Embedded System

• Enormous hardware and software complexity


• Which may need scalable processor or
configurable processor and programming logic
arrays.
• Constrained by the processing speed available in
their hardware units.
• Programming Tools:
For these systems may not be readily available at a
reasonable cost or may not be available at all. A
compiler or retargetable compiler might have to be
developed for this.
10/19/2022 Embedded System 8
Major Application Areas Of Embedded
Systems
Consumer Electronics
Camcorders, Cameras, etc…
Household Appliances
Television, DVD Player, Washing machine, fridge, microwave
oven, etc.
Home automation and security system
Air conditioners, Sprinkler, intruder detection alarms, fire
alarms, closed circuit television cameras, etc.
Automotive industry
Anti-lock breaking system (ABS), engine control, ignition
control, automatic navigation system, etc..
Telecommunication
Cellular telephones, telephone switches, Router, etc…
10/19/2022 Embedded System 9
Cont.
Computer peripherals
Printers, scanners, fax machines, etc…
Computer Networking systems
Network routers, switches, hubs, firewalls, etc…
Health care
CT scanner, ECG, EEG, EMG, MRI, Glucose monitor, blood pressure
monitor, medical diagnostic device, etc.
Measurement & Instrumentation
Digital multi meters, digital CROs, logic analyzers PLC systems, etc…
Banking & Retail
Automatic Teller Machine(ATM) and Currency counters, smart vendor
machine, cash register, Share market, etc..
Card Readers
Barcode, smart card readers, hand held devices, etc…
10/19/2022 Embedded System 10
Purpose Of Embedded Systems

• Each Embedded system is designed to serve


the purpose of anyone or a combination of
the following tasks.
1. Data collection/Storage/Representation
2. Data communication
3. Data (Signal) processing
4. Monitoring
5. Control
6. Application specific user interface

10/19/2022 Embedded System 11


Data collection/Storage/Representation

• Data collection is usually done for storage, analysis,

manipulation and transmission.

• The term‚ ”Data” refers all kinds of information, viz.

text, voice, image, electrical signals & other

measurable quantities.

• Data can be either analog (continues) or Digital

(discrete).
10/19/2022 Embedded System 12
Cont.
• Embedded system with analog data capturing

techniques collect data directly in the form of analog

and converts the analog to digital signal.

• The collected data may be stored directly in the system

or may be transmitted to other systems or it may be

processed by the system or it may be deleted instantly

after giving a meaningful representation.


10/19/2022 Embedded System 13
Data communication
• Embedded data communication systems are
developed in applications ranging from complex
satellite communication systems to simple home
networking systems.

Figure: -A wireless network router for data


communication

10/19/2022 Embedded System 14


Data (Signal) Processing
• The data collected by embedded system may be
used for various kinds of signal processing.
• A digital hearing aid is a typical example of an
embedded system employing data processing.

10/19/2022 Embedded System 15


Monitoring
• All embedded products coming under the
medical domain are with monitoring functions
only!. They are used for determining the state of
some variables using input sensors.
• A very good example is the electro
cardiogram(ECG)machine for monitoring the
heart beat of patient.

10/19/2022 Embedded System 16


Control
• Embedded system with control functionalities
impose control over some variables according to
the input variables.
• A system with control functionality contains both
sensors and actuators.
• Sensors are inputs ports for capturing the
changes in environment variables or measuring
variable.
• Actuators are output ports controlled according
to the changes in input variable.
• Ex. An air conditioner
10/19/2022 Embedded System 17
QUALITY ATTRIBUTES OF EMBEDDED SYSTEM
• These are the attributes that together form the
deciding factor about the quality of an embedded
system.
• The two types of quality attributes are:-
Operational Quality Attributes.
1. These are attributes related to operation or
functioning of an embedded system. The way
an embedded system operates affects its overall
quality.

10/19/2022 Embedded System 18


Cont.
Non-Operational Quality Attributes.

1. These are attributes not related to operation


or functioning of an embedded system.
2. These are the attributes that are associated
with the embedded system before it can be
put in operation.

10/19/2022 Embedded System 19


Operational Attributes
Response
 Response is a measure of quickness of the
system.
 It gives you an idea about how fast your system is
tracking the input variables.
 Most of the embedded system demand fast
response which should be real-time.

10/19/2022 Embedded System 20


Cont.
Throughput
 Throughput deals with the efficiency of system.
 It can be defined as rate of production or process
of a defined process over a stated period of time.
 In case of card reader like the ones used in buses,
throughput means how much transaction the
reader can perform in a minute or hour or day.

10/19/2022 Embedded System 21


Cont.
Reliability
 Reliability is a measure of how much percentage
you rely upon the proper functioning of the system .
 Mean Time between failures and Mean Time To
Repair are terms used in defining system reliability.
 Mean Time between failures can be defined as the
average time the system is functioning before a
failure occurs.
 Mean time to repair can be defined as the average
time the system has spent in repairs.

10/19/2022 Embedded System 22


Cont.
Maintainability
• Maintainability deals with support and
maintenance to the end user or a client in case of
technical issues and product failures or on the
basis of a routine system checkup.
• It can be classified into two types
 Scheduled or Periodic Maintenance
 Maintenance to unexpected failure

10/19/2022 Embedded System 23


Cont.
Security
 Confidentiality, Integrity and Availability are three corner
stones of information security.
 Confidentiality deals with protection data from
unauthorized disclosure.
 Integrity gives protection from unauthorized modification.
 Availability gives protection from unauthorized user.
 Certain Embedded systems have to make sure they
conform to the security measures.
 Ex. An Electronic Safety Deposit Locker can be used only
with a pin number like a password.

10/19/2022 Embedded System 24


Cont.
Safety
Safety deals with the possible damage that can
happen to the operating person and environment
due to the breakdown of an embedded system or
due to the emission of hazardous materials from the
embedded products.

10/19/2022 Embedded System 25


Non Operational Attributes
Testability and Debug-ability
• It deals with how easily one can test his/her
design, application and by which mean he/she
can test it.
• In hardware testing the peripherals and total
hardware function in designed manner.
• Firmware testing is functioning in expected way.
• Debug-ability is means of debugging the product
as such for figuring out the probable sources that
create unexpected behavior in the total system.

10/19/2022 Embedded System 26


Cont.
Evolvability
For embedded system, the qualitative attribute
”Evolvability” refer to ease with which the
embedded product can be modified to take
advantage of new firmware or hardware technology.

10/19/2022 Embedded System 27


Cont.
Portability
• Portability is measured of ”system Independence”.
• An embedded product can be called portable if it is
capable of performing its operation as it is intended
to do in various environments irrespective of different
processor and or controller and embedded operating
systems.
Time to prototype and market
• Time to Market is the time elapsed between the
conceptualization of a product and time at which the
product is ready for selling or use
10/19/2022 Embedded System 28
Cont.
• Product prototyping help in reducing time to
market.
• Prototyping is an informal kind of rapid product
development in which important feature of the
under consider are develop.
• In order to shorten the time to prototype, make
use of all possible option like use of reuse, off the
self component etc.

10/19/2022 Embedded System 29


Cont.
Per unit and total cost
• Cost is an important factor which needs to be
carefully monitored. Proper market study and cost
benefit analysis should be carried out before taking
decision on the per unit cost of the embedded
product.
• When the product is introduced in the market, for
the initial period the sales and revenue will be low.
• There won’t be much competition when the
product sales and revenue increase.

10/19/2022 Embedded System 30


Chapter 2: Typical Embedded Systems
Outlines:
 Core of Embedded Systems
 Sensors and Actuators
 Communication Interfaces
 The I/O Subsystems
 Memory

10/19/2022 Embedded System 31


Core of the Embedded Systems
• Embedded systems are domain and application specific
and are built around a central core.
• The core of the embedded system falls into any one of
the following categories.
1. General Purpose and Domain Specific Processors
1.1 Microprocessors
1.2 Microcontrollers
1.3 Digital Signal Processors
2. Application Specific Integrated Circuits (ASICs)
3. Programmable Logic Devices (PLDs)
4. Commercial Of The Shelf Component (COTS)
10/19/2022 Embedded System 32
General Purpose and Domain Specific Processors

• Almost 80% of Embedded systems are


processor/Controller based.
• Most of the embedded system in the industrial control
and monitoring applications make use of the commonly
available microprocessors or microcontrollers.
• Signal processing such as speech coding, speech
reorganization, etc. make use of Digital signal
processors.
10/19/2022 Embedded System 33
Application Specific Integrated Circuits
(ASICs)
• Application Specific Integrated Circuits (ASICs)
is a micro chip designed to perform a specific
or unique application.
• It is used as replacement to conventional
general purpose logic chips.
• It integrates several functions into a single
chip and there by reduces the system
development cost.

10/19/2022 Embedded System 34


Programmable Logic Devices (PLDs)
• Logic devices provides specific functions, including
device to device interfacing, data communication, signal
processing, data display, timing & control operations.
• Logic devices are Fixed logic devices and Programmable
Logic devices.
• Fixed Logic devices are permanent they perform one
function or set of functions once manufactured, they
cannot be changed.
• Programmable Logic devices offer customers a wide
range of logic capacity, features, speed, and voltage
characteristics and these devices can be re-configured
to perform any tasks.

10/19/2022 Embedded System 35


Sensors and Actuators
 Sensor:- A sensor is a transducer device that
converts energy from one form to another
for any measurement or control purpose.
 Actuator:- Actuator is a form of transducer
device which converts signals to
corresponding physical action(motion).
Actuator act as output device
10/19/2022 Embedded System 36
COMMUNICATION INTERFACES
For any embedded system, the communication interfaces
can broadly classified into:
 Onboard Communication Interfaces
These are used for internal communication of the
embedded system.
 Common examples of onboard interfaces are:
 Inter Integrated Circuit (I2C)
 Serial Peripheral Interface (SPI)
 Universal Asynchronous Receiver Transmitter (UART)
 1-Wire Interface
 Parallel Interface

10/19/2022 Embedded System 37


Cont.

Example :Inter Integrated Circuit (I2C)


• It is synchronous
• Bi-directional, half duplex , two wire serial
interface bus

10/19/2022 Embedded System 38


Peripheral Communication Interfaces
• These are used for external communication of the embedded system

i.e: communication of different components present on the system

with external or peripheral components/devices.

• Common examples of external interfaces are:

 RS-232 C & RS-485

 Universal Serial Bus (USB)

 IEEE 1394 (Firewire)

 Infrared (IrDA) , Bluetooth , Wi-Fi & Zig Bee

 General Packet Radio Service (GPRS)

 Example: RS-232 C & RS-485


10/19/2022 Embedded System 39
The I/O Subsystem
 Example for some of the sensors and actuators
used in embedded systems.

10/19/2022 Embedded System 40


LED (Light Emitting Diode)
 It is an important output device for visual indications
in any embedded system.
 LED can be used as an indicator for the status of
various signals or situations.
 Typical examples are indicating the presence of
power conditions like ‘Device ON’, ‘Battery low’, or ‘
Charging of Battery’ for battery operated handheld
embedded devices.
10/19/2022 Embedded System 41
7 segment LED display
• It is an output device for displaying alpha numeric
characters.
• It contains 8 light emitting diode (LED) segments
arranged in a special form.
• Out of 8 LED segments 7 are used for displaying
alpha numeric characters and 1 LED is used for
representing ‘decimal point’ in decimal numbers.

10/19/2022 Embedded System 42


Optocoupler

10/19/2022 Embedded System 43


Cont.
On board Communication Interface or (Device/Board
level communication interface)
a) I2C Inter Integrated Circuit
b) SPI (Serial Communication Interface)

c) UART (Universal Asynchronous Rx and Tx)


d) 1-WIRE

e) Parallel Communication Interface

10/19/2022 Embedded System 44


I2C Inter Integrated Circuit

10/19/2022 Embedded System 45


SPI (Serial Communication Interface)

10/19/2022 Embedded System 46


UART (Universal Asynchronous Rx and Tx)

10/19/2022 Embedded System 47


1-WIRE

10/19/2022 Embedded System 48


Parallel Communication Interface

10/19/2022 Embedded System 49


Memory
I. Secondary Memory
II. Primary Memory
a) RAM
i. SRAM
ii. DRAM
b) ROM
i. PROM
ii. EPROM
c) Hybrid
i. EEPROM
ii. NVRAM
iii. Flash Memory
d) Cache Memory
e) Virtual Memory
10/19/2022 Embedded System 50
Characteristics of the various memory types

10/19/2022 Embedded System 51


Chapter 3: EMBEDDED FIRMWARE DESIGN
AND DEVELOPMENT
Content outlines:
 Embedded Firmware
 Introduction
 Embedded firmware design development
 Embedded firmware design approaches
Embedded firmware development
languages

10/19/2022 Embedded System 52


Embedded Firmware

 The control algorithm (Program instructions)


settings that an embedded system developer
dumps into the code (Program) memory of
the embedded system.
 It is an un-avoidable part of an embedded
system.

10/19/2022 Embedded System 53


Cont..
• The embedded firmware can be developed in
various methods like:
– Write the program in high level languages like

Embedded C/C++ using an IDE which will contain an

editor, compiler, linker, debugger, simulator etc.

– Write the program in Assembly Language using the

Instructions Supported by your application’s target

processor/controller.
10/19/2022 Embedded System 54
Cont.
Embedded Firmware Design & Development:
• The embedded firmware is responsible for
controlling the various peripherals of the
embedded hardware and generating response in
accordance with the functional requirements of
the product.
• The embedded firmware is the master brain of
the embedded system.
10/19/2022 Embedded System 55
Cont...

• The embedded firmware imparts intelligence


to an Embedded system.
• It is a onetime process and it can happen at
any stage.
• The product starts functioning properly once
the intelligence imparted to the product by
embedding the firmware in the hardware.
10/19/2022 Embedded System 56
Cont..
• The product will continue serving the
assigned task till hardware breakdown occurs
or a corruption in embedded firmware.
• In case of hardware breakdown , the
damaged component may need to be
replaced and for firmware corruptions the
firmware should be re-loaded.
10/19/2022 Embedded System 57
Cont..
• The embedded firmware is usually stored in a
permanent memory (ROM).
• Designing Embedded firmware requires
understanding of the particular embedded
product hardware, like:
– various component interfacing
– memory map details & I/O port details
– configuration and register details of various hardware
chips used & some programming languages
10/19/2022 Embedded System 58
Cont..
• There exist two basic approaches for the
design and implementation of embedded
firmware, namely;
– The Super loop based approach
– The Embedded Operating System based
approach
• The decision on which approach needs to be
adopted for firmware development is purely
dependent on the complexity and system
requirements.
10/19/2022 Embedded System 59
Cont..
The Super loop:
 Suitable for applications that are not time critical
and where the response time is not so important.
 It is very similar to a conventional procedural
programming where the code is executed task by
task.
 The tasks are executed in a never ending loop.
 The task listed on top of the program code is
executed first and the tasks just below the top are
executed after completing the first task

10/19/2022 Embedded System 60


Cont..
A typical super loop implementation will look like:
1.
Configure the common parameters and perform
initialization for various hardware components
memory, registers etc.

2.
Start the first task and execute it

3.
Execute the second task

4.
:

5.
:

6.
Execute the last defined task

7.
Jump back to the first task and follow the same flow.

10/19/2022 Embedded System 61


Cont..
• The ‘C’ program code for the super loop is given below
void main ()
{
Configurations ();
Initializations ();
while (1)
{
Task 1 ();
Task 2 ();
:
:
Task n ();
}
}
10/19/2022 Embedded System 62
Cont..

Embedded OS based Approach:


• The embedded device contains an Embedded
Operating System which can be one of:
– A Real Time Operating System (RTOS)
– A Customized General Purpose Operating System
(GPOS)

10/19/2022 Embedded System 63


Embedded firmware Development Languages

• Assembly Language

• High Level Language


– Subset of C (Embedded C)
– Subset of C++ (Embedded C++)
– Any other high level language with supported
Cross-compiler

• Mix of Assembly & High level Language


10/19/2022 Embedded System 64
Cont..
• ‘Assembly Language’ is the human readable
notation of ‘machine language’
• ‘Machine language’ is a processor understandable
language
• Machine language is a binary representation and it
consists of 1s and 0s.
• Assembly language and machine languages are
processor/controller dependent.
10/19/2022 Embedded System 65
Cont..
• The general format of an assembly language
instruction is an Opcode followed by Operands
• The Opcode tells the processor/controller what to
do and the Operands provide the data and
information required to perform the action
specified by the opcode
• It is not necessary that all opcode should have
Operands following them.
10/19/2022 Embedded System 66
Cont..
The 8051 Assembly Instruction

MOV A, #30
• Moves decimal value 30 to the 8051
Accumulator register. Here MOV A is the Opcode
and 30 is the operand (single operand).
• Each line of an assembly language program is
split into four fields as:
LABEL OPCODE OPERAND COMMENTS
10/19/2022 Embedded System 67
Cont..
Assembly Language – Source File to Hex File
Translation:

10/19/2022 Embedded System 68


Cont..
• The software program called linker/locater is
responsible for assigning absolute address to
object files during the linking process.
• A software utility called ‘Object to Hex file
converter’ translates the absolute object file
to corresponding hex file (binary file).

10/19/2022 Embedded System 69


Cont..
• Embedded firmware Development
Languages/Options – High Level Language –
Source File to Hex File Translation

10/19/2022 Embedded System 70


Cont..
• A software utility called ‘cross-compiler’
converts the high level language to target
processor specific machine code .

10/19/2022 Embedded System 71


Chapter-4: RTOS Based Embedded System
Design
• Introduction
• Operating System Basics
• Types of Operating System
• Integration and testing of embedded hardware
and firmware

10/19/2022 Embedded System 72


Introduction
• The super loop based task execution model for
firmware executes the tasks sequentially in order
in which the tasks are listed within the loop. Here
every task is repeated at regular intervals and the
task execution is non-real time.
• But, certain applications demand time critical
response to tasks/ events and delay in the
response may be catastrophic.
• Examples: Flight control systems, Air bag control,
Antilock Brake Systems (ABS) for vehicles, Nuclear
monitoring devices, etc.
10/19/2022 Embedded System 73
Cont.
• In embedded systems, the time critical
response for tasks/ events may be addressed
by :–
– Assigning priority to tasks and execute the high
priority task.
– Dynamically change the priorities of tasks, if
required on a need basis.
– The introduction of operating system based
firmware execution in embedded
– devices can address these needs to a greater extent.

10/19/2022 Embedded System 74


Operating System Basics
• The Operating System (OS) acts as a bridge
between the user applications/ tasks and the
underlying system resources through a set of
system functionalities and services.
• The primary functions of an operating systems
are –
– Make the system convenient to use
– Organize and manage the system resources
efficiently and correctly.

10/19/2022 Embedded System 75


Cont.
• The following Figure gives an insight into the
basic components of an operating system
and their interfaces with rest of the world.

10/19/2022 Embedded System 76


Cont.
The Kernel
• The kernel is the core of the operating system. It is
responsible for managing the system resources and the
communication among the hardware and other system
services.
• Kernel acts as the abstraction layer between system
resources and user applications.
• Kernel contains a set of system libraries and services.
• For a general purpose OS, the kernel contains different
services like memory management, process management,
time management, file system management, I/O system
management.

10/19/2022 Embedded System 77


Cont.
• Process Management: deals with managing the
process/ tasks.
• Process management includes –
– Setting up a memory for the process
– Loading process code into memory
– Allocating system resources
– Scheduling and managing the execution of the process
– Setting up and managing Process Control Block (PCB)
– Inter process communication and synchronization
– Process termination/ deletion, etc.

10/19/2022 Embedded System 78


Cont.
• Primary Memory Management: It Refers to a
volatile memory (RAM), where processes are
loaded and variables and shared data are stored.
• The Memory Management Unit (MMU) of the
kernel is responsible for :
– Keeping a track of which part of the memory area
is currently used by which process
– Allocating and De-allocating memory space on a
need basis.

10/19/2022 Embedded System 79


Cont.
• File System Management: File is a collection of related
information. A file could be a program (source code or
executable), text files, image files, word documents, audio/
video files, etc.
• A file system management service of kernel is responsible
for –
– The creation, deletion and alteration of files
– Creation, deletion, and alteration of directories
– Saving of files in the secondary storage memory
– Providing automatic allocation of file space based on the
amount of free running space available
– Providing flexible naming conversion for the files.

10/19/2022 Embedded System 80


Cont.
• I/O System (Device) Management: Kernel is responsible for
routing the I/O requests coming from different user
applications to the appropriate I/O devices of the system.
• In a well structured OS, direct access to I/O devices is not
allowed, but access to them is establish through Application
Programming Interface (API).
• The kernel maintains list of all the I/O devices of the system.
• "Device Manager" of the kernel is responsible for handling
all I/O related operations.
• The Device Manager is responsible for –
– Loading and unloading of device drivers
– Exchanging information and the system specific control signals
to and from the device.
10/19/2022 Embedded System 81
Cont.
• Secondary Storage Management: deals with managing the
secondary storage memory devices (if any) connected to the
system.
• Secondary memory is used as backup medium for programs
and data, as main memory is volatile.
• In most of the systems secondary storage is kept in disks (hard
disks).
• The secondary storage management service of kernel deals with –
– Disk storage allocation

– Disk scheduling

– Free disk space management

10/19/2022 Embedded System 82


Cont.
•Protection Systems: Modern operating systems are
designed in such way to support multiple users with
different levels of access permissions.

•The protection deals with implementing the security


policies to restrict the access of system resources and
particular user by different application or processes and
different user.

•Interrupt Handler: Kernel provides interrupt handler


mechanism for all external/ internal interrupt generated
by the system.
10/19/2022 Embedded System 83
Types of Operating Systems
• Depending on the type of kernel and kernel
services, purpose and type of computing system,
Operating Systems are classified into different
types
 General Purpose Operating Systems.
 Real Time Operating Systems.
General Purpose Operating Systems:
The operating systems, which are deployed in general
computing systems, are referred as GPOS. The GPOSs
are often quite non-deterministic in behavior.
Examples: Windows 10/ 8.x/ XP / MS-DOS
10/19/2022 Embedded System 84
Cont.
• Real Time implies deterministic in timing behavior.
• RTOS services consumes only known and expected
amounts of time regardless the number of services.
• RTOS implements policies and rules concerning
time-critical allocation of a system’s resources.
• RTOS decides which applications should run in
which order and how much time needs to be
allocated for each application.
 Examples: Windows Embedded Compact, QNX,
VxWorks MicroC /OS-II

10/19/2022 Embedded System 85


Cont.
• The Real-Time kernel: The kernel of a Real-Time OS is referred
as Real- Time kernel.
• The Real-Time kernel is highly specialized and it contains only
the minimal set of services required for running user
applications/ tasks.
• The basic functions of a Real-Time kernel are listed below:
– Task/ Process management
– Task/ Process scheduling
– Task/ Process synchronization
– Error/ Exception handling
– Memory management
– Interrupt handling
– Time management.
10/19/2022 Embedded System 86
Integration and testing of embedded
hardware and firmware
• Integration testing of the embedded hardware and
firmware is the immediate step following the embedded
hardware and firmware development.
• The final embedded hardware constitute of a PCB with all
necessary components affixed to it as per the original
schematic diagram.

10/19/2022 Embedded System 87


Cont..
• Embedded firmware represents the control algorithm
and configuration data necessary to implement the
product requirements on the product.

• Embedded firmware will be in a target processor/


controller understandable format called machine
language (sequence of ls and 0s-Binary).

• The target embedded hardware without embedding the


firmware is a dumb device and cannot function properly.
If you power up the hardware without embedding the
firmware, the device may behave in an unpredicted
manner.
10/19/2022 Embedded System 88
Cont..
 Both embedded hardware and firmware should be
independently tested (Unit Tested) to ensure their proper
functioning.
 Functioning of individual hardware sections can be done by
writing small utilities which checks the operation of the
specified part.
 The functionalities of embedded firmware can easily be
checked by the simulator environment provided by the
embedded firmware development tool's IDE.
 The IDE gives necessary support for simulating the
various inputs required from the external world, like
inputting data on ports, generating an interrupt
condition, etc.
10/19/2022 Embedded System 89
Cont..
• Integration of hardware and firmware deals with the
embedding of firmware into the target hardware
board. It is the process of “Embedding Intelligence”
to the product.

10/19/2022 Embedded System 90

You might also like