SlideShare uma empresa Scribd logo
1 de 115
Baixar para ler offline
https://www.facebook.com/groups/embedded.system.KS/
Embedded System
PART 4 (Interrupt)
ENG.KEROLES SHENOUDA
1
https://www.facebook.com/groups/embedded.system.KS/
Interrupt
2
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Interrupt definition in social life
3
Interrupt make you to stop what you are doing
and jump to the one who request you
IRQ
Interrupt
request
you
IRQ
you
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
What is an Interrupt?
 An interrupt is a signal (an "interrupt request") generated by some
event external to the CPU , which causes the CPU to stop what it is
doing (stop executing the code it is currently running) and jump to a
separate piece of code designed by the programmer to deal with
the event which generated the interrupt request.
4
Task1Task2
Task3 Execute each task sequential
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
What is an Interrupt?
 An interrupt is a signal (an "interrupt request") generated by some
event external to the CPU , which causes the CPU to stop what it is
doing (stop executing the code it is currently running) and jump to a
separate piece of code designed by the programmer to deal with
the event which generated the interrupt request.
5
Task1Task2
Task3 Irq (interrupt request)
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
What is an Interrupt?
 An interrupt is a signal (an "interrupt request") generated by some
event external to the CPU , which causes the CPU to stop what it is
doing (stop executing the code it is currently running) and jump to a
separate piece of code designed by the programmer to deal with
the event which generated the interrupt request.
6
Task1Task2
Task3
ISR () {…..} interrupt service routine
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
What is an Interrupt?
 An interrupt is a signal (an "interrupt request") generated by some
event external to the CPU , which causes the CPU to stop what it is
doing (stop executing the code it is currently running) and jump to a
separate piece of code designed by the programmer to deal with
the event which generated the interrupt request.
7
Task1Task2
Task3 Return to normal operation
https://www.facebook.com/groups/embedded.system.KS/
What is an Interrupt?
8
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Interrupt
 An interrupt is a signal (an "interrupt request") generated by some event
external to the CPU , which causes the CPU to stop what it is doing (stop
executing the code it is currently running) and jump to a separate piece of
code designed by the programmer to deal with the event which generated
the interrupt request.
 This interrupt handling code is often called an ISR (interrupt service
routine). When the ISR is finished, it returns to the code that was running
prior to the interrupt
9
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Interrupt Service Routine
 For every interrupt, there must be an interrupt service routine (ISR), or interrupt handler.
 When an interrupt occurs, the microcontroller runs the interrupt service routine.
 For every interrupt, there is a fixed location in memory that holds the address of its
interrupt service routine, ISR.
 The table of memory locations set aside to hold the addresses of ISRs is called as
the Interrupt Vector Table.
10
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
11
CPU
RAM
ROM
Interrupt
Controller
UART
CAN
ADC
GPIO
Uart_TX
CAN_TX
Analog_ip
Registers
Controller MUX
External
interrupt
IRQ = specific Number
According to the SOC Specs
Irq number
D5
Toggle Led
.txt(main.c/GPIO.c)
Stack/Heap/Data_
Memory
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
12
CPU
Interrupt
Controller
RAMROM
Timer
For Example
.text
Main ()
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
13
Interrupt
Controller
RAMROM
Timer
For Example
.text
Main ()
Main ()
{
Timer(init);
While (1)
{
;
}
}
PC
The PC “Program counter "register will
Be indicate to while(1) code
And the CPU will execute the while(1) body forever
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
14
Interrupt
Controller
RAMROM
Timer
For Example
.text
Main ()
Main ()
{
Timer(init);
While (1)
{
;
}
}
PC
Once the Counter inside Timer
reached to the max and
Make overflow, the timer will
generate irq” interrupt request”
To the Interrupt Controller
Irq Number 0
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
15
Interrupt
Controller
RAMROM
Timer
For Example
.text
Main ()
Main ()
{
Timer(init);
While (1)
{
;
}
}
PC
The Interrupt Controller will
Decide the (is this interrupt masked or not )and
check the priority then generate an interrupt
request carry the interrupt Number to the CPU
and wait the ACK from the CPU
Irq number
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
16
Interrupt
Controller
RAMROM
Timer
For Example
.text
Main ()
PC
The CPU will reply by ACK to the Interrupt
Controller, then will Jump the Specific Address
for interrupt service routing for Timer
(ISR_Timer() prototype) according to(IVT
“Interrupt Vector Table”)on the ROM.
Irq number
This Address on the ROM in “Interrupt Vector”
Section, it is a prototype which carry the address
of the definition in RAM
.Interrupt Vector
.Interrupt Vector
PC ISR definition
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
17
Interrupt
Controller
RAMROM
Timer
For Example
.text
Main ()
PC
Irq number
Then the CPU will execute the ISR for Timer
Overflow action
.Interrupt Vector
.text
PC
ISR definition
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
18
Interrupt
Controller
RAMROM
Timer
For Example
.text
Main ()
Main ()
{
Timer(init);
While (1)
{
;
}
}
PC
After the CPU handling the Interrupt the
CPU will come back to the last instruction
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Interrupt Handling
 Code executed by an interrupt is not generally considered part of the main
application. Since this code handles the cases where an interrupt occurs, it is
called an interrupt handler or an interrupt service routine.
19
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Servicing Interrupts
 There are two general ways in which microcontrollers service interrupts, each
with several variations.
20
Vectored Arbitration System Non-Vectored Priority System
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Vectored Arbitration System
Some machines reserve a portion of program memory for interrupt vectors.
The location of each particular vector in program memory may vary from
processor to processor but it cannot be changed by the programmer.
The programmer can only change the data at each vector location.
Each interrupt vector contains the address of that interrupt’s service routine.
When the compiler allocates program memory for interrupt handlers/ISR,
it places the appropriate address for the handler/ISR in
the appropriate interrupt vector.
 To help the compiler you must usually tell it where the interrupt vector for
each interrupt is located in program memory
21
ROM
.Interrupt Vector
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Non-Vectored Priority System
 When an interrupt occurs, the PC branches to a specific address.
 At this address the interrupts must be checked sequentially to determine
which one has
caused the interrupt.
This scheme can be very slow and there can be a large delay between the time
the interrupt occurs and the time it is serviced. However, the programmer can
set the interrupt priority and non-vectored interrupts are feasible for
microcontrollers with less than five interrupts.
22
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Interrupt vector Table
 interrupt vector is the memory address of an interrupt handler.
The interrupt vector for each interrupt provided by the microcontrollers
Vendor and should be found inside its datasheet.
 Please note here that the interrupt vectors are apart of the microcontroller's
program memory. As such when utilizing interrupts this section of memory
should be reserved to store pointers to interrupt handlers and not to store
regular programs
 The IVT Should contain those informations
23
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
IVT-Example interrupt vector Table on ATMEGA 32
24
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
IVT-Example interrupt vector Table National Semiconductor COP8SAA7
25
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
IVT-Example interrupt vector Table National Semiconductor COP8SAA7
26
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
27IVT-Example interrupt vector Table TiVaC “TM4C1234 SOC”
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
28IVT-Example interrupt vector Table TiVaC “TM4C1234 SOC”
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
29IVT-Example interrupt vector Table TiVaC “TM4C1234 SOC”
https://www.facebook.com/groups/embedded.system.KS/
What is the Difference Between
Polling And Interrupt ?
30
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Polling vs. Interrupt (example) Video
 https://www.youtube.com/watch?v=M3nXI_86uLE
