• 検索結果がありません。

カーネル共通定義

ドキュメント内 μITRON4.0仕様書(Ver ) (ページ 93-97)

第 3 章 µITRON4.0仕様の概念と共通定義 49

3.11 カーネル共通定義

3.11.1 カーネル共通定数 (1) オブジェクト属性

TA_HLNG 0x00 高級言語用のインタフェースで処理単位を起動

TA_ASM 0x01 アセンブリ言語用のインタフェースで処理単位

を起動

TA_TFIFO 0x00 タスクの待ち行列をFIFO順に

TA_TPRI 0x01 タスクの待ち行列をタスクの優先度順に

TA_MFIFO 0x00 メッセージのキューをFIFO順に

TA_MPRI 0x02 メッセージのキューをメッセージの優先度順に

【µITRON3.0仕様との相違】

TA_HLNGとTA_ASMの値を逆にした.

(2) カーネルで用いるメインエラーコード

カーネルでは,2.3.2節に規定されているメインエラーコードの中で,E_CLS,

E_WBLK,E_BOVRの3つを除いたメインエラーコードを用いる.

【スタンダードプロファイル】

スタンダードプロファイルで発生し,検出しなければならないメインエラー コードは次の通りである.

E_OBJ オブジェクト状態エラー

E_QOVR キューイングオーバフロー

E_RLWAI 待ち状態の強制解除

E_TMOUT ポーリング失敗またはタイムアウト

スタンダードプロファイルに準拠したカーネル上でポータビリティを確保し たいアプリケーションは,上に挙げた以外のメインエラーコードが検出される ことに依存してはならない.

【補足説明】

スタンダードプロファイルで発生しないか,検出を省略することができるメイ ンエラーコードは,次の通りである.

(a)カーネルでは使用しないもの E_CLS,E_WBLK,E_BOVR

(b)スタンダードプロファイルの機能では発生しないもの E_OACV,E_NOID,E_NOEXS,E_DLT

(c) 発生するかどうかは実装に依存するもの E_SYS,E_RSFN,E_NOMEM

(d)検出を省略することができるもの

E_NOSPT,E_RSATR,E_PAR,E_ID,E_CTX,E_MACV,E_ILUSE (3) サービスコールの機能コード

カーネルのサービスコールには,(–0xe0)〜(–0x05)の範囲の機能コードを割り 付ける.ただし,cal_svcには機能コードを割り付けない.機能コードの具体的 な割付けは,第4章において機能単位毎に規定する.

(–0xe0)〜(–0x05)の範囲の機能コードで,この仕様で割り付けられていないも

のは,将来のカーネルの機能拡張のために予約されている.(–0x100)〜(–0xe1) の範囲の機能コードは,実装独自のサービスコールに用いることができる.(–

0x200)〜(–0x101)の範囲の機能コードは,将来のカーネルの機能拡張のために

予約されているが,必要であれば実装独自のサービスコールに用いてもよいも のとする.

【µITRON3.0仕様との相違】

機能コードの値を割り付けなおした.

【仕様決定の理由】

スタンダードプロファイルに含まれるサービスコールの機能コードを(–0x80)

〜(–0x05)の範囲としているが,これは,8ビットで表現できるようにするため

である.

(4) その他のカーネル共通定数

TSK_SELF 0 自タスク指定

TSK_NONE 0 該当するタスクが無い

【µITRON3.0仕様との相違】

TSK_NONEを新たに導入した.µITRON3.0仕様では.該当するタスクが無い場

合にはFALSE(=0)を用いている.

3.11.2 カーネル共通構成定数

(1) 優先度の範囲

TMIN_TPRI タスク優先度の最小値(=1)

TMAX_TPRI タスク優先度の最大値

TMIN_MPRI メッセージ優先度の最小値(=1)

TMAX_MPRI メッセージ優先度の最大値

【スタンダードプロファイル】

スタンダードプロファイルでは,これらのカーネル構成定数を定義しなければ

ならない.また,TMAX_TPRIは16以上,TMAX_MPRIはTMAX_TPRI以上で なければならない.

【補足説明】

TMIN_TPRIとTMIN_MPRIは,この仕様上は1に固定されているが,実装独自の

拡張として,1以外の値でカーネルを構成できるようにすることは許される.

(2) バージョン情報

TKERNEL_MAKER カーネルのメーカコード

TKERNEL_PRID カーネルの識別番号

TKERNEL_SPVER ITRON仕様のバージョン番号

TKERNEL_PRVER カーネルのバージョン番号

【スタンダードプロファイル】

スタンダードプロファイルでは,これらのカーネル構成定数を定義しなければ ならない.

【補足説明】

バージョン情報をあらわす定数値の意味については,ref_verの機能説明を参照 すること.

ドキュメント内 μITRON4.0仕様書(Ver ) (ページ 93-97)