第18章  サービス・コール


本章では,RI600V4が提供しているサービス・コールについて解説しています。

18.1 概  要

RI600V4が提供しているサービス・コールは,ユーザが記述した処理プログラムからRI600V4が管理している資源(タスク,セマフォなど)を操作するために用意されたサービス・ルーチンです。

以下に,RI600V4が提供しているサービス・コールを管理モジュール別に示します。

- タスク管理機能

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

- タスク付属同期機能

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

- 同期通信機能(セマフォ)

wai_sem  pol_sem  ipol_sem  twai_sem
sig_sem  isig_sem  ref_sem  iref_sem

- 同期通信機能(イベントフラグ)

set_flg  iset_flg  clr_flg  iclr_flg
wai_flg  pol_flg  ipol_flg  twai_flg
ref_flg  iref_flg

- 同期通信機能(データ・キュー)

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

- 同期通信機能(メールボックス)

snd_mbx  isnd_mbx  rcv_mbx  prcv_mbx
iprcv_mbx  trcv_mbx  ref_mbx  iref_mbx

- 拡張同期通信機能(ミューテックス)

loc_mtx  ploc_mtx  tloc_mtx  unl_mtx
ref_mtx 

- 拡張同期通信機能(メッセージ・バッファ)

snd_mbf  psnd_mbf  ipsnd_mbf  tsnd_mbf
rcv_mbf  prcv_mbf  trcv_mbf  ref_mbf
iref_mbf

- メモリ・プール管理機能(固定長メモリ・プール)

get_mpf  pget_mpf  ipget_mpf  tget_mpf
rel_mpf  irel_mpf  ref_mpf  iref_mpf

- メモリ・プール管理機能(可変長メモリ・プール)

get_mpl  pget_mpl  ipget_mpl  tget_mpl
rel_mpl  ref_mpl  iref_mpl

- 時間管理機能

set_tim  iset_tim  get_tim  iget_tim
sta_cyc  ista_cyc  stp_cyc  istp_cyc
ref_cyc  iref_cyc sta_alm ista_alm
stp_alm istp_alm ref_alm iref_alm

- システム状態管理機能

rot_rdq  irot_rdq  get_tid iget_tid  loc_cpu  iloc_cpu  unl_cpu iunl_cpu  dis_dsp  ena_dsp sns_ctx  sns_loc  sns_dsp  sns_dpn vsys_dwn ivsys_dwn
vsta_knl ivsta_knl

- 割り込み管理機能

chg_ims  ichg_ims get_ims  iget_ims

- システム構成管理機能

ref_ver  iref_ver

- オブジェクト・リセット機能

vrst_dtq  vrst_mbx vrst_mbf vrst_mpf

vrst_mpl

18.1.1 サービス・コールの呼び出し方法

サービス・コールは,通常のC言語関数と同様の方法で呼び出します。

備考 RI600V4が提供するサービス・コールを処理プログラムから発行する場合,以下に示したヘッダ・ファイルの定義(インクルード処理)を行う必要があります。

- kernel.h:標準ヘッダ・ファイル

- kernel_id.h:cfg600が出力するシステム情報ヘッダ・ファイル

18.2 サービス・コール解説

次項からRI600V4が提供しているサービス・コールについて,以下の記述フォーマットにしたがって解説します。

 

1 ) 名称
サービス・コールの名称を示しています。


2 ) 概要
サービス・コールの機能概要を示しています。


3 ) C言語形式
サービス・コールをC言語で記述された処理プログラムから発行する際の記述形式を示しています。


4 ) パラメータ
サービス・コールのパラメータを以下の形式で示しています。


 
I/O

パラメータ

説明

A

B

C



A ) パラメータの種類

I: RI600V4への入力パラメータ

O: RI600V4からの出力パラメータ

B ) パラメータのデータ・タイプ

C ) パラメータの説明

5 ) 機能
サービス・コールの機能詳細を示しています。


6 ) 戻り値
サービス・コールからの戻り値を以下の形式で示しています。


 
マクロ

数値

意味

A

B

C



A ) 戻り値のマクロ

B ) 戻り値の数値

C ) 戻り値の意味