SlideShare a Scribd company logo
INTRODUCTION TO
EMBEDDED SYSTEMS
T.Ramprakash
AP/ECE
Ramco Institute of Technology
Rajapalayam
1
INTRODUCTION TO EMBEDDED SYSTEMS
• Introduction to Embedded Systems
• The Build process for embedded systems
• Structural units in Embedded processor
• Selection of processor
• Selection of Memory devices
2
INTRODUCTION TO EMBEDDED SYSTEMS
• DMA
• Memory management methods
• Timer and Counting devices
• Watchdog Timer
• Real Time Clock
• In circuit emulator
• Target Hardware Debugging. 3
What a Embedded System Is???
4
Examples Embedded System
5
Components in Embedded System
6
System
A system is a way of working, organizing or
doing one or many tasks, which are performed in
a system according to a fixed plan, program or
set or rules
7
General Computing System Components
• Microprocessor
• Large memory
• Input Units
• Out put Units
• Networking Units
• An Operating System
8
Embedded System
An embedded system is a system that has
embedded software in a computer hardware.
The system is dedicated for either an
application(s) or specific part of an application or
product or a component of a large system
Eg.
Washing machine
Cooking machine
Automative chocolate vending machines
Multitasking toys
9
Classification of Embedded System
i. Small Scale Embedded Systems
ii. Medium Scale Embedded Systems
iii. Sophisticated Embedded Systems
10
Embedded System Components
• It embeds Hardware similar to a computer
• Software usually embeds in the ROM, flash
memory or media card
• It embeds a Real Time Operation System
(RTOS)
11
Components of Embedded System
Hardware
12
Building Blocks of Embedded System
Hardware
• The Hardware consists of following building blocks
and devices:
• Power source
• Clock Oscillator and Clocking Units
• System Timer
• Real Time Cock
• Reset Circuit
• Power Up Reset
• Watchdog Timer Reset
• Memory
• I/O ports
• I/O buses
• I/O Interfaces
• DAC
• ADC 13
The Build Process
• The first step is selecting a processor
• The processor is selected from the following
considerations
– Instruction Set
– Maximum bits in an operand in an operation
– Clock frequency in MHz or GHz and the
processing speed in Million Instructions per
seconds
– Processor ability to solve the complex algorithms
used in meeting the deadlines for their processing
14
The Build Process
• The build process for embedding software
consists of the following steps
– Project file consisting of source file and library
files
– Compilation of the project files
– Linking all object files and locating onto a single
re-locatable object file
– Converting the object file in a form called hex-file
to binary image
15
The Build Process
16
Design Process in Embedded System
• Concepts used during Design process
– Abstraction
– Hardware and Software Architectures
– Extra Functional Properties
– System Related family of Designs
– Modular Design
– Mapping
– User Interfaces Design
– Refinements
17
Design Process in Embedded System
• Software Design Process
18
Design Process in Embedded System
• Design Metrics
– Power Dissipation
– Performance
– Process Deadlines
– User Interfaces
– Size
– Engineering Cost
– Manufacturing Cost
– Flexibility
– Prototype Development Time
– Time to Market
– System and User Safety
– Maintenance 19
Abstraction of Steps in Design Process
20
Structural Units in Embedded Processor
• Internal Buses:
– It internally connects all the structural units inside the processor.
– Its width can be 8,16,32 or 64 bits
• Address Bus
– It is the external bus that carries the address from the MAR to the memory as
well as the IO devices and the other units of the system
• Data Bus
– It is an external bus that carries the data from or to the address
• Control Bus
– It is an external bus to carry control signal between the processor and memory
devices
• Bus Interface Unit
– It is the interface unit between the processor’s internal units with the external
buses
• MAR:
– Memory Address Register
– It holds the address of the byte or word to be fetched from external memories
• MDR:
– It holds the byte or word fetched from/to external memory or I/O address
21
Structural Units in Embedded Processor
• Program Counter
– PC holds the memory address of the next instruction that would
be executed.
• Stack Pointer
– It is a pointer for an address which corresponds to stack top in
the memory
• Instruction Register
– It takes sequentially the instruction codes to the execution unit
of the processor
• Instruction Decoder
– It decodes the instruction opcode received at the IR passes it to
the processor CU
• Instruction Queue
– It is the queue of instruction so that the IR does not have to wait
for the next instruction after one has been carried out
22
Structural Units in Embedded Processor
• Arithmetic and Logical Unit
– It is a unit to execute arithmetic and logical instruction
according to the current instruction present in the IR
• Floating Point Processing Unit (FPPU)
– A unit separate from ALU for floating point processing
which is essential in processing mathematical
functions fast in a microprocessor or DSP
• Floating Point Register Set(FPRS):
– A register set dedicated for storing floating point
number in a standard format and used by FPPU for its
data and stack
23
Structural Units in Embedded Processor
• Control Unit
– It controls all the bus activities and unit functions
needed for processing
• Memory management Unit (MMU)
– It manages the memory such that instruction and
data are readily available for processing
• Application Register Set
– It is set of on-chip registers used during processing
the instruction of the application program of the
user
24
Structural Units in Embedded Processor
• Instruction Cache
– It sequentially store s, like an Instruction queue, the
instructions in FIFO.
• Data Cache
– It stores the pre-fetched data from the external
memory
– The data cache generally holds both the key and the
value together at the location
• Pre-Fetch Control Unit
– It is the unit that controls the prefetching of data into
the I-Cache and D-Cache in advance from the memory
units
– The instruction and data are delivered when needed
to the processor’s execution unit
25
Structural Units in Embedded Processor
• Register Window
– A register window consists of a subset of registers
with each subset storing static variables and status
words of a task or program thread.
• Advanced processing Unit
– These are units used for multi stage pipeline
processing, multiline superscalar processing to obtain
processing speed higher that one instruction per
clock cycle
• Atomic Operations Unit (AOU ):
– It lets a user instruction when broken into number of
processor instruction called atomic operation, finish
before an interrupt of a process occurs. 26
Structural Units in Embedded Processor
27
Embedded System Characteristics
• System functions in real time
• Program is preloaded in the ROM(s) or flash
memory
• Dedicated set of functions
• Complex dedicated purpose preprogrammed
– algorithms
– Hardware
– Graphics and Other user interfaces
• Multirate operations with different
predetermined time constraints to finish the
different operations 28
Constraints of Embedded Systems
• Available System Memory
• Available Processor Speed
• Meeting Deadlines
• Performance
• Power
• Size
• Design and Manufacturing Cost 29
Selection of Processor
• Different systems require different processor
features
• The processor is selected from the following
considerations
– Instruction Set
– Maximum bits in an operand in an operation
– Processing Speed
– Ability to solve the complex algorithms
– A processor gives high computing performance when
it has
• Pipeline and Superscalar architecture
• Pre-fetch cache unit, caches, register files and MMU
• RISC core architecture 30
Selection of Processor
– A processor with register windows provides fast
context switching in a multitasking system
– Processor has auto shut down features for its
units
– A processor with burst mode accesses external
memories fast
31
Selection of Memory Devices
• Software designer coding is over and the ROM
image file is ready, a hardware designer of a
system is faced with the a questions, of
– what type of memory ?
– what to use?
– how much size of each, should be to used???
32
Selection of Memory Devices
• Some of the selection process is,
– Internal ROM
– Internal EPROM
– Internal EEPROM
– Internal RAM
– ROM Device
– EPROM Device
– EEPROM Device
– Flash Device
– RAM device
– Parameterized Distributed RAM
– Parameterized Block RAM 33
Selection of Memory Devices
• Masked ROM or EPROM stores the embedded
software
• EEPROM is used for testing and design stages
and also is used to store the results during the
system program run time
• Flash stores the results byte by byte during a
system run after a full sector erase
• RAM is mostly used in SRAM form in a system
• Sophisticated system use RAM in the form of
DRAM, SDRAM or RDRAM
• Parameterized distributed RAM is used when the
I/O devices and subunits require a memory buffer
and a fast write by another system 34
DMA
• I/O devices need to transfer the data of other
systems to the memory addresses in the
system
• A system may also need to transfer data to the
IO devices
• A Direct Memory Access is required when a
block of data is to be transferred between two
systems without the CPU intervening, except
at the start and at the end
35
DMA
36
DMA
• DMA supports 3 modes of operations
– Single transfer at a time and then release of the
hold on the system bus
– Burst transfer at a time and then release of the
hold on the system bus. A burst may be a few Kilo
Bytes
– Bulk transfer and then release of the hold on the
system bus after the transfer is completed
37
DMAC
• DMA transfer is facilitated by the DMAC (DMA
Controller)
• Data transfer occurs efficiently between I/O
devices and system memory with the least
processor intervention using DMAC
• The system address and data buses become
unavailable to the processor and available to the
IO device that connects DMAC 38
DMA
A typical DMA controller includes three
registers
Starting Address Register
Length Register
Status Register
39
DMA
40
DMAC
41
Memory Management Methods
42
Memory Management Methods
How MMU works
Keep track of what part of memory are in use
Allocate memory to processes when needed
De-allocate when processes are done
Swapping or Paging between main memory and
disk
43
Memory Management Methods
44
Memory Management Methods
In general, memory management
responsibilities include:
• Managing the mapping between logical memory
and task memory references
• Determining which processes to load in to the
available memory space
• Allocating and de-allocating of memory for
processes that make up the system
• Tracking the memory usage of system
components
• Ensuring process memory protection 45
User Memory Space
Because multiple processes are sharing the
same physical memory when being loaded
into RAM for processing, there also must be
some protection mechanism so processes
cannot unintentionally affect each other when
being swapped in and out of a single physical
memory space
These issues are typically resolved by the OS
through “memory swapping” where partitions
of memory are swapped at run time.
46
User Memory Space
Memory Swapping
47
User Memory Space
48
Segmentation
A process encapsulates all the information that is
involved in executing a program, including source
code, stack and data.
All of the different types of information within a
process are divided into logical memory units of
variable sizes called SEGMENTS
Most OS typically allow processes to have all or
some combination of five types of information
within segments such as
Code Segment
Data Segment
Block started by Symbol
Stack Segment
Heap Segment
49
Typical Memory Allocation Schemes include:
First Fit
It scans from the beginning for the first ‘Hole’ that is
large enough
Next Fit
It scans from where the last search ended for the next
‘Hole’ that is large enough
Best Fit
It scans the entire list for the hole that best fits the
new data
Worst Fit
It places data in the largest available “hole”
Quick Fit
Here, list is kept with memory sizes. Allocation is done
from this information 50
Memory Management Functions
• Allocation and De-allocation
• Dynamic Blocks Allocation
• Memory Protection to the OS functions
• Memory Protection among the Tasks
• Multiprocessor Memory Allocation
51
Timer and Counting Devices
52
Timer and Counting Devices
• Timer Device
– A timer device is a device which counts the input
at the regular interval of the clock pulses
– The count are stored and incremented on each
pulse
– The timer gives output bits for the present counts
– The counts multiplied by the interval give the
time
– It has a input pin for resetting it for all count
bits = 0s
– It has an output pin for output when all counts
bits =0s after reaching the maximum value 53
Timer States
54
Timer and Counting Devices
• Counting Devices
– A counting device is a device which counts the
input due to the events at irregular or regular
intervals
– The counts give the number of input events or
pulses since it was last read
– Has a register to enable read of present counts
– Functions as timer when counting regular interval
clock pulses
– When a timer or counter becomes 0x00 or 0x0000
after 0xFF or 0xFFFF (maximum value), it can
generate an ‘interrupt’, or an output ‘Time-Out’
or set a status bit ‘TOV’ 55
Hardware Timer
56
Hardware Timer
• Control Bits are of 9 types,
I. Timer Enable (To activate a timer)
II. Timer start (to start counting at each clock input)
III. Timer stop (to stop counting)
IV. Pre-scaling Bits (to divide the clock out frequency signal from
the processor)
V. Up count Enable (To enable counting up by incrementing the
count value on each clock input)
VI. Down count enable (to decrement on a clock input)
VII. Load enable (To enable loading of a value at a register into the
timer)
VIII.Timer Interrupt Enable (To enable interrupt when the timer
count value reaches 0)
IX. Time out enable (To enable a signal when the timer overflows)57
Free running Counter
• A counting device may be a free running (blind
counting) device giving overflow interrupts at fixed
intervals
• A pre-scalar for the clock input pulses to fix the
intervals
58
Control bits, Status flags and variables of a
software timer
59
Uses of a timer device
• Initiating an event after a comparison(s) with
between the pre-set time with counted value.
• Watchdog timer - It resets the system after a
defined time
• Input pulse counting when using a timer,
which is ticked by giving non-periodic inputs
instead of the clock inputs.
60
Watchdog Timers
• A watchdog timer is a timing device that is set
for a preset time interval and a set of task
must finish during that intervals, or else the
device will generate the timeout signal for the
failure to finish the given task in the watched
time interval.
61
Real Time Clocks
• A clock, which is based on the interrupts at
pre-set intervals.
• An interrupt service routine executes on each
timeout (overflow) of this clock.
• This timing device once started never resets
or never reloaded with another value.
• Once it is set, it is not modified later.
• Used in a system to save the time and date.
• Used in a system to initiate return of control
to the system (OS) after the set system clock
periods
62
In Circuit Emulator
63
In Circuit Emulator
• Circuit for emulating target system remains
independent of a particular targeted system
and processor
64
In Circuit Emulator
• A circuit for emulating target system remains
independent of a particular targeted system
and processor
• Emulator or ICE provides great flexibility and
ease for developing various applications on a
single system in place of testing that multiple
targeted systems.
65
An Emulator
66
In Circuit Emulator
67
Emulator
• Emulates MCU inputs from sensors
• Emulates controlled outputs for the peripheral
interfaces/systems
• Emulates target MCU IOs and socket to
connect externally MCU
68
ICE
• Means In-Circuit Emulator
• Interface COM port of a computer
• Emulates target MCU IOs
• ICE socket connects MCU externally
• Uses computer developed object files and hex
files for the MCU
• Uses debugger at the computer developed
files for the MCU application
69
Target Hardware Debugging
70
Host-Target System Development Approach
• During development process, a host system is
used
• Then locating and burning the codes in the
target board.
• Target board hardware and software later
copied to get the final embedded system
• Final system functions exactly as the one
tested and debugged and finalized during the
development process
71
Host System (PC or Laptop or Workstation)
• High performance processor with caches, large
RAM memory
• ROMBIOS (read only memory basic input-output
system)
• Very large memory on disk
• Keyboard
• Display monitor
• Mice
• Network connection
• Program development kit for a high level
language program or IDE
• Host processor compiler and Cross Compiler
• Cross assembler 72
Program Development Tool Kit at host
• Program development tool kit or IDE
• Editor─ used for writing C codes or assembly
mnemonics or C++ or Java or Visual C++ using
the keyboard of the host system (PC) for
entering the program.
• Using GUIs for allowing the entry, addition,
deletion, insert, appending previously written
lines or files, merging record and files at the
specific positions.
73
Program Development Tool Kit at host
• Create source file that stores the edited file.
• File given an appropriate name by the
programmer
• Can use previously created files
• Can also integrate the various source files.
• Can save different versions of the source files.
• Compiler, cross compiler, assembler, cross
assembler 74
Target System
75
Sophisticated Target System
76
Sophisticated Target System
• Target system differs from a final system
• Target system interfaces with the computer as
well as works as a standalone system
• In target system might be repeated downloading
of the codes during the development phase.
• Target system copy made that later on functions
as embedded system
• Designer later on simply copies it into final
system or product.
• Final system may employs ROM in place of flash,
EEPROM or EPROM in embedded system. 77
INTRODUCTION TO EMBEDDED SYSTEMS
• Introduction to Embedded Systems
• The Build process for embedded systems (2)
• Structural units in Embedded processor(2)
• Selection of processor(1)
• Selection of Memory devices (1)
78
Reference
1. Rajkamal, ‘Embedded System-Architecture,
Programming, Design’, Mc Graw Hill, 2013.
2. Peckol, “Embedded system Design”, John Wiley &
Sons, 2010.
3. Lyla B Das,” Embedded Systems-An Integrated
Approach”, Pearson, 2013.
79
Ad