31
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Polling vs. Interrupt
 in interrupts, the input from I/O device can arrive at any moment requesting the CPU to
process it, in polling CPU keeps asking the I/O device whether it needs CPU
processing.
32
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Polling
33
Constantly reading a memory location, in
order receive updates of an input value
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Interrupt
34
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
35
Polling Vs. Interrupt
 Polling
 Ties down the CPU
while (true)
{
if(PIND.2 == 0)
//do something;
}
 Interrupt
 Efficient CPU use
 Has priority
 Can be masked
void main( )
{
Do your common task
}
ISR(){ whenever PIND.2 is 0
then do something}
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Polling vs. Interrupt
BASIS FOR COMPARISON INTERRUPT POLLING
Basic Device notify CPU that it needs CPU
attention.
CPU constantly checks device status
whether it needs CPU's attention.
Mechanism An interrupt is a hardware mechanism. Polling is a Protocol.
Servicing Interrupt handler services the Device. CPU services the device.
Indication Interrupt-request line indicates that
device needs servicing.
Comand-ready bit indicates the device
needs servicing.
CPU CPU is disturbed only when a device
needs servicing, which saves CPU cycles.
CPU has to wait and check whether a
device needs servicing which wastes
lots of CPU cycles.
Occurrence An interrupt can occur at any time. CPU polls the devices at regular interval.
Efficiency Interrupt becomes inefficient
when devices keep on interrupting
the CPU repeatedly.
(Interrupt Overload)
Can be efficient if events arrive
rapidly
Example Let the bell ring then open the door to
check who has come.
Constantly keep on opening the door to
check whether anybody has come.
36
https://www.facebook.com/groups/embedded.system.KS/
Instruction Cycle with
Interrupts
37
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Instruction Cycle with Interrupts
38
interrupts have occurred, indicated by the
presence of an interrupt signal.
If no interrupts are pending,
the processor proceeds to the fetch cycle
and fetches the
next instruction of the program.
If an interrupt is pending, the processor
does Interrupt handling Sequence:
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Instruction Cycle State Diagram,
with Interrupts
39
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Steps taken in servicing an
interrupt
1. The microcontroller completes the execution of the current instruction,
clears the interrupt status bit and stores the address of the next instruction
that should have been executed (the content of the PC) on the stack.
2. The interrupt vector of the triggered interrupt is then loaded in the PC and
the microcontroller starts execution from that point up until is reaches
a RETI instruction.
3. Upon the execution of the RETI instruction the address that was stored on
the stack in step 1 is reloaded in the PC .
4. The microcontroller then start executing instructions from that point. That is
the point that it left off when the interrupt was triggered.
40
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Conclusion by hand writing
41
https://www.facebook.com/groups/embedded.system.KS/
Interrupt Processing
FULL DETAILS
42
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Interrupt Processing
1. The device issues an interrupt signal to the processor.
2. The processor finishes execution of the current instruction before responding
to the interrupt
3. The processor tests for an interrupt, determines that there is one, and sends
an acknowledgment signal to the device that issued the interrupt.
The acknowledgment allows the device to remove its interrupt signal.
The processor now needs to prepare to transfer control to the interrupt
routine. To begin, it needs to save information needed to resume the current
program at
the point of interrupt. The minimum information required is (Switch Context)
(a) the status of the processor, which is contained in a register called the program
status word (PSW), and
(b) (b) the location of the next instruction to be executed. These can be pushed onto
the system control stack
43
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Interrupt Processing
(4)The processor now loads the program counter with the entry location of
the interrupt-handling program that will respond to this interrupt. Depending
on the computer architecture and operating system design, there may be a single
program;
one program for each type of interrupt; or one program for each device and each
type of interrupt.
If there is more than one interrupt-handling routine, the
processor must determine which one to invoke. This information may
have been included in the original interrupt signal, or the processor may have to
issue a request to the device that issued the interrupt to get a response
that contains the needed information.
Once the program counter has been loaded, the processor proceeds to the
next instruction cycle, which begins with an instruction fetch.
44
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Interrupt Processing
(5)When interrupt processing is complete, the saved register
values are retrieved from the stack and restored to the
registers (Context restore)
(6) The final act is to restore the PSW and program counter values from
the stack. As a result, the next instruction to be executed will be from the
previously interrupted program.
45
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
46
Switch Context Context Restore
https://www.facebook.com/groups/embedded.system.KS/
What is interrupt
latency?
47
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
What is interrupt latency?
 Interrupt latency refers primarily to the software interrupt handling latencies. In
other words, the amount of time that elapses from the time that an external interrupt arrives at
the processor until the time that the interrupt processing begins.
 One of the most important aspects of kernel real-time performance is the ability to service an
interrupt request (IRQ) within a specified amount of time.
48
Interrupt Latency
https://www.facebook.com/groups/embedded.system.KS/
Example on Atmga32
EXTERNAL INTERRUPT
49
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
50
CPU
RAM
ROM
Interrupt
Controller
UART
CAN
ADC
GPIO
Uart_TX
CAN_TX
Analog_ip
Registers
Controller MUX
External
interrupt
IRQ = specific Number
According to the SOC Specs
Irq number
(INT0) PD2
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
51
CPU
RAM
ROM
Interrupt
Controller
UART
CAN
ADC
GPIO
Uart_TX
CAN_TX
Analog_ip
Registers
Controller MUX
External
interrupt
IRQ = specific Number
According to the SOC Specs
Irq number
(INT0) PD2
ACK
https://www.facebook.com/groups/embedded.system.KS/
PA6 (ADC6)
AVCC
XTAL1
(OC1A) PD5
(SCK) PB7
(OC1B) PD4
RESET
VCC
GND
(TXD) PD1
(INT1) PD3
AGND
VCC
PA0 (ADC0)
PC7 (TOSC2)
PA1 (ADC1)
PA2 (ADC2)
PA3 (ADC3)
PA4 (ADC4)
PA5 (ADC5)
PA7 (ADC7)
PC4 (TDO)
PC3 (TMS)
PC6 (TOSC1)
PC5 (TDI)
PC0 (SCL)
PD7 (OC2)
PC2 (TCK)
PC1 (SDA)
ATmega32
PB0
PB1
(ICP) PD6
(INT2) PB2
(OC0/AIN0) PB3
(SS) PB4
(MOSI) PB5
(MISO) PB6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
Steps in executing an interrupt
0000
0002
0002
0004
0005
0006
0007
0008
0009
000A
000B
000C
000D
000E
000F
0010
0012
0013
0014
0015
0016
Address Code
(INT0) PD2
SP
PC: 000D000E
0002
000F
(RXD) PD0
XTAL2
Stack
.INCLUDE "M32DEF.INC"
.ORG 0 ;location for reset
JMP MAIN
.ORG 0x02 ;location for external INT0
JMP EX0_ISR
MAIN: LDI R20,HIGH(RAMEND)
OUT SPH,R20
LDI R20,LOW(RAMEND)
OUT SPL,R20
SBI DDRC,3 ;PC.3 = output
SBI PORTD,2 ;pull-up activated
LDI R20,1<<INT0 ;Enable INT0
OUT GICR,R20
SEI ;Set I (Enable Interrupts)
LDI R30, 3
LDI R31, 4
ADD R30, R31
HERE:JMP HERE
EX0_ISR:IN R21,PORTC
LDI R22,0x08
EOR R21,R22
OUT PORTC,R21
RETI
000C000B000A000900080007000600050000000400120013001400150000
https://www.facebook.com/groups/embedded.system.KS/
PA6 (ADC6)
AVCC
XTAL1
(OC1A) PD5
(SCK) PB7
(OC1B) PD4
RESET
VCC
GND
(TXD) PD1
(INT1) PD3
AGND
VCC
PA0 (ADC0)
PC7 (TOSC2)
PA1 (ADC1)
PA2 (ADC2)
PA3 (ADC3)
PA4 (ADC4)
PA5 (ADC5)
PA7 (ADC7)
PC4 (TDO)
PC3 (TMS)
PC6 (TOSC1)
PC5 (TDI)
PC0 (SCL)
PD7 (OC2)
PC2 (TCK)
PC1 (SDA)
ATmega32
PB0
PB1
(ICP) PD6
(INT2) PB2
(OC0/AIN0) PB3
(SS) PB4
(MOSI) PB5
(MISO) PB6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
Steps in executing an interrupt
0000
0002
0002
0004
0005
0006
0007
0008
0009
000A
000B
000C
000D
000E
000F
0010
0012
0013
0014
0015
0016
Address Code
(INT0) PD2
SP
PC: 000D000E
0002
000F
(RXD) PD0
XTAL2
Stack
.INCLUDE "M32DEF.INC"
.ORG 0 ;location for reset
JMP MAIN
.ORG 0x02 ;location for external INT0
JMP EX0_ISR
MAIN: LDI R20,HIGH(RAMEND)
OUT SPH,R20
LDI R20,LOW(RAMEND)
OUT SPL,R20
SBI DDRC,3 ;PC.3 = output
SBI PORTD,2 ;pull-up activated
LDI R20,1<<INT0 ;Enable INT0
OUT GICR,R20
SEI ;Set I (Enable Interrupts)
LDI R30, 3
LDI R31, 4
ADD R30, R31
HERE:JMP HERE
EX0_ISR:IN R21,PORTC
LDI R22,0x08
EOR R21,R22
OUT PORTC,R21
RETI
000C000B000A000900080007000600050000000400120013001400150004
https://www.facebook.com/groups/embedded.system.KS/
PA6 (ADC6)
AVCC
XTAL1
(OC1A) PD5
(SCK) PB7
(OC1B) PD4
RESET
VCC
GND
(TXD) PD1
(INT1) PD3
AGND
VCC
PA0 (ADC0)
PC7 (TOSC2)
PA1 (ADC1)
PA2 (ADC2)
PA3 (ADC3)
PA4 (ADC4)
PA5 (ADC5)
PA7 (ADC7)
PC4 (TDO)
PC3 (TMS)
PC6 (TOSC1)
PC5 (TDI)
PC0 (SCL)
PD7 (OC2)
PC2 (TCK)
PC1 (SDA)
ATmega32
PB0
PB1
(ICP) PD6
(INT2) PB2
(OC0/AIN0) PB3
(SS) PB4
(MOSI) PB5
(MISO) PB6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
Steps in executing an interrupt
0000
0002
0002
0004
0005
0006
0007
0008
0009
000A
000B
000C
000D
000E
000F
0010
0012
0013
0014
0015
0016
Address Code
(INT0) PD2
SP
PC: 000D000E
0002
000F
(RXD) PD0
XTAL2
Stack
.INCLUDE "M32DEF.INC"
.ORG 0 ;location for reset
JMP MAIN
.ORG 0x02 ;location for external INT0
JMP EX0_ISR
MAIN: LDI R20,HIGH(RAMEND)
OUT SPH,R20
LDI R20,LOW(RAMEND)
OUT SPL,R20
SBI DDRC,3 ;PC.3 = output
SBI PORTD,2 ;pull-up activated
LDI R20,1<<INT0 ;Enable INT0
OUT GICR,R20
SEI ;Set I (Enable Interrupts)
LDI R30, 3
LDI R31, 4
ADD R30, R31
HERE:JMP HERE
EX0_ISR:IN R21,PORTC
LDI R22,0x08
EOR R21,R22
OUT PORTC,R21
RETI
000C000B000A00090008000700060005000000040012001300140015000E
Until
Reach
to
000E
https://www.facebook.com/groups/embedded.system.KS/
PA6 (ADC6)
AVCC
XTAL1
(OC1A) PD5
(SCK) PB7
(OC1B) PD4
RESET
VCC
GND
(TXD) PD1
(INT1) PD3
AGND
VCC
PA0 (ADC0)
PC7 (TOSC2)
PA1 (ADC1)
PA2 (ADC2)
PA3 (ADC3)
PA4 (ADC4)
PA5 (ADC5)
PA7 (ADC7)
PC4 (TDO)
PC3 (TMS)
PC6 (TOSC1)
PC5 (TDI)
PC0 (SCL)
PD7 (OC2)
PC2 (TCK)
PC1 (SDA)
ATmega32
PB0
PB1
(ICP) PD6
(INT2) PB2
(OC0/AIN0) PB3
(SS) PB4
(MOSI) PB5
(MISO) PB6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
Steps in executing an interrupt
0000
0002
0002
0004
0005
0006
0007
0008
0009
000A
000B
000C
000D
000E
000F
0010
0012
0013
0014
0015
0016
Address Code
(INT0) PD2
SP
PC: 000D000E
0002
000F
(RXD) PD0
XTAL2
Stack
.INCLUDE "M32DEF.INC"
.ORG 0 ;location for reset
JMP MAIN
.ORG 0x02 ;location for external INT0
JMP EX0_ISR
MAIN: LDI R20,HIGH(RAMEND)
OUT SPH,R20
LDI R20,LOW(RAMEND)
OUT SPL,R20
SBI DDRC,3 ;PC.3 = output
SBI PORTD,2 ;pull-up activated
LDI R20,1<<INT0 ;Enable INT0
OUT GICR,R20
SEI ;Set I (Enable Interrupts)
LDI R30, 3
LDI R31, 4
ADD R30, R31
HERE:JMP HERE
EX0_ISR:IN R21,PORTC
LDI R22,0x08
EOR R21,R22
OUT PORTC,R21
RETI
000C000B000A00090008000700060005000000040012001300140015000E
INT request 0 (IRQ0)
https://www.facebook.com/groups/embedded.system.KS/
PA6 (ADC6)
AVCC
XTAL1
(OC1A) PD5
(SCK) PB7
(OC1B) PD4
RESET
VCC
GND
(TXD) PD1
(INT1) PD3
AGND
VCC
PA0 (ADC0)
PC7 (TOSC2)
PA1 (ADC1)
PA2 (ADC2)
PA3 (ADC3)
PA4 (ADC4)
PA5 (ADC5)
PA7 (ADC7)
PC4 (TDO)
PC3 (TMS)
PC6 (TOSC1)
PC5 (TDI)
PC0 (SCL)
PD7 (OC2)
PC2 (TCK)
PC1 (SDA)
ATmega32
PB0
PB1
(ICP) PD6
(INT2) PB2
(OC0/AIN0) PB3
(SS) PB4
(MOSI) PB5
(MISO) PB6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
Steps in executing an interrupt
0000
0002
0002
0004
0005
0006
0007
0008
0009
000A
000B
000C
000D
000E
000F
0010
0012
0013
0014
0015
0016
Address Code
(INT0) PD2
SP
PC: 000D000E
0002
000F
(RXD) PD0
XTAL2
Stack
.INCLUDE "M32DEF.INC"
.ORG 0 ;location for reset
JMP MAIN
.ORG 0x02 ;location for external INT0
JMP EX0_ISR
MAIN: LDI R20,HIGH(RAMEND)
OUT SPH,R20
LDI R20,LOW(RAMEND)
OUT SPL,R20
SBI DDRC,3 ;PC.3 = output
SBI PORTD,2 ;pull-up activated
LDI R20,1<<INT0 ;Enable INT0
OUT GICR,R20
SEI ;Set I (Enable Interrupts)
LDI R30, 3
LDI R31, 4
ADD R30, R31
HERE:JMP HERE
EX0_ISR:IN R21,PORTC
LDI R22,0x08
EOR R21,R22
OUT PORTC,R21
RETI
000C000B000A000900080007000600050000000400120013001400150002
0F
00
Vector Address from
IVT “Interrupt Vector
Table”
https://www.facebook.com/groups/embedded.system.KS/
PA6 (ADC6)
AVCC
XTAL1
(OC1A) PD5
(SCK) PB7
(OC1B) PD4
RESET
VCC
GND
(TXD) PD1
(INT1) PD3
AGND
VCC
PA0 (ADC0)
PC7 (TOSC2)
PA1 (ADC1)
PA2 (ADC2)
PA3 (ADC3)
PA4 (ADC4)
PA5 (ADC5)
PA7 (ADC7)
PC4 (TDO)
PC3 (TMS)
PC6 (TOSC1)
PC5 (TDI)
PC0 (SCL)
PD7 (OC2)
PC2 (TCK)
PC1 (SDA)
ATmega32
PB0
PB1
(ICP) PD6
(INT2) PB2
(OC0/AIN0) PB3
(SS) PB4
(MOSI) PB5
(MISO) PB6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
Steps in executing an interrupt
0000
0002
0002
0004
0005
0006
0007
0008
0009
000A
000B
000C
000D
000E
000F
0010
0012
0013
0014
0015
0016
Address Code
(INT0) PD2
SP
PC: 000D000E
0002
000F
(RXD) PD0
XTAL2
Stack
.INCLUDE "M32DEF.INC"
.ORG 0 ;location for reset
JMP MAIN
.ORG 0x02 ;location for external INT0
JMP EX0_ISR
MAIN: LDI R20,HIGH(RAMEND)
OUT SPH,R20
LDI R20,LOW(RAMEND)
OUT SPL,R20
SBI DDRC,3 ;PC.3 = output
SBI PORTD,2 ;pull-up activated
LDI R20,1<<INT0 ;Enable INT0
OUT GICR,R20
SEI ;Set I (Enable Interrupts)
LDI R30, 3
LDI R31, 4
ADD R30, R31
HERE:JMP HERE
EX0_ISR:IN R21,PORTC
LDI R22,0x08
EOR R21,R22
OUT PORTC,R21
RETI
000C000B000A000900080007000600050000000400120013001400150012
0F
00
https://www.facebook.com/groups/embedded.system.KS/
PA6 (ADC6)
AVCC
XTAL1
(OC1A) PD5
(SCK) PB7
(OC1B) PD4
RESET
VCC
GND
(TXD) PD1
(INT1) PD3
AGND
VCC
PA0 (ADC0)
PC7 (TOSC2)
PA1 (ADC1)
PA2 (ADC2)
PA3 (ADC3)
PA4 (ADC4)
PA5 (ADC5)
PA7 (ADC7)
PC4 (TDO)
PC3 (TMS)
PC6 (TOSC1)
PC5 (TDI)
PC0 (SCL)
PD7 (OC2)
PC2 (TCK)
PC1 (SDA)
ATmega32
PB0
PB1
(ICP) PD6
(INT2) PB2
(OC0/AIN0) PB3
(SS) PB4
(MOSI) PB5
(MISO) PB6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
Steps in executing an interrupt
0000
0002
0002
0004
0005
0006
0007
0008
0009
000A
000B
000C
000D
000E
000F
0010
0012
0013
0014
0015
0016
Address Code
(INT0) PD2
SP
PC: 000D000E
0002
000F
(RXD) PD0
XTAL2
Stack
.INCLUDE "M32DEF.INC"
.ORG 0 ;location for reset
JMP MAIN
.ORG 0x02 ;location for external INT0
JMP EX0_ISR
MAIN: LDI R20,HIGH(RAMEND)
OUT SPH,R20
LDI R20,LOW(RAMEND)
OUT SPL,R20
SBI DDRC,3 ;PC.3 = output
SBI PORTD,2 ;pull-up activated
LDI R20,1<<INT0 ;Enable INT0
OUT GICR,R20
SEI ;Set I (Enable Interrupts)
LDI R30, 3
LDI R31, 4
ADD R30, R31
HERE:JMP HERE
EX0_ISR:IN R21,PORTC
LDI R22,0x08
EOR R21,R22
OUT PORTC,R21
RETI
000C000B000A000900080007000600050000000400120013001400150016
0F
00
https://www.facebook.com/groups/embedded.system.KS/
PA6 (ADC6)
AVCC
XTAL1
(OC1A) PD5
(SCK) PB7
(OC1B) PD4
RESET
VCC
GND
(TXD) PD1
(INT1) PD3
AGND
VCC
PA0 (ADC0)
PC7 (TOSC2)
PA1 (ADC1)
PA2 (ADC2)
PA3 (ADC3)
PA4 (ADC4)
PA5 (ADC5)
PA7 (ADC7)
PC4 (TDO)
PC3 (TMS)
PC6 (TOSC1)
PC5 (TDI)
PC0 (SCL)
PD7 (OC2)
PC2 (TCK)
PC1 (SDA)
ATmega32
PB0
PB1
(ICP) PD6
(INT2) PB2
(OC0/AIN0) PB3
(SS) PB4
(MOSI) PB5
(MISO) PB6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
Steps in executing an interrupt
0000
0002
0002
0004
0005
0006
0007
0008
0009
000A
000B
000C
000D
000E
000F
0010
0012
0013
0014
0015
0016
Address Code
(INT0) PD2
SP
PC: 000D000E
0002
000F
(RXD) PD0
XTAL2
Stack
.INCLUDE "M32DEF.INC"
.ORG 0 ;location for reset
JMP MAIN
.ORG 0x02 ;location for external INT0
JMP EX0_ISR
MAIN: LDI R20,HIGH(RAMEND)
OUT SPH,R20
LDI R20,LOW(RAMEND)
OUT SPL,R20
SBI DDRC,3 ;PC.3 = output
SBI PORTD,2 ;pull-up activated
LDI R20,1<<INT0 ;Enable INT0
OUT GICR,R20
SEI ;Set I (Enable Interrupts)
LDI R30, 3
LDI R31, 4
ADD R30, R31
HERE:JMP HERE
EX0_ISR:IN R21,PORTC
LDI R22,0x08
EOR R21,R22
OUT PORTC,R21
RETI
000C000B000A000900080007000600050000000400120013001400150016000F
https://www.facebook.com/groups/embedded.system.KS/
PA6 (ADC6)
AVCC
XTAL1
(OC1A) PD5
(SCK) PB7
(OC1B) PD4
RESET
VCC
GND
(TXD) PD1
(INT1) PD3
AGND
VCC
PA0 (ADC0)
PC7 (TOSC2)
PA1 (ADC1)
PA2 (ADC2)
PA3 (ADC3)
PA4 (ADC4)
PA5 (ADC5)
PA7 (ADC7)
PC4 (TDO)
PC3 (TMS)
PC6 (TOSC1)
PC5 (TDI)
PC0 (SCL)
PD7 (OC2)
PC2 (TCK)
PC1 (SDA)
ATmega32
PB0
PB1
(ICP) PD6
(INT2) PB2
(OC0/AIN0) PB3
(SS) PB4
(MOSI) PB5
(MISO) PB6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
Steps in executing an interrupt
0000
0002
0002
0004
0005
0006
0007
0008
0009
000A
000B
000C
000D
000E
000F
0010
0012
0013
0014
0015
0016
Address Code
(INT0) PD2
SP
PC: 000D000E
0002
000F
(RXD) PD0
XTAL2
Stack
.INCLUDE "M32DEF.INC"
.ORG 0 ;location for reset
JMP MAIN
.ORG 0x02 ;location for external INT0
JMP EX0_ISR
MAIN: LDI R20,HIGH(RAMEND)
OUT SPH,R20
LDI R20,LOW(RAMEND)
OUT SPL,R20
SBI DDRC,3 ;PC.3 = output
SBI PORTD,2 ;pull-up activated
LDI R20,1<<INT0 ;Enable INT0
OUT GICR,R20
SEI ;Set I (Enable Interrupts)
LDI R30, 3
LDI R31, 4
ADD R30, R31
HERE:JMP HERE
EX0_ISR:IN R21,PORTC
LDI R22,0x08
EOR R21,R22
OUT PORTC,R21
RETI
000C000B000A0009000800070006000500000004001200130014001500160010
https://www.facebook.com/groups/embedded.system.KS/
CPU’s ‘fetch-execute’ cycle
61
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
CPU’s ‘fetch-execute’ cycle 62
Fetch instruction at IP
Advance IP to next instruction
Decode the fetched instruction
Execute the decoded instruction
Interrupt?
no
Save context
Get INTR ID
Lookup ISR
Execute ISR
yes IRET
User
Program
IP
ld
add
st
mul
ld
sub
bne
add
jmp
…
https://www.facebook.com/groups/embedded.system.KS/
Sequential interrupt processing
VS
Nested interrupt processing
63
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Sequential interrupt processing
64
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Nested interrupt processing
65
https://www.facebook.com/groups/embedded.system.KS/
Interrupt types
66
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Types of Interrupts
 Asynchronous / Interrupt Hardware
 From external source, such as I/O device
 Not related to instruction being executed
 Synchronous (also called exceptions)
 Processor-detected exceptions:
 Faults — correctable; offending instruction is retried
 Traps — often for debugging; instruction is not retried
 Aborts — major error (hardware failure)
 Programmed exceptions:
 Requests for kernel intervention (software intr/syscalls)
