beautypg.com

Renesas Emulator System M3T-MR100 User Manual

Page 190

background image

- 174 -

unl_cpu

Unlock the CPU

iunl_cpu

Unlock the CPU (handler only)

[

[

[

[

C

C

L

L

a

a

n

n

g

g

u

u

a

a

g

g

e

e

A

A

P

P

I

I

]

]

]

]

ER ercd = unl_cpu();
ER ercd = iunl_cpu();

z

z

P

P

a

a

r

r

a

a

m

m

e

e

t

t

e

e

r

r

s

s

None

z

z

R

R

e

e

t

t

u

u

r

r

n

n

P

P

a

a

r

r

a

a

m

m

e

e

t

t

e

e

r

r

s

s

ER ercd Terminated

normally (E_OK)

[

[

[

[

A

A

s

s

s

s

e

e

m

m

b

b

l

l

y

y

l

l

a

a

n

n

g

g

u

u

a

a

g

g

e

e

A

A

P

P

I

I

]

]

]

]

.include mr100.inc
unl_cpu
iunl_cpu

z

z

P

P

a

a

r

r

a

a

m

m

e

e

t

t

e

e

r

r

s

s

None

z

z

R

R

e

e

g

g

i

i

s

s

t

t

e

e

r

r

c

c

o

o

n

n

t

t

e

e

n

n

t

t

s

s

a

a

f

f

t

t

e

e

r

r

s

s

e

e

r

r

v

v

i

i

c

c

e

e

c

c

a

a

l

l

l

l

i

i

s

s

i

i

s

s

s

s

u

u

e

e

d

d

Register name

Content after service call is issued

R0 Error

code

[

[

[

[

E

E

r

r

r

r

o

o

r

r

c

c

o

o

d

d

e

e

]

]

]

]

None

[

[

[

[

F

F

u

u

n

n

c

c

t

t

i

i

o

o

n

n

a

a

l

l

d

d

e

e

s

s

c

c

r

r

i

i

p

p

t

t

i

i

o

o

n

n

]

]

]

]

This service call frees the system from a CPU locked state that was set by the loc_cpu or iloc_cpu service call. If the
unl_cpu service call is issued from a dispatching enabled state, task scheduling is performed. If the system was put into a
CPU locked state by invoking iloc_cpu within an interrupt handler, the system must always be placed out of a CPU locked
state by invoking iunl_cpu before it returns from the interrupt handler.

The CPU locked state and the dispatching disabled state are managed independently of each other. Therefore, the system
cannot be freed from a dispatching disabled state by the unl_cpu or iunl_cpu service call unless the ena_dsp service call is
used.

If this service call is to be issued from task context, use unl_cpu; if issued from non-task context, use iunl_cpu.

[

[

[

[

E

E

x

x

a

a

m

m

p

p

l

l

e

e

p

p

r

r

o

o

g

g

r

r

a

a

m

m

s

s

t

t

a

a

t

t

e

e

m

m

e

e

n

n

t

t

]

]

]

]

<>

#include
#include
#include “kernel_id.h”
void task()
{

:

unl_cpu();

:

}

<>
.include

mr100.inc

.GLB

task

task:

:
unl_cpu
: