Chapter 7 Application Creation Guide
- 139 -
7.1.3 System Calls from a Handler That Caused an Interrupt during Handler Execution
Let us think of a situation in which an interrupt occurs during handler execution (this handler is hereinafter re-
ferred to as handler A for explanation purposes). When task switching is called for as a handler (hereinafter re-
ferred to as handler B) that caused an interrupt during handler A execution issued a service call, task switching
does not take place during the execution of the service call (ret_int service call) returned from handler B, but is
effected by the ret_int service call from handler A (See Figure 7.3).
ret_int
ret_int
iset_flg
I
nterrupt
Interrupt
TaskA
Interrupt handler A
Save Registers
System call processing
OS
Restore Register
SP <= User
Restore Registers
Task selection
TaskB
Save Registers
SP <= System
Interrupt handler A
Restore Register
Figure 7.3 Processing Procedure for a service call from a Multiplex interrupt Handler