beautypg.com

Renesas Emulator System M3T-MR100 User Manual

Page 49

background image

- 33 -

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

When the I flag before issuing a service call is 1

When the I flag before issuing a service call is 0

Service call issued

service call processing

I flag

IPL

1

4

system.IPL

system.IPL

1

0

4

1

4

Service call issued

service call processing

I flag

IPL

0

4

system.IPL

system.IPL

0

0

4

Task or
Handler

Task or
Handler

Task or
Handler

Task or
Handler

4

Figure 3.24 Interrupt control in a Service Call that can be Issued from a Task-independent

As shown in Figure 3.23 and Figure 3.24, the interrupt enable flag and IPL change in a service call. For this reason, if you
want to disable interrupts in a user application, Renesas does not recommend using the method for manipulating the inter-
rupt disable flag and IPL to disable the interrupts.

The following two methods for interrupt control are recommended:

1. Modify the interrupt control register (SFR) for the interrupt you want to be disabled.

2. Use service calls loc_cpu(iloc_cpu) and unl_cpu(iunl_cpu).

The interrupts that can be controlled by the loc_cpu service call are only the kernel interrupt. Use method 1 to control the
non-kernel interrupts.