- 139 -
rel_mpf Release
fixed-size
memory
block
irel_mpf
Release fixed-size memory block (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 = rel_mpf( ID mpfid, VP blk );
ER ercd = irel_mpf( ID mpfid, VP blk);
z
z
P
P
a
a
r
r
a
a
m
m
e
e
t
t
e
e
r
r
s
s
ID
mpfid
ID number of the fixed-size memory pool to be released
VP
blk
Start address of the memory block to be returned
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
rel_mpf MPFID,BLK
irel_mpf MPFID,BLK
z
z
P
P
a
a
r
r
a
a
m
m
e
e
t
t
e
e
r
r
s
s
MPFID
ID number of the fixed-size memory pool to be released
BLK
Start address of the memory block to be returned
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
R3R1
Start address of the memory block to be returned
R2
ID number of the fixed-size memory pool to be released
[
[
[
[
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 releases a memory block whose start address is indicated by blk. The start address of the memory block to
be released that is specified here should always be that of the memory block acquired by get_mpf, tget_mpf, pget_mpf, or
ipget_mpf.
If tasks are enqueued in a waiting queue for the target memory pool, the task at the top of the waiting queue is dequeued
and linked to a ready queue, and is assigned a memory block. At this time, the task changes state from a memory block wait
state to RUNNING or READY state. This service call does not check the content of blk, so that if the address stored in blk
is incorrect, the service call may not operate correctly.
If this service call is to be issued from task context, use rel_mpf; if issued from non-task context, use irel_mpf.