More Related Content

What's hot (20)

ARM Processors
ARM ProcessorsARM Processors
ARM Processors
Mathivanan Natarajan
 
Design challenges in embedded systems
Design challenges in embedded systemsDesign challenges in embedded systems
Design challenges in embedded systems
mahalakshmimalini
 
Hardware Software Codesign
Hardware Software CodesignHardware Software Codesign
Hardware Software Codesign
destruck
 
ARM CORTEX M3 PPT
ARM CORTEX M3 PPTARM CORTEX M3 PPT
ARM CORTEX M3 PPT
Gaurav Verma
 
Digital signal processor architecture
Digital signal processor architectureDigital signal processor architecture
Digital signal processor architecture
komal mistry
 
TMS320C5x
TMS320C5xTMS320C5x
TMS320C5x
DeekshithaReddy23
 
8257 DMA Controller
8257 DMA Controller8257 DMA Controller
8257 DMA Controller
ShivamSood22
 
EE6602 Embedded System
EE6602 Embedded SystemEE6602 Embedded System
EE6602 Embedded System
rmkceteee
 
Arm processor
Arm processorArm processor
Arm processor
SHREEHARI WADAWADAGI
 
Communication Interface of The Embedded Systems
Communication Interface of The Embedded Systems Communication Interface of The Embedded Systems
Communication Interface of The Embedded Systems
VijayKumar5738
 
ARM Architecture
ARM ArchitectureARM Architecture
ARM Architecture
Dwight Sabio
 
System On Chip (SOC)
System On Chip (SOC)System On Chip (SOC)
System On Chip (SOC)
Shivam Gupta
 
8086 micro processor
8086 micro processor8086 micro processor
8086 micro processor
Poojith Chowdhary
 
ARM - Advance RISC Machine
ARM - Advance RISC MachineARM - Advance RISC Machine
ARM - Advance RISC Machine
EdutechLearners
 
Embedded system introduction
Embedded system introductionEmbedded system introduction
Embedded system introduction
RajalakshmiSermadurai
 
Embedded system design process
Embedded system design processEmbedded system design process
Embedded system design process
RAMESHBABU311293
 
Classification of embedded systems
Classification of embedded systemsClassification of embedded systems
Classification of embedded systems
Vikas Dongre
 
Microprocessor 8085 complete
Microprocessor 8085 completeMicroprocessor 8085 complete
Microprocessor 8085 complete
Shubham Singh
 
SOC Processors Used in SOC
SOC Processors Used in SOCSOC Processors Used in SOC
SOC Processors Used in SOC
Dr. A. B. Shinde
 
8051 instruction set
8051 instruction set8051 instruction set
8051 instruction set
Andri Prastiyo
 
Design challenges in embedded systems
Design challenges in embedded systemsDesign challenges in embedded systems
Design challenges in embedded systems
mahalakshmimalini
 
Hardware Software Codesign
Hardware Software CodesignHardware Software Codesign
Hardware Software Codesign
destruck
 
Digital signal processor architecture
Digital signal processor architectureDigital signal processor architecture
Digital signal processor architecture
komal mistry
 