67
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Software Interrupt
 A software interrupt is caused either by an exceptional condition or a special
instruction in the instruction set which causes an interrupt when it is
executed by the processor.
 For example, if the processor's arithmetic logic unit runs a command to divide
a number by zero, to cause a divide-by-zero exception, thus causing the
computer to abandon the calculation or display an error message.
 Software interrupt instructions work similar to subroutine calls.
68
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Synchronous (also called
exceptions) Faults
 Instruction would be illegal to execute
 Examples:
 Writing to a memory segment marked ‘read-only’
 Reading from an unavailable memory segment (on disk)
 Detected before incrementing the PC
69
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Traps
 A CPU might have been programmed to automatically switch control to a
‘debugger’ program after it has executed an instruction
 That type of situation is known as a ‘trap’
 It is activated after incrementing the PC
70
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Error Exceptions
 Most error exceptions — divide by zero, invalid operation,
illegal memory reference, etc. — translate directly into
signals
71
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Example Software Interrupt on
Linux Kernel for ‘exceptions”
 Can be invoked by Linux system-calls
 Examples for exceptions Interrupt IDs:
 0: divide-overflow fault
 6: Undefined Opcode
 7: Coprocessor Not Available
 11: Segment-Not-Present fault
 12: Stack fault
 13: General Protection Exception
 14: Page-Fault Exception
 Linux has a pseudo-file system, /proc, for monitoring (and
sometimes changing) kernel behavior
 Run
