Controlling interrupts – Renesas 70 User Manual

Page 90

Advertising
background image

Chapter 5 Detailed Applications

- 80 -

5.5.3 Controlling

Interrupts

Interrupt enable/disable control in a service call is accomplished by IPL manipulation. The IPL value in a service
call is set to the kernel mask level(OS interrupt disable level = system.IPL) in order to disable interrupts for the
kernel(OS-dependent) interrupt handler. In sections where all interrupts can be enabled, it is returned to the ini-
tial IPL value when the service call was invoked.

Figure 5.12 Interrupt control in a System Call that can be Issued from only a Task

shows the interrupt enable flag and IPL status in a service call.

For service calls that can be issued from only task context.

Task

Service call issued

Service call processing

I flag

IPL

1

0

system.IPL

system.IPL

1

0

0

1

0

Task

Service call issued

Service call processing

I flag

IPL

0

0

system.IPL

system.IPL

1

0

0

0

0

When the I flag before issuing a service call is 1.

When the I flag before issuing a service call is 0.

Figure 5.12 Interrupt control in a System Call that can be Issued from only a Task

For service calls that can be issued from only non-task context or from both task context and non-task
context.

Advertising