8257 DMA Controller
8257 DMA Controller8257 DMA Controller
8257 DMA Controller
ShivamSood22
 
EE6602 Embedded System
EE6602 Embedded SystemEE6602 Embedded System
EE6602 Embedded System
rmkceteee
 
Communication Interface of The Embedded Systems
Communication Interface of The Embedded Systems Communication Interface of The Embedded Systems
Communication Interface of The Embedded Systems
VijayKumar5738
 
System On Chip (SOC)
System On Chip (SOC)System On Chip (SOC)
System On Chip (SOC)
Shivam Gupta
 
ARM - Advance RISC Machine
ARM - Advance RISC MachineARM - Advance RISC Machine
ARM - Advance RISC Machine
EdutechLearners
 
Embedded system design process
Embedded system design processEmbedded system design process
Embedded system design process
RAMESHBABU311293
 
Classification of embedded systems
Classification of embedded systemsClassification of embedded systems
Classification of embedded systems
Vikas Dongre
 
Microprocessor 8085 complete
Microprocessor 8085 completeMicroprocessor 8085 complete
Microprocessor 8085 complete
Shubham Singh
 
SOC Processors Used in SOC
SOC Processors Used in SOCSOC Processors Used in SOC
SOC Processors Used in SOC
Dr. A. B. Shinde
 

Similar to Introduction to embedded systems (20)

Introduction to embedded system
Introduction to embedded systemIntroduction to embedded system
Introduction to embedded system
Revathi Subramaniam
 
Chapter1 Computer System Overview Part-1.ppt
Chapter1 Computer System Overview Part-1.pptChapter1 Computer System Overview Part-1.ppt
Chapter1 Computer System Overview Part-1.ppt
ShikhaManrai1
 
Cpu
CpuCpu
Cpu
abinarkt
 
Chapter1 Computer System Overview.ppt
Chapter1 Computer System Overview.pptChapter1 Computer System Overview.ppt
Chapter1 Computer System Overview.ppt
ShikhaManrai1
 
Computer !
Computer !Computer !
Computer !
Usman Shah
 
3rd the cpu
3rd the cpu3rd the cpu
3rd the cpu
Dianna Manalo
 
Chap4.ppt
Chap4.pptChap4.ppt
Chap4.ppt
SaniyaSultana9
 
The Central Processing Unit(CPU) for Chapter 4
The Central Processing Unit(CPU) for Chapter 4The Central Processing Unit(CPU) for Chapter 4
The Central Processing Unit(CPU) for Chapter 4
MKKhaing
 
Chap4.ppt
Chap4.pptChap4.ppt
Chap4.ppt
mvpk14486
 
Chap4.ppt
Chap4.pptChap4.ppt
Chap4.ppt
Praches1
 
Unit 1 processormemoryorganisation
Unit 1 processormemoryorganisationUnit 1 processormemoryorganisation
Unit 1 processormemoryorganisation
Karunamoorthy B
 
Unit 2 processor&memory-organisation
Unit 2 processor&memory-organisationUnit 2 processor&memory-organisation
Unit 2 processor&memory-organisation
Pavithra S
 
Chapter4 Data Processing
Chapter4 Data ProcessingChapter4 Data Processing
Chapter4 Data Processing
Muhammad Waqas
 
Chapter01 (1).ppt
Chapter01 (1).pptChapter01 (1).ppt
Chapter01 (1).ppt
AvadhRakholiya3
 
ch1.pptx
ch1.pptxch1.pptx
ch1.pptx
berekethailu2
 
5120224.ppt
5120224.ppt5120224.ppt
5120224.ppt
dedanndege
 
Cao u1
Cao u1Cao u1
Cao u1
vishnu murthy
 
Computer Architecture and Organization CAO
Computer Architecture and Organization CAOComputer Architecture and Organization CAO
Computer Architecture and Organization CAO
AnsariArfat
 
EC 308 Embedded Systems Module 1 Notes APJKTU
EC 308 Embedded Systems Module 1 Notes APJKTUEC 308 Embedded Systems Module 1 Notes APJKTU
EC 308 Embedded Systems Module 1 Notes APJKTU
Agi George
 
CISSP - Chapter 3 - CPU Architecture
CISSP - Chapter 3 - CPU ArchitectureCISSP - Chapter 3 - CPU Architecture
CISSP - Chapter 3 - CPU Architecture
Karthikeyan Dhayalan
 
Chapter1 Computer System Overview Part-1.ppt
Chapter1 Computer System Overview Part-1.pptChapter1 Computer System Overview Part-1.ppt
Chapter1 Computer System Overview Part-1.ppt
ShikhaManrai1
 
Chapter1 Computer System Overview.ppt
Chapter1 Computer System Overview.pptChapter1 Computer System Overview.ppt
Chapter1 Computer System Overview.ppt
ShikhaManrai1
 
The Central Processing Unit(CPU) for Chapter 4
The Central Processing Unit(CPU) for Chapter 4The Central Processing Unit(CPU) for Chapter 4
The Central Processing Unit(CPU) for Chapter 4
MKKhaing
 
Unit 1 processormemoryorganisation
Unit 1 processormemoryorganisationUnit 1 processormemoryorganisation
Unit 1 processormemoryorganisation
Karunamoorthy B
 
Unit 2 processor&memory-organisation
Unit 2 processor&memory-organisationUnit 2 processor&memory-organisation
Unit 2 processor&memory-organisation
Pavithra S
 
Chapter4 Data Processing
Chapter4 Data ProcessingChapter4 Data Processing
Chapter4 Data Processing
Muhammad Waqas
 
Computer Architecture and Organization CAO
Computer Architecture and Organization CAOComputer Architecture and Organization CAO
Computer Architecture and Organization CAO
AnsariArfat
 
EC 308 Embedded Systems Module 1 Notes APJKTU
EC 308 Embedded Systems Module 1 Notes APJKTUEC 308 Embedded Systems Module 1 Notes APJKTU
EC 308 Embedded Systems Module 1 Notes APJKTU
Agi George
 
CISSP - Chapter 3 - CPU Architecture
CISSP - Chapter 3 - CPU ArchitectureCISSP - Chapter 3 - CPU Architecture
CISSP - Chapter 3 - CPU Architecture
Karthikeyan Dhayalan
 
Ad

More from RAMPRAKASHT1 (10)

Introduction to arm processor
Introduction to arm processorIntroduction to arm processor
Introduction to arm processor
RAMPRAKASHT1
 
Embedded computing platform design
Embedded computing platform designEmbedded computing platform design
Embedded computing platform design
RAMPRAKASHT1
 