cat /proc/interrupts
to see what’s going on
72
$ cat /proc/interrupts
CPU0
0: 865119901 IO-APIC-edge timer
1: 4 IO-APIC-edge keyboard
2: 0 XT-PIC cascade
8: 1 IO-APIC-edge rtc
12: 20 IO-APIC-edge PS/2 Mouse
14: 6532494 IO-APIC-edge ide0
15: 34 IO-APIC-edge ide1
16: 0 IO-APIC-level usb-uhci
19: 0 IO-APIC-level usb-uhci
23: 0 IO-APIC-level ehci-hcd
32: 40 IO-APIC-level ioc0
33: 40 IO-APIC-level ioc1
48: 273306628 IO-APIC-level eth0
NMI: 0
ERR: 0
 Columns: IRQ, count, interrupt controller, devices
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Asynchronous / Interrupt
Hardware
 I/O devices have (unique or shared) Interrupt Request Lines (IRQs)
 IRQs are mapped by special hardware to interrupt vectors, and passed to the CPU
 This hardware is called a Programmable Interrupt Controller (PIC)
73
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Hardware Interrupt
 A hardware interrupt is an electronic alerting signal sent to the processor
from an external device or internal Module, like a disk controller or an
external peripheral. For example, when we press a key on the keyboard or
move the mouse, they trigger hardware interrupts which cause the processor
to read the keystroke or mouse position.
…..
…...
…..
…...
Eternal signal
can be configured
to be input
(external interrupt)
Internal interrupts from
Other Modules
Mange the interrupt Masking/priority
And send it to the CPU
74
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Interrupt Controller IC
 Responsible for telling the CPU when a specific external device
wishes to ‘interrupt’
 Needs to tell the CPU which one among several devices is the one
needing service
 IC translates IRQ to vector
 Raises interrupt to CPU
 Vector available in register
 Waits for ack from CPU
 Interrupts can have varying priorities
 IC also needs to prioritize multiple requests
 Possible to “mask” (disable) interrupts at IC or CPU
75
CPU
Interrupt Controller
ACK IRQ Number
Registers
All Interrupt Signal from (all internal Modules Like UART, CAN, I2C ,etc…)
Or from External Interrupt
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
How to make the Interrupt Reach to
the CPU ? For example
76
https://www.facebook.com/groups/embedded.system.KS/
Examples On
Interrupt Controllers
77
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
TivaC Cortex-M4
NVIC
“Nested Vectored
Interrupt Controller”
78
NVIC
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
TivaC-Cortex-M4 NVIC
“Nested Vectored Interrupt Controller”
79
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Interrupt Latency - Tail Chaining in
NVIC
 The Tiva C Series NVIC does exactly this. It takes only 12 cycles to PUSH and
POP the processor state. When the NVIC sees a pending ISR during the
execution of the current one, it will “tail-chain” the execution using just 6
cycles to complete the process.
80
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Cortex-M4® Exception Types
81
https://www.facebook.com/groups/embedded.system.KS/
Where is the vector for SysTick? What
is the standard name for this ISR?
82
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
SysTick is a Tiemer in ARM
(Cortex-M) Family
 The System Tick Time (SysTick) generates interrupt requests on a regular
