CHAPTER 16 SERVICE CALLS


This chapter describes the service calls supported by the RI850V4.

16.1 Outline

The service calls provided by the RI850V4 are service routines provided for indirectly manipulating the resources (tasks, semaphores, etc.) managed by the RI850V4 from a processing program.

The service calls provided by the RI850V4 are listed below by management module.

- Task management functions

act_tsk, iact_tsk, can_act, ican_act, sta_tsk, ista_tsk, ext_tsk, ter_tsk, chg_pri, ichg_pri, get_pri, iget_pri, ref_tsk, iref_tsk, ref_tst, iref_tst

- Task dependent synchronization functions

slp_tsk, tslp_tsk, wup_tsk, iwup_tsk, can_wup, ican_wup, rel_wai, irel_wai, sus_tsk, isus_tsk, rsm_tsk, irsm_tsk, frsm_tsk, ifrsm_tsk, dly_tsk

- Synchronization and communication functions (semaphores)

wai_sem, pol_sem, ipol_sem, twai_sem, sig_sem, isig_sem, ref_sem, iref_sem

- Synchronization and communication functions (eventflags)

set_flg, iset_flg, clr_flg, iclr_flg, wai_flg, pol_flg, ipol_flg, twai_flg, ref_flg, iref_flg

- Synchronization and communication functions (data queues)

snd_dtq, psnd_dtq, ipsnd_dtq, tsnd_dtq, fsnd_dtq, ifsnd_dtq, rcv_dtq, prcv_dtq, iprcv_dtq, trcv_dtq, ref_dtq, iref_dtq

- Synchronization and communication functions (mailboxes)

snd_mbx, isnd_mbx, rcv_mbx, prcv_mbx, iprcv_mbx, trcv_mbx, ref_mbx, iref_mbx

- Extended synchronization and communication functions (mutexes)

loc_mtx, ploc_mtx, tloc_mtx, unl_mtx, ref_mtx, iref_mtx

- Memory pool management functions (fixed-sized memory pools)

get_mpf, pget_mpf, ipget_mpf, tget_mpf, rel_mpf, irel_mpf, ref_mpf, iref_mpf

- Memory pool management functions (variable-sized memory pools)

get_mpl, pget_mpl, ipget_mpl, tget_mpl, rel_mpl, irel_mpl, ref_mpl, iref_mpl

- Time management functions

set_tim, iset_tim, get_tim, iget_tim, sta_cyc, ista_cyc, stp_cyc, istp_cyc, ref_cyc, iref_cyc

- System state management functions

rot_rdq, irot_rdq, vsta_sch, get_tid, iget_tid, loc_cpu, iloc_cpu, unl_cpu, iunl_cpu, sns_loc, dis_dsp, ena_dsp, sns_dsp, sns_ctx, sns_dpn

- Service call management functions

cal_svc, ical_svc

16.1.1 Call service call

The method for calling service calls from processing programs coded either in C or assembly language is described below.

- C language
By calling using the same method as for normal C functions, service call parameters are handed over to the RI850V4 as arguments and the relevant processing is executed.


- Assembly language
When issuing a service call from a processing program coded in assembly language, set parameters and the return address according to the calling rules prescribed in the C compiler used as the development environment and call the function using the jarl instruction; the service call parameters are then transferred to the RI850V4 as arguments and the relevant processing will be executed.


Note To call the service calls provided by the RI850V4 from a processing program, the header files listed below must be coded (include processing).

kernel.h: Standard header file

kernel_id.h: System information header file

16.2 Explanation of Service Call

The following explains the service calls supported by the RI850V4, in the format shown below.



1 ) Name
Indicates the name of the service call.


2 ) Outline
Outlines the functions of the service call.


3 ) C format
Indicates the format to be used when describing a service call to be issued in C language.


4 ) Parameter(s)
Service call parameters are explained in the following format.


I/O

Parameter

Description

A

B

C



A ) Parameter classification

I: Parameter input to RI850V4.

O: Parameter output from RI850V4.

B ) Parameter data type

C ) Description of parameter

5 ) Explanation
Explains the function of a service call.


6 ) Return value
Indicates a service call's return value using a macro and value.


Macro

Value

Description

A

B

C



A ) Macro of return value

B ) Value of return value

C ) Description of return value