
CHAPTER 13 SERVICE CALLS
User’s Manual U14833EJ2V0UM
285
Bit 0 specifies the language in which the interrupt service routine is described. TA_ASM means that the routine
is described in an assembly language. TA_HLNG means the C language. With the current version, however,
these two attributes are not differentiated in the kernel processing.
exinf
Stores user-defined information on the interrupt service routine to be created. This extended data is passed to
the interrupt service routine as a parameter when the routine is activated.
intno
Specifies a number that uniformly identifies the interrupt corresponding to the interrupt service routine to be
created. Interrupt numbers can be arbitrarily defined by the user. However,
1 must not be used as it is reserved
for the system.
isr
Specifies the activation address of the interrupt service routine.
gp
Specifies the base address (gp) of PID (Position Independent Data) used by the interrupt service routine to be
created. Set NULL if the routine does not use PID.
tp
This is a reserved area. Always set NULL to this area. However, a value other than NULL is ignored even if set.
[Differences from
μ
ITRON3.0]
It is defined that processing corresponding to an interrupt vector is performed by an “interrupt handler” and the
processing corresponding to an interrupt source is performed by an “interrupt service routine”. Because the RX4000
has only one interrupt vector for the V
R
4100 Series and V
R
5000 Series, it does not supply a function to define interrupt
handlers but supplies a function to create interrupt service routines.
[Return values]
Symbol
Value
Meaning
E_OK
0
Normal termination
E_RSFN
10
cre_isr is not included in the system
E_RSATR
11
The interrupt service routine attribute is illegal
E_PAR
17
The parameter is illegal
The interrupt number is illegal (intno > maximum interrupt number)
E_ID
18
The interrupt service routine ID number is outside the range
(isrid
≤
0, maximum interrupt service routine count < isrid)
E_CTX
25
cre_isr was issued from a non-task context
cre_isr was issued in the CPU lock state
E_OBJ
41
An interrupt service routine with the same ID number already exists