basis. This allows an OS to carry out context switching to support multiple
tasking
 For applications that do not require an OS, the SysTick can be used for time
keeping, time measurement, or as an interrupt source for tasks that need to
be executed regularly.
83
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
84
Systick at address 0x003c
In IVT
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
__Vectors Section For TivaC 85
Systick in __Vector Section
location where the ISR that handles the exception is
located. Vectors are stored in ROM
DCD is an assembler pseudo-op that defines a 32-bit
constant. ROM location 0x0000.0000 has the initial
stack pointer, and location 0x0000.0004 contains the
initial program counter, which is called the reset
vector
https://www.facebook.com/groups/embedded.system.KS/
Interrupt Controller
On Atmega32
86
https://www.facebook.com/groups/embedded.system.KS/
Interrupt Controller
PROGRAM
ROM
PortsOSC
CPU
Timers
Other
Peripherals
Program
Bus Bus
RAM
I/O
PINS
EEPROM
Interrupt
Unit
SREG
GICR
TIMSK
CNVH ZSTSREG I
IVCE--INT2 IVSEL-INT0GICR INT1
TOIE0TOIE1OCIE1BTICIE1 OCIE0OCIE1ATOIE2TIMSK OCIE2
TOV0TOV1OCF1BICF1 OCF0OCF1ATOV2TIFR OCF2
40 PIN DIP
10
11
1
2
3
4
5
6
7
8
9
12
13
14
15
16
17
18
19
20
(XCK/T0) PB0
(T1) PB1
(INT2/AIN0) PB2
(OC0/AIN1) PB3
(SS) PB4
(MOSI) PB5
(MISO) PB6
(SCK) PB7
RESET
VCC
XTAL2
GND
XTAL1
(RXD) PD0
(TXD) PD1
(INT0) PD2
(INT1) PD3
(OC1B) PD4
(OC1A) PD5
(ICP) PD6
MEGA32
31
30
40
39
38
37
36
35
34
33
32
29
28
27
26
25
24
23
22
21
PA0 (ADC0)
PA1 (ADC1)
PA2 (ADC2)
PA3 (ADC3)
PA4 (ADC4)
PA5 (ADC5)
PA6 (ADC6)
PA7 (ADC7)
AREF
AGND
PC7 (TOSC2)
AVCC
PC6 (TOSC1)
PC5 (TDI)
PC4 (TDO)
PC3 (TMS)
PC2 (TCK)
PC1 (SDA)
PC0 (SCL)
PD7 (OC2)
87
https://www.facebook.com/groups/embedded.system.KS/
Programming
External Interrupts
ATMEGA32
88
https://www.facebook.com/groups/embedded.system.KS/
89
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Edge trigger Vs. Level trigger in external
interrupts
SM1 SM0SM2MCUCR SE ISC00ISC01ISC10ISC11
90
https://www.facebook.com/groups/embedded.system.KS/
91
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Edge trigger Vs. Level trigger (Cont.)
- JTRFMCUCSR JTD PORFEXTRFBORFWDRFISC2
92
https://www.facebook.com/groups/embedded.system.KS/
93
https://www.facebook.com/groups/embedded.system.KS/
94
https://www.facebook.com/groups/embedded.system.KS/
95
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Interrupt priority
Highest
priority
Lowest
priority
96
https://www.facebook.com/groups/embedded.system.KS/
Conclusion by hand writing
Simple task
97
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Interrupt Controller_LAB1
Write C Code using the 3 eternal interrupts
External Interrupt 0 (INT0) - PD2. >> irq occur when “any logical change”
External Interrupt 1 (INT1) - PD3. >> irq occur when “rising edge”
External Interrupt 2 (INT2) - PB2. >> irq occur when “Falling edge”
We have also 3 leds (PD5,6,7) (led0,1,2).
Each interrupt just make the led 0N for 1 sec
The main function is always make all the leds off
98
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Interrupt Controller_LAB1
For example
IRQ0 happen PC jump to ISR for IRQ0
LED 0 ON for 1secReturn to main and all LEDs
Being OFF
99
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Interrupt Controller_LAB1
For example
Press on Bush Botton
IRQ0 and still pressing
(rising edge)
The led0 is on
For 1 sec
100
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Interrupt Controller_LAB1
For example
The led0 is OFF
After 1 sec
Still pressing on Push Button
101
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Interrupt Controller_LAB1
For example
Released so IRQ0 happen
Again because
(Falling edge)
And you already configured
IRQ0 to happen if any logical change happen
The led0 is ON
for1 sec
102
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Interrupt Controller_LAB1
Solution
103
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
104
https://www.facebook.com/groups/embedded.system.KS/
What is Interrupt
Overload?
105
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
What is Interrupt Overload?
 Interrupt overload: Condition where external interrupts signaled frequently
enough to cause other activities running on the processor to be starved
106
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
107
Predefined time
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
108
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
Hardware Interrupt Schedulate
 This Solution maybe Founded in Advanced Interrupt Controller
109
https://www.facebook.com/groups/embedded.system.KS/
Conclusion
DEFINITIONS
110
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
DEFINITIONS
 Interrupt - Hardware-supported asynchronous transfer of control to an
 interrupt vector Interrupt Vector - Dedicated location in memory that specifies
address execution jumps to
 Interrupt Handler - Code that is reachable from an interrupt vector
 Interrupt Controller - Peripheral device that manages interrupts for the
processor
 Pending - Firing condition met and noticed but interrupt handler has not
began to execute
 Interrupt Latency - Time from interrupt’s firing condition being met and start
of execution of interrupt handler
 Nested Interrupt - Occurs when one interrupt handler preempts another
111
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
References
 http://techdifferences.com/difference-between-interrupt-and-polling-in-
os.html
 http://www.bogotobogo.com/Embedded/hardware_interrupt_software_inter
rupt_latency_irq_vs_fiq.php
 Preventing Interrupt Overload Presented by Jiyong Park Seoul National
University, Korea 2005. 2. 22. John Regehr, Usit Duogsaa, School of
Computing, University.
 First Steps Embedded Systems Byte Craft Limited reference
 COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR
PERFORMANCE EIGHTH EDITION William Stallings
 Getting Started with the Tiva™ TM4C123G LaunchPad Workshop
112
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
References
 Tiva™ TM4C123GH6PM Microcontroller DATA SHEET
 Interrupts and Exceptions COMS W6998 Spring 2010
 THE AVR MICROCONTROLLER. AND EMBEDDED SYSTEMS Using Assembly and C.
Muhammad Ali Mazidi.
113
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
References
 https://docs.google.com/viewer?a=v&pid=sites&srcid=ZmtlLnV0bS5teXxyaWR6dW
FuLXMtd2Vic2l0ZXxneDo2ODU0NzlkM2JkOTg4MjRk
 http://www.avrprojects.net/index.php/avr-projects/sensors/38-humidity-and-
temperature-sensor-dht11?showall=&start=1
 http://www.cse.wustl.edu/~lu/cse467s/slides/dsp.pdf
 http://www.avr-tutorials.com/
 Microprocessor: ATmega32 (SEE3223-10)
http://ridzuan.fke.utm.my/microprocessor-atmega32-see3223-10
 http://circuitdigest.com/article/what-is-the-difference-between-microprocessor-
and-microcontroller
 AVR Microcontroller and Embedded Systems: Using Assembly and C (Pearson
Custom Electronics Technology) 1st Edition
https://www.amazon.com/AVR-Microcontroller-Embedded-Systems-
Electronics/dp/0138003319
114
https://www.facebook.com/groups/embedded.system.KS/https://www.facebook.com/groups/embedded.system.KS/
115

Mais conteúdo relacionado

Mais procurados

Automotive embedded systems part1 v1
Automotive embedded systems part1 v1Automotive embedded systems part1 v1
Automotive embedded systems part1 v1Keroles karam khalil
 
Automotive embedded systems part4 v1
Automotive embedded systems part4 v1Automotive embedded systems part4 v1
Automotive embedded systems part4 v1Keroles karam khalil
 
Automotive embedded systems part2 v1
Automotive embedded systems part2 v1Automotive embedded systems part2 v1
Automotive embedded systems part2 v1Keroles karam khalil
 
Manual micrologix 1100
Manual micrologix 1100Manual micrologix 1100
Manual micrologix 1100pedrocu
 
ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!Mr. Vengineer
 
How to set up opc with simatic net
How to set up opc with simatic netHow to set up opc with simatic net
How to set up opc with simatic nethassanaagib
 
CLP S7 300 E S7 400
CLP S7 300 E S7 400 CLP S7 300 E S7 400
CLP S7 300 E S7 400 confidencial
 
LAS16-111: Easing Access to ARM TrustZone – OP-TEE and Raspberry Pi 3
LAS16-111: Easing Access to ARM TrustZone – OP-TEE and Raspberry Pi 3LAS16-111: Easing Access to ARM TrustZone – OP-TEE and Raspberry Pi 3
LAS16-111: Easing Access to ARM TrustZone – OP-TEE and Raspberry Pi 3Linaro
 
Trusted firmware deep_dive_v1.0_
Trusted firmware deep_dive_v1.0_Trusted firmware deep_dive_v1.0_
Trusted firmware deep_dive_v1.0_Linaro
 
Cis81 ccna1v5-2-configuring networkoperatingsystem
Cis81 ccna1v5-2-configuring networkoperatingsystemCis81 ccna1v5-2-configuring networkoperatingsystem
Cis81 ccna1v5-2-configuring networkoperatingsystemBetselove
 
HKG15-505: Power Management interactions with OP-TEE and Trusted Firmware
HKG15-505: Power Management interactions with OP-TEE and Trusted FirmwareHKG15-505: Power Management interactions with OP-TEE and Trusted Firmware
HKG15-505: Power Management interactions with OP-TEE and Trusted FirmwareLinaro
 
operating and configuring cisco a cisco IOS device
operating and configuring cisco a cisco IOS deviceoperating and configuring cisco a cisco IOS device
operating and configuring cisco a cisco IOS devicescooby_doo
 

Mais procurados (20)

C programming session9 -
C programming  session9 -C programming  session9 -
C programming session9 -
 
Microcontroller part 5
Microcontroller part 5Microcontroller part 5
Microcontroller part 5
 
Microcontroller part 2
Microcontroller part 2Microcontroller part 2
Microcontroller part 2
 
Microcontroller part 8_v1
Microcontroller part 8_v1Microcontroller part 8_v1
Microcontroller part 8_v1
 
EMBEDDED C
EMBEDDED CEMBEDDED C
EMBEDDED C
 
K vector embedded_linux_workshop
K vector embedded_linux_workshopK vector embedded_linux_workshop
K vector embedded_linux_workshop
 
Automotive embedded systems part1 v1
Automotive embedded systems part1 v1Automotive embedded systems part1 v1
Automotive embedded systems part1 v1
 
Automotive embedded systems part4 v1
Automotive embedded systems part4 v1Automotive embedded systems part4 v1
Automotive embedded systems part4 v1
 
First session quiz
First session quizFirst session quiz
First session quiz
 
Automotive embedded systems part2 v1
Automotive embedded systems part2 v1Automotive embedded systems part2 v1
Automotive embedded systems part2 v1
 
Manual micrologix 1100
Manual micrologix 1100Manual micrologix 1100
Manual micrologix 1100
 
ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!
 
How to set up opc with simatic net
How to set up opc with simatic netHow to set up opc with simatic net
How to set up opc with simatic net
 
CLP S7 300 E S7 400
CLP S7 300 E S7 400 CLP S7 300 E S7 400
CLP S7 300 E S7 400
 
LAS16-111: Easing Access to ARM TrustZone – OP-TEE and Raspberry Pi 3
LAS16-111: Easing Access to ARM TrustZone – OP-TEE and Raspberry Pi 3LAS16-111: Easing Access to ARM TrustZone – OP-TEE and Raspberry Pi 3
LAS16-111: Easing Access to ARM TrustZone – OP-TEE and Raspberry Pi 3
 
Trusted firmware deep_dive_v1.0_
Trusted firmware deep_dive_v1.0_Trusted firmware deep_dive_v1.0_
Trusted firmware deep_dive_v1.0_
 
Cis81 ccna1v5-2-configuring networkoperatingsystem
Cis81 ccna1v5-2-configuring networkoperatingsystemCis81 ccna1v5-2-configuring networkoperatingsystem
Cis81 ccna1v5-2-configuring networkoperatingsystem
 
HKG15-505: Power Management interactions with OP-TEE and Trusted Firmware
HKG15-505: Power Management interactions with OP-TEE and Trusted FirmwareHKG15-505: Power Management interactions with OP-TEE and Trusted Firmware
HKG15-505: Power Management interactions with OP-TEE and Trusted Firmware
 
operating and configuring cisco a cisco IOS device
operating and configuring cisco a cisco IOS deviceoperating and configuring cisco a cisco IOS device
operating and configuring cisco a cisco IOS device
 
What is Bootloader???
What is Bootloader???What is Bootloader???
What is Bootloader???
 

Destaque (16)

C programming part2
C programming part2C programming part2
C programming part2
 
C programming part2
C programming part2C programming part2
C programming part2
 
C programming session6
C programming  session6C programming  session6
C programming session6
 
C programming first_session
C programming first_sessionC programming first_session
C programming first_session
 
Notes part1
Notes part1Notes part1
Notes part1
 
C programming session10
C programming  session10C programming  session10
C programming session10
 
C programming session8
C programming  session8C programming  session8
C programming session8
 
C programming part4
C programming part4C programming part4
C programming part4
 
C programming session3
C programming  session3C programming  session3
C programming session3
 
Microcontroller part 2
Microcontroller part 2Microcontroller part 2
Microcontroller part 2
 
Microcontroller part 3
Microcontroller part 3Microcontroller part 3
Microcontroller part 3
 
C programming first_session
C programming first_sessionC programming first_session
C programming first_session
 
C programming part2
C programming part2C programming part2
C programming part2
 
C programming session8
C programming  session8C programming  session8
C programming session8
 
Microcontroller part 4
Microcontroller part 4Microcontroller part 4
Microcontroller part 4
 
C programming session7
C programming  session7C programming  session7
C programming session7
 

Semelhante a Microcontroller part 4

Beyond the RTOS: A Better Way to Design Real-Time Embedded Software
Beyond the RTOS: A Better Way to Design Real-Time Embedded SoftwareBeyond the RTOS: A Better Way to Design Real-Time Embedded Software
Beyond the RTOS: A Better Way to Design Real-Time Embedded SoftwareMiro Samek
 
Beyond the RTOS: A Better Way to Design Real-Time Embedded Software
Beyond the RTOS: A Better Way to Design Real-Time Embedded SoftwareBeyond the RTOS: A Better Way to Design Real-Time Embedded Software
Beyond the RTOS: A Better Way to Design Real-Time Embedded SoftwareQuantum Leaps, LLC
 
RTOS implementation
RTOS implementationRTOS implementation
RTOS implementationRajan Kumar
 
Lecture1,2,3 (1).pdf
Lecture1,2,3 (1).pdfLecture1,2,3 (1).pdf
Lecture1,2,3 (1).pdfTaufeeq8
 
Operating System
Operating SystemOperating System
Operating Systemguest8b0942
 
Guide to alfresco monitoring
Guide to alfresco monitoringGuide to alfresco monitoring
Guide to alfresco monitoringMiguel Rodriguez
 
Linux Interrupts
Linux InterruptsLinux Interrupts
Linux InterruptsKernel TLV
 
Troubleshooting Linux Kernel Modules And Device Drivers
Troubleshooting Linux Kernel Modules And Device DriversTroubleshooting Linux Kernel Modules And Device Drivers
Troubleshooting Linux Kernel Modules And Device DriversSatpal Parmar
 
Troubleshooting linux-kernel-modules-and-device-drivers-1233050713693744-1
Troubleshooting linux-kernel-modules-and-device-drivers-1233050713693744-1Troubleshooting linux-kernel-modules-and-device-drivers-1233050713693744-1
Troubleshooting linux-kernel-modules-and-device-drivers-1233050713693744-1Jagadisha Maiya
 
Smash the Stack: Writing a Buffer Overflow Exploit (Win32)
Smash the Stack: Writing a Buffer Overflow Exploit (Win32)Smash the Stack: Writing a Buffer Overflow Exploit (Win32)
Smash the Stack: Writing a Buffer Overflow Exploit (Win32)Elvin Gentiles
 
Interrupts of 8085
Interrupts of 8085Interrupts of 8085
Interrupts of 8085ShivamSood22
 
Interview questions
Interview questionsInterview questions
Interview questionsxavier john
 

Semelhante a Microcontroller part 4 (20)

Autosar Basics hand book_v1
Autosar Basics  hand book_v1Autosar Basics  hand book_v1
Autosar Basics hand book_v1
 
Interrupts
InterruptsInterrupts
Interrupts
 
Operating System Assignment Help
Operating System Assignment HelpOperating System Assignment Help
Operating System Assignment Help
 
Interrupts
InterruptsInterrupts
Interrupts
 
Beyond the RTOS: A Better Way to Design Real-Time Embedded Software
Beyond the RTOS: A Better Way to Design Real-Time Embedded SoftwareBeyond the RTOS: A Better Way to Design Real-Time Embedded Software
Beyond the RTOS: A Better Way to Design Real-Time Embedded Software
 
Beyond the RTOS: A Better Way to Design Real-Time Embedded Software
Beyond the RTOS: A Better Way to Design Real-Time Embedded SoftwareBeyond the RTOS: A Better Way to Design Real-Time Embedded Software
Beyond the RTOS: A Better Way to Design Real-Time Embedded Software
 
Linux clustering solution
Linux clustering solutionLinux clustering solution
Linux clustering solution
 
RTOS implementation
RTOS implementationRTOS implementation
RTOS implementation
 
Lecture1,2,3 (1).pdf
Lecture1,2,3 (1).pdfLecture1,2,3 (1).pdf
Lecture1,2,3 (1).pdf
 
Operating System
Operating SystemOperating System
Operating System
 
Ch04 system administration
Ch04 system administration Ch04 system administration
Ch04 system administration
 
Ch04
Ch04Ch04
Ch04
 
Guide to alfresco monitoring
Guide to alfresco monitoringGuide to alfresco monitoring
Guide to alfresco monitoring
 
Linux Interrupts
Linux InterruptsLinux Interrupts
Linux Interrupts
 
Troubleshooting Linux Kernel Modules And Device Drivers
Troubleshooting Linux Kernel Modules And Device DriversTroubleshooting Linux Kernel Modules And Device Drivers
Troubleshooting Linux Kernel Modules And Device Drivers
 
Troubleshooting linux-kernel-modules-and-device-drivers-1233050713693744-1
Troubleshooting linux-kernel-modules-and-device-drivers-1233050713693744-1Troubleshooting linux-kernel-modules-and-device-drivers-1233050713693744-1
Troubleshooting linux-kernel-modules-and-device-drivers-1233050713693744-1
 
Smash the Stack: Writing a Buffer Overflow Exploit (Win32)
Smash the Stack: Writing a Buffer Overflow Exploit (Win32)Smash the Stack: Writing a Buffer Overflow Exploit (Win32)
Smash the Stack: Writing a Buffer Overflow Exploit (Win32)
 
Linux scheduler
Linux schedulerLinux scheduler
Linux scheduler
 
Interrupts of 8085
Interrupts of 8085Interrupts of 8085
Interrupts of 8085
 
Interview questions
Interview questionsInterview questions
Interview questions
 

Mais de Keroles karam khalil (20)

C basics quiz part 1_solution
C basics quiz part 1_solutionC basics quiz part 1_solution
C basics quiz part 1_solution
 
Automotive embedded systems part6 v2
Automotive embedded systems part6 v2Automotive embedded systems part6 v2
Automotive embedded systems part6 v2
 
Automotive embedded systems part5 v2
Automotive embedded systems part5 v2Automotive embedded systems part5 v2
Automotive embedded systems part5 v2
 
Automotive embedded systems part7 v1
Automotive embedded systems part7 v1Automotive embedded systems part7 v1
Automotive embedded systems part7 v1
 
Automotive embedded systems part6 v1
Automotive embedded systems part6 v1Automotive embedded systems part6 v1
Automotive embedded systems part6 v1
 
Automotive embedded systems part5 v1
Automotive embedded systems part5 v1Automotive embedded systems part5 v1
Automotive embedded systems part5 v1
 
Automotive embedded systems part3 v1
Automotive embedded systems part3 v1Automotive embedded systems part3 v1
Automotive embedded systems part3 v1
 
Automotive embedded systems part8 v1
Automotive embedded systems part8 v1Automotive embedded systems part8 v1
Automotive embedded systems part8 v1
 
Quiz 9
Quiz 9Quiz 9
Quiz 9
 
Quiz 10
Quiz 10Quiz 10
Quiz 10
 
Homework 6
Homework 6Homework 6
Homework 6
 
Homework 5 solution
Homework 5 solutionHomework 5 solution
Homework 5 solution
 
Notes part7
Notes part7Notes part7
Notes part7
 
Homework 5
Homework 5Homework 5
Homework 5
 
C programming session7
C programming  session7C programming  session7
C programming session7
 
Notes part6
Notes part6Notes part6
Notes part6
 
Homework 4 solution
Homework 4 solutionHomework 4 solution
Homework 4 solution
 
Notes part5
Notes part5Notes part5
Notes part5
 
Homework 4
Homework 4Homework 4
Homework 4
 
Homework 3 solution
Homework 3 solutionHomework 3 solution
Homework 3 solution
 

Último

BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxfenichawla
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...Call Girls in Nagpur High Profile
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdfKamal Acharya
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
Glass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesGlass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesPrabhanshu Chaturvedi
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college projectTonystark477637
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Christo Ananth
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 

Último (20)

BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
Glass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesGlass Ceramics: Processing and Properties
Glass Ceramics: Processing and Properties
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 

Microcontroller part 4