Block ciphers & public key cryptography
Block ciphers & public key cryptographyBlock ciphers & public key cryptography
Block ciphers & public key cryptography
RAMPRAKASHT1
 
Special semiconductor devices
Special semiconductor devicesSpecial semiconductor devices
Special semiconductor devices
RAMPRAKASHT1
 
Semiconductor diode
Semiconductor diodeSemiconductor diode
Semiconductor diode
RAMPRAKASHT1
 
Peripherals and interfacing
Peripherals  and interfacingPeripherals  and interfacing
Peripherals and interfacing
RAMPRAKASHT1
 
System design techniques and networks
System design techniques and networksSystem design techniques and networks
System design techniques and networks
RAMPRAKASHT1
 
Processes and operating systems
Processes and operating systemsProcesses and operating systems
Processes and operating systems
RAMPRAKASHT1
 
Introduction to pic microcontroller
Introduction to pic microcontrollerIntroduction to pic microcontroller
Introduction to pic microcontroller
RAMPRAKASHT1
 
Introduction to embedded computing and arm processors
Introduction to embedded computing and arm processorsIntroduction to embedded computing and arm processors
Introduction to embedded computing and arm processors
RAMPRAKASHT1
 
Introduction to arm processor
Introduction to arm processorIntroduction to arm processor
Introduction to arm processor
RAMPRAKASHT1
 
Embedded computing platform design
Embedded computing platform designEmbedded computing platform design
Embedded computing platform design
RAMPRAKASHT1
 
Block ciphers & public key cryptography
Block ciphers & public key cryptographyBlock ciphers & public key cryptography
Block ciphers & public key cryptography
RAMPRAKASHT1
 
Special semiconductor devices
Special semiconductor devicesSpecial semiconductor devices
Special semiconductor devices
RAMPRAKASHT1
 
Semiconductor diode
Semiconductor diodeSemiconductor diode
Semiconductor diode
RAMPRAKASHT1
 
Peripherals and interfacing
Peripherals  and interfacingPeripherals  and interfacing
Peripherals and interfacing
RAMPRAKASHT1
 
System design techniques and networks
System design techniques and networksSystem design techniques and networks
System design techniques and networks
RAMPRAKASHT1
 
Processes and operating systems
Processes and operating systemsProcesses and operating systems
Processes and operating systems
RAMPRAKASHT1
 
Introduction to pic microcontroller
Introduction to pic microcontrollerIntroduction to pic microcontroller
Introduction to pic microcontroller
RAMPRAKASHT1
 
Introduction to embedded computing and arm processors
Introduction to embedded computing and arm processorsIntroduction to embedded computing and arm processors
Introduction to embedded computing and arm processors
RAMPRAKASHT1
 
Ad

Recently uploaded (20)

Value Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous SecurityValue Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous Security
Marc Hornbeek
 
Structural Response of Reinforced Self-Compacting Concrete Deep Beam Using Fi...
Structural Response of Reinforced Self-Compacting Concrete Deep Beam Using Fi...Structural Response of Reinforced Self-Compacting Concrete Deep Beam Using Fi...
Structural Response of Reinforced Self-Compacting Concrete Deep Beam Using Fi...
Journal of Soft Computing in Civil Engineering
 
IntroSlides-April-BuildWithAI-VertexAI.pdf
IntroSlides-April-BuildWithAI-VertexAI.pdfIntroSlides-April-BuildWithAI-VertexAI.pdf
IntroSlides-April-BuildWithAI-VertexAI.pdf
Luiz Carneiro
 
five-year-soluhhhhhhhhhhhhhhhhhtions.pdf
five-year-soluhhhhhhhhhhhhhhhhhtions.pdffive-year-soluhhhhhhhhhhhhhhhhhtions.pdf
five-year-soluhhhhhhhhhhhhhhhhhtions.pdf
AdityaSharma944496
 
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptxExplainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
MahaveerVPandit
 
Level 1-Safety.pptx Presentation of Electrical Safety
Level 1-Safety.pptx Presentation of Electrical SafetyLevel 1-Safety.pptx Presentation of Electrical Safety
Level 1-Safety.pptx Presentation of Electrical Safety
JoseAlbertoCariasDel
 
Compiler Design Unit1 PPT Phases of Compiler.pptx
Compiler Design Unit1 PPT Phases of Compiler.pptxCompiler Design Unit1 PPT Phases of Compiler.pptx
Compiler Design Unit1 PPT Phases of Compiler.pptx
RushaliDeshmukh2
 
Artificial Intelligence (AI) basics.pptx
Artificial Intelligence (AI) basics.pptxArtificial Intelligence (AI) basics.pptx
Artificial Intelligence (AI) basics.pptx
aditichinar
 
MAQUINARIA MINAS CEMA 6th Edition (1).pdf
MAQUINARIA MINAS CEMA 6th Edition (1).pdfMAQUINARIA MINAS CEMA 6th Edition (1).pdf
MAQUINARIA MINAS CEMA 6th Edition (1).pdf
ssuser562df4
 
QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)
rccbatchplant
 
theory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptxtheory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptx
sanchezvanessa7896
 
new ppt artificial intelligence historyyy
new ppt artificial intelligence historyyynew ppt artificial intelligence historyyy
new ppt artificial intelligence historyyy
PianoPianist
 
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptxLidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
RishavKumar530754
 
Data Structures_Introduction to algorithms.pptx
Data Structures_Introduction to algorithms.pptxData Structures_Introduction to algorithms.pptx
Data Structures_Introduction to algorithms.pptx
RushaliDeshmukh2
 
some basics electrical and electronics knowledge
some basics electrical and electronics knowledgesome basics electrical and electronics knowledge
some basics electrical and electronics knowledge
nguyentrungdo88
 
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITYADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ijscai
 
Machine learning project on employee attrition detection using (2).pptx
Machine learning project on employee attrition detection using (2).pptxMachine learning project on employee attrition detection using (2).pptx
Machine learning project on employee attrition detection using (2).pptx
rajeswari89780
 
introduction to machine learining for beginers
introduction to machine learining for beginersintroduction to machine learining for beginers
introduction to machine learining for beginers
JoydebSheet
 
RICS Membership-(The Royal Institution of Chartered Surveyors).pdf
RICS Membership-(The Royal Institution of Chartered Surveyors).pdfRICS Membership-(The Royal Institution of Chartered Surveyors).pdf
RICS Membership-(The Royal Institution of Chartered Surveyors).pdf
MohamedAbdelkader115
 
211421893-M-Tech-CIVIL-Structural-Engineering-pdf.pdf
211421893-M-Tech-CIVIL-Structural-Engineering-pdf.pdf211421893-M-Tech-CIVIL-Structural-Engineering-pdf.pdf
211421893-M-Tech-CIVIL-Structural-Engineering-pdf.pdf
inmishra17121973
 
Value Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous SecurityValue Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous Security
Marc Hornbeek
 
IntroSlides-April-BuildWithAI-VertexAI.pdf
IntroSlides-April-BuildWithAI-VertexAI.pdfIntroSlides-April-BuildWithAI-VertexAI.pdf
IntroSlides-April-BuildWithAI-VertexAI.pdf
Luiz Carneiro
 
five-year-soluhhhhhhhhhhhhhhhhhtions.pdf
five-year-soluhhhhhhhhhhhhhhhhhtions.pdffive-year-soluhhhhhhhhhhhhhhhhhtions.pdf
five-year-soluhhhhhhhhhhhhhhhhhtions.pdf
AdityaSharma944496
 
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptxExplainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
MahaveerVPandit
 
Level 1-Safety.pptx Presentation of Electrical Safety
Level 1-Safety.pptx Presentation of Electrical SafetyLevel 1-Safety.pptx Presentation of Electrical Safety
Level 1-Safety.pptx Presentation of Electrical Safety
JoseAlbertoCariasDel
 
Compiler Design Unit1 PPT Phases of Compiler.pptx
Compiler Design Unit1 PPT Phases of Compiler.pptxCompiler Design Unit1 PPT Phases of Compiler.pptx
Compiler Design Unit1 PPT Phases of Compiler.pptx
RushaliDeshmukh2
 
Artificial Intelligence (AI) basics.pptx
Artificial Intelligence (AI) basics.pptxArtificial Intelligence (AI) basics.pptx
Artificial Intelligence (AI) basics.pptx
aditichinar
 
MAQUINARIA MINAS CEMA 6th Edition (1).pdf
MAQUINARIA MINAS CEMA 6th Edition (1).pdfMAQUINARIA MINAS CEMA 6th Edition (1).pdf
MAQUINARIA MINAS CEMA 6th Edition (1).pdf
ssuser562df4
 
QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)
rccbatchplant
 
theory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptxtheory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptx
sanchezvanessa7896
 
new ppt artificial intelligence historyyy
new ppt artificial intelligence historyyynew ppt artificial intelligence historyyy
new ppt artificial intelligence historyyy
PianoPianist
 
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptxLidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
RishavKumar530754
 
Data Structures_Introduction to algorithms.pptx
Data Structures_Introduction to algorithms.pptxData Structures_Introduction to algorithms.pptx
Data Structures_Introduction to algorithms.pptx
RushaliDeshmukh2
 
some basics electrical and electronics knowledge
some basics electrical and electronics knowledgesome basics electrical and electronics knowledge
some basics electrical and electronics knowledge
nguyentrungdo88
 
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITYADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ijscai
 
Machine learning project on employee attrition detection using (2).pptx
Machine learning project on employee attrition detection using (2).pptxMachine learning project on employee attrition detection using (2).pptx
Machine learning project on employee attrition detection using (2).pptx
rajeswari89780
 
introduction to machine learining for beginers
introduction to machine learining for beginersintroduction to machine learining for beginers
introduction to machine learining for beginers
JoydebSheet
 
RICS Membership-(The Royal Institution of Chartered Surveyors).pdf
RICS Membership-(The Royal Institution of Chartered Surveyors).pdfRICS Membership-(The Royal Institution of Chartered Surveyors).pdf
RICS Membership-(The Royal Institution of Chartered Surveyors).pdf
MohamedAbdelkader115
 
211421893-M-Tech-CIVIL-Structural-Engineering-pdf.pdf
211421893-M-Tech-CIVIL-Structural-Engineering-pdf.pdf211421893-M-Tech-CIVIL-Structural-Engineering-pdf.pdf
211421893-M-Tech-CIVIL-Structural-Engineering-pdf.pdf
inmishra17121973
 

Introduction to embedded systems

  • 1. INTRODUCTION TO EMBEDDED SYSTEMS T.Ramprakash AP/ECE Ramco Institute of Technology Rajapalayam 1
  • 2. INTRODUCTION TO EMBEDDED SYSTEMS • Introduction to Embedded Systems • The Build process for embedded systems • Structural units in Embedded processor • Selection of processor • Selection of Memory devices 2
  • 3. INTRODUCTION TO EMBEDDED SYSTEMS • DMA • Memory management methods • Timer and Counting devices • Watchdog Timer • Real Time Clock • In circuit emulator • Target Hardware Debugging. 3
  • 4. What a Embedded System Is??? 4
  • 7. System A system is a way of working, organizing or doing one or many tasks, which are performed in a system according to a fixed plan, program or set or rules 7
  • 8. General Computing System Components • Microprocessor • Large memory • Input Units • Out put Units • Networking Units • An Operating System 8
  • 9. Embedded System An embedded system is a system that has embedded software in a computer hardware. The system is dedicated for either an application(s) or specific part of an application or product or a component of a large system Eg. Washing machine Cooking machine Automative chocolate vending machines Multitasking toys 9
  • 10. Classification of Embedded System i. Small Scale Embedded Systems ii. Medium Scale Embedded Systems iii. Sophisticated Embedded Systems 10
  • 11. Embedded System Components • It embeds Hardware similar to a computer • Software usually embeds in the ROM, flash memory or media card • It embeds a Real Time Operation System (RTOS) 11
  • 12. Components of Embedded System Hardware 12
  • 13. Building Blocks of Embedded System Hardware • The Hardware consists of following building blocks and devices: • Power source • Clock Oscillator and Clocking Units • System Timer • Real Time Cock • Reset Circuit • Power Up Reset • Watchdog Timer Reset • Memory • I/O ports • I/O buses • I/O Interfaces • DAC • ADC 13
  • 14. The Build Process • The first step is selecting a processor • The processor is selected from the following considerations – Instruction Set – Maximum bits in an operand in an operation – Clock frequency in MHz or GHz and the processing speed in Million Instructions per seconds – Processor ability to solve the complex algorithms used in meeting the deadlines for their processing 14
  • 15. The Build Process • The build process for embedding software consists of the following steps – Project file consisting of source file and library files – Compilation of the project files – Linking all object files and locating onto a single re-locatable object file – Converting the object file in a form called hex-file to binary image 15
  • 17. Design Process in Embedded System • Concepts used during Design process – Abstraction – Hardware and Software Architectures – Extra Functional Properties – System Related family of Designs – Modular Design – Mapping – User Interfaces Design – Refinements 17
  • 18. Design Process in Embedded System • Software Design Process 18
  • 19. Design Process in Embedded System • Design Metrics – Power Dissipation – Performance – Process Deadlines – User Interfaces – Size – Engineering Cost – Manufacturing Cost – Flexibility – Prototype Development Time – Time to Market – System and User Safety – Maintenance 19
  • 20. Abstraction of Steps in Design Process 20
  • 21. Structural Units in Embedded Processor • Internal Buses: – It internally connects all the structural units inside the processor. – Its width can be 8,16,32 or 64 bits • Address Bus – It is the external bus that carries the address from the MAR to the memory as well as the IO devices and the other units of the system • Data Bus – It is an external bus that carries the data from or to the address • Control Bus – It is an external bus to carry control signal between the processor and memory devices • Bus Interface Unit – It is the interface unit between the processor’s internal units with the external buses • MAR: – Memory Address Register – It holds the address of the byte or word to be fetched from external memories • MDR: – It holds the byte or word fetched from/to external memory or I/O address 21
  • 22. Structural Units in Embedded Processor • Program Counter – PC holds the memory address of the next instruction that would be executed. • Stack Pointer – It is a pointer for an address which corresponds to stack top in the memory • Instruction Register – It takes sequentially the instruction codes to the execution unit of the processor • Instruction Decoder – It decodes the instruction opcode received at the IR passes it to the processor CU • Instruction Queue – It is the queue of instruction so that the IR does not have to wait for the next instruction after one has been carried out 22
  • 23. Structural Units in Embedded Processor • Arithmetic and Logical Unit – It is a unit to execute arithmetic and logical instruction according to the current instruction present in the IR • Floating Point Processing Unit (FPPU) – A unit separate from ALU for floating point processing which is essential in processing mathematical functions fast in a microprocessor or DSP • Floating Point Register Set(FPRS): – A register set dedicated for storing floating point number in a standard format and used by FPPU for its data and stack 23
  • 24. Structural Units in Embedded Processor • Control Unit – It controls all the bus activities and unit functions needed for processing • Memory management Unit (MMU) – It manages the memory such that instruction and data are readily available for processing • Application Register Set – It is set of on-chip registers used during processing the instruction of the application program of the user 24
  • 25. Structural Units in Embedded Processor • Instruction Cache – It sequentially store s, like an Instruction queue, the instructions in FIFO. • Data Cache – It stores the pre-fetched data from the external memory – The data cache generally holds both the key and the value together at the location • Pre-Fetch Control Unit – It is the unit that controls the prefetching of data into the I-Cache and D-Cache in advance from the memory units – The instruction and data are delivered when needed to the processor’s execution unit 25
  • 26. Structural Units in Embedded Processor • Register Window – A register window consists of a subset of registers with each subset storing static variables and status words of a task or program thread. • Advanced processing Unit – These are units used for multi stage pipeline processing, multiline superscalar processing to obtain processing speed higher that one instruction per clock cycle • Atomic Operations Unit (AOU ): – It lets a user instruction when broken into number of processor instruction called atomic operation, finish before an interrupt of a process occurs. 26
  • 27. Structural Units in Embedded Processor 27
  • 28. Embedded System Characteristics • System functions in real time • Program is preloaded in the ROM(s) or flash memory • Dedicated set of functions • Complex dedicated purpose preprogrammed – algorithms – Hardware – Graphics and Other user interfaces • Multirate operations with different predetermined time constraints to finish the different operations 28
  • 29. Constraints of Embedded Systems • Available System Memory • Available Processor Speed • Meeting Deadlines • Performance • Power • Size • Design and Manufacturing Cost 29
  • 30. Selection of Processor • Different systems require different processor features • The processor is selected from the following considerations – Instruction Set – Maximum bits in an operand in an operation – Processing Speed – Ability to solve the complex algorithms – A processor gives high computing performance when it has • Pipeline and Superscalar architecture • Pre-fetch cache unit, caches, register files and MMU • RISC core architecture 30
  • 31. Selection of Processor – A processor with register windows provides fast context switching in a multitasking system – Processor has auto shut down features for its units – A processor with burst mode accesses external memories fast 31
  • 32. Selection of Memory Devices • Software designer coding is over and the ROM image file is ready, a hardware designer of a system is faced with the a questions, of – what type of memory ? – what to use? – how much size of each, should be to used??? 32
  • 33. Selection of Memory Devices • Some of the selection process is, – Internal ROM – Internal EPROM – Internal EEPROM – Internal RAM – ROM Device – EPROM Device – EEPROM Device – Flash Device – RAM device – Parameterized Distributed RAM – Parameterized Block RAM 33
  • 34. Selection of Memory Devices • Masked ROM or EPROM stores the embedded software • EEPROM is used for testing and design stages and also is used to store the results during the system program run time • Flash stores the results byte by byte during a system run after a full sector erase • RAM is mostly used in SRAM form in a system • Sophisticated system use RAM in the form of DRAM, SDRAM or RDRAM • Parameterized distributed RAM is used when the I/O devices and subunits require a memory buffer and a fast write by another system 34
  • 35. DMA • I/O devices need to transfer the data of other systems to the memory addresses in the system • A system may also need to transfer data to the IO devices • A Direct Memory Access is required when a block of data is to be transferred between two systems without the CPU intervening, except at the start and at the end 35
  • 37. DMA • DMA supports 3 modes of operations – Single transfer at a time and then release of the hold on the system bus – Burst transfer at a time and then release of the hold on the system bus. A burst may be a few Kilo Bytes – Bulk transfer and then release of the hold on the system bus after the transfer is completed 37
  • 38. DMAC • DMA transfer is facilitated by the DMAC (DMA Controller) • Data transfer occurs efficiently between I/O devices and system memory with the least processor intervention using DMAC • The system address and data buses become unavailable to the processor and available to the IO device that connects DMAC 38
  • 39. DMA A typical DMA controller includes three registers Starting Address Register Length Register Status Register 39
  • 43. Memory Management Methods How MMU works Keep track of what part of memory are in use Allocate memory to processes when needed De-allocate when processes are done Swapping or Paging between main memory and disk 43
  • 45. Memory Management Methods In general, memory management responsibilities include: • Managing the mapping between logical memory and task memory references • Determining which processes to load in to the available memory space • Allocating and de-allocating of memory for processes that make up the system • Tracking the memory usage of system components • Ensuring process memory protection 45
  • 46. User Memory Space Because multiple processes are sharing the same physical memory when being loaded into RAM for processing, there also must be some protection mechanism so processes cannot unintentionally affect each other when being swapped in and out of a single physical memory space These issues are typically resolved by the OS through “memory swapping” where partitions of memory are swapped at run time. 46
  • 49. Segmentation A process encapsulates all the information that is involved in executing a program, including source code, stack and data. All of the different types of information within a process are divided into logical memory units of variable sizes called SEGMENTS Most OS typically allow processes to have all or some combination of five types of information within segments such as Code Segment Data Segment Block started by Symbol Stack Segment Heap Segment 49
  • 50. Typical Memory Allocation Schemes include: First Fit It scans from the beginning for the first ‘Hole’ that is large enough Next Fit It scans from where the last search ended for the next ‘Hole’ that is large enough Best Fit It scans the entire list for the hole that best fits the new data Worst Fit It places data in the largest available “hole” Quick Fit Here, list is kept with memory sizes. Allocation is done from this information 50
  • 51. Memory Management Functions • Allocation and De-allocation • Dynamic Blocks Allocation • Memory Protection to the OS functions • Memory Protection among the Tasks • Multiprocessor Memory Allocation 51
  • 52. Timer and Counting Devices 52
  • 53. Timer and Counting Devices • Timer Device – A timer device is a device which counts the input at the regular interval of the clock pulses – The count are stored and incremented on each pulse – The timer gives output bits for the present counts – The counts multiplied by the interval give the time – It has a input pin for resetting it for all count bits = 0s – It has an output pin for output when all counts bits =0s after reaching the maximum value 53
  • 55. Timer and Counting Devices • Counting Devices – A counting device is a device which counts the input due to the events at irregular or regular intervals – The counts give the number of input events or pulses since it was last read – Has a register to enable read of present counts – Functions as timer when counting regular interval clock pulses – When a timer or counter becomes 0x00 or 0x0000 after 0xFF or 0xFFFF (maximum value), it can generate an ‘interrupt’, or an output ‘Time-Out’ or set a status bit ‘TOV’ 55
  • 57. Hardware Timer • Control Bits are of 9 types, I. Timer Enable (To activate a timer) II. Timer start (to start counting at each clock input) III. Timer stop (to stop counting) IV. Pre-scaling Bits (to divide the clock out frequency signal from the processor) V. Up count Enable (To enable counting up by incrementing the count value on each clock input) VI. Down count enable (to decrement on a clock input) VII. Load enable (To enable loading of a value at a register into the timer) VIII.Timer Interrupt Enable (To enable interrupt when the timer count value reaches 0) IX. Time out enable (To enable a signal when the timer overflows)57
  • 58. Free running Counter • A counting device may be a free running (blind counting) device giving overflow interrupts at fixed intervals • A pre-scalar for the clock input pulses to fix the intervals 58
  • 59. Control bits, Status flags and variables of a software timer 59
  • 60. Uses of a timer device • Initiating an event after a comparison(s) with between the pre-set time with counted value. • Watchdog timer - It resets the system after a defined time • Input pulse counting when using a timer, which is ticked by giving non-periodic inputs instead of the clock inputs. 60
  • 61. Watchdog Timers • A watchdog timer is a timing device that is set for a preset time interval and a set of task must finish during that intervals, or else the device will generate the timeout signal for the failure to finish the given task in the watched time interval. 61
  • 62. Real Time Clocks • A clock, which is based on the interrupts at pre-set intervals. • An interrupt service routine executes on each timeout (overflow) of this clock. • This timing device once started never resets or never reloaded with another value. • Once it is set, it is not modified later. • Used in a system to save the time and date. • Used in a system to initiate return of control to the system (OS) after the set system clock periods 62
  • 64. In Circuit Emulator • Circuit for emulating target system remains independent of a particular targeted system and processor 64
  • 65. In Circuit Emulator • A circuit for emulating target system remains independent of a particular targeted system and processor • Emulator or ICE provides great flexibility and ease for developing various applications on a single system in place of testing that multiple targeted systems. 65
  • 68. Emulator • Emulates MCU inputs from sensors • Emulates controlled outputs for the peripheral interfaces/systems • Emulates target MCU IOs and socket to connect externally MCU 68
  • 69. ICE • Means In-Circuit Emulator • Interface COM port of a computer • Emulates target MCU IOs • ICE socket connects MCU externally • Uses computer developed object files and hex files for the MCU • Uses debugger at the computer developed files for the MCU application 69
  • 71. Host-Target System Development Approach • During development process, a host system is used • Then locating and burning the codes in the target board. • Target board hardware and software later copied to get the final embedded system • Final system functions exactly as the one tested and debugged and finalized during the development process 71
  • 72. Host System (PC or Laptop or Workstation) • High performance processor with caches, large RAM memory • ROMBIOS (read only memory basic input-output system) • Very large memory on disk • Keyboard • Display monitor • Mice • Network connection • Program development kit for a high level language program or IDE • Host processor compiler and Cross Compiler • Cross assembler 72
  • 73. Program Development Tool Kit at host • Program development tool kit or IDE • Editor─ used for writing C codes or assembly mnemonics or C++ or Java or Visual C++ using the keyboard of the host system (PC) for entering the program. • Using GUIs for allowing the entry, addition, deletion, insert, appending previously written lines or files, merging record and files at the specific positions. 73
  • 74. Program Development Tool Kit at host • Create source file that stores the edited file. • File given an appropriate name by the programmer • Can use previously created files • Can also integrate the various source files. • Can save different versions of the source files. • Compiler, cross compiler, assembler, cross assembler 74
  • 77. Sophisticated Target System • Target system differs from a final system • Target system interfaces with the computer as well as works as a standalone system • In target system might be repeated downloading of the codes during the development phase. • Target system copy made that later on functions as embedded system • Designer later on simply copies it into final system or product. • Final system may employs ROM in place of flash, EEPROM or EPROM in embedded system. 77
  • 78. INTRODUCTION TO EMBEDDED SYSTEMS • Introduction to Embedded Systems • The Build process for embedded systems (2) • Structural units in Embedded processor(2) • Selection of processor(1) • Selection of Memory devices (1) 78
  • 79. Reference 1. Rajkamal, ‘Embedded System-Architecture, Programming, Design’, Mc Graw Hill, 2013. 2. Peckol, “Embedded system Design”, John Wiley & Sons, 2010. 3. Lyla B Das,” Embedded Systems-An Integrated Approach”, Pearson, 2013. 79