メインページ
|
モジュール
|
名前空間一覧
|
クラス階層
|
構成
|
ファイル一覧
|
名前空間メンバ
|
構成メンバ
|
ファイルメンバ
|
関連ページ
サービスコールスタブ
μITRON 4.0仕様のサービスコールを間接的に呼び出すためのスタブクラス
[詳細]
構成
class
fncode_stub
機能コードを用いたサービスコールスタブの定義
[詳細]
class
outline_stub
外部関数を用いたサービスコールスタブの定義
[詳細]
class
raw_stub
最も単純なサービスコールスタブ
[詳細]
解説
サービスコールスタブ モジュールは、TOPPERS カーネルのサービスコールの呼出し方法をパラメータ化 するための機構である。 ユーザ独自のサービスコールスタブを定義することで、μITRON 以外のカーネルや、μITRON の異なる バージョンのカーネルを使用することも、原理的には可能である。
カーネル間の差異の吸収:
主として、サポートされるサービスコールの違いを意識することなくライブラリを構築できる。 存在しないサービスコールを呼出そうとした場合、コンパイル時にエラーにすることも、実行時に エラーにすることもできる。また、ユーザの手によって、不足したサービスコールを補完することも 可能である。
使用するサービスコールスタブをテンプレート引数にすることで、該当するサービスコールを実際に (テンプレートではなく実体として)呼出すようなコードを記述するまで、コンパイルエラーになる ことを回避することができる。
引数や返却値の型の統一:
μITRON 仕様のカーネルは、仕様を満たしていたとしても、サービスコールの引数の型が 微妙に異なる場合がある。また、同一のカーネルでもターゲットによって異なる可能性もある。
C++では、そうした微妙な型の差異が多重定義等に思わぬ障害を引き起こす可能性があるため、 サービスコールスタブによって型を統一することができる。
例外指定の付加:
μITRON カーネルのヘッダは、主としてC言語で使用することを想定して実装されているため、C++の 例外指定がない場合がある。
サービスコールスタブを用いることで、各サービスコールに例外指定を追加することができる。 これにより、例外処理に関連した不要なコードが生成されることを抑止し、プログラムの効率化を図る ことができる。
Copyright © 2004 by
TAKAGI Nobuhisa
本ソフトウェアは
TOPPERSライセンス
に基づいて配布されています。
TRON
は"The Real-time Operating system Nucleus"の略称です。
ITRON
は"Industrial TRON"の略称です。
μITRONは"Micro Industrial TRON"の略称です。
TRON、ITRON、およびμITRONは、特定の商品ないしは商品群を指す名称ではありません。
TOPPERS
は"Toyohashi OPen Platform for Embedded Real-time Systems"の略称、JSPは"Just Standard Profile"の略称です。
本ページ中の商品名は,各社の商標または登録商標です。