TOPPERS/ASP
カーネル(TOPPERS/Advanced Standard Profile Kernel)は、TOPPERSプロジェクトによって開発された、オープンソースの
リアルタイムオペレーティングシステム(RTOS)です。この
カーネルは、μITRON4.0仕様のスタンダードプロファイルを拡張したもので、組み込みシステムにおけるリアルタイム制御を効率的に行うための機能を提供します。
仕様と特徴
μITRON4.0仕様との関連性: TOPPERS/ASP
カーネルは、μITRON4.0仕様から強い影響を受けており、互換性も考慮されていますが、細部において差異があるため、別仕様として扱われるべきです。μITRON仕様の発展形という点では、
T-Kernel仕様と類似した立ち位置にありますが、
T-KernelはμITRON3.0仕様をベースにしているため、TOPPERS/ASP
カーネルとの互換性は限定的です。
静的コンフィギュレーション: OSEK/VDX仕様との類似点として、静的コンフィギュレーションを採用している点が挙げられます。TOPPERS/ASP
カーネルのコンフィギュレータは、OSEK/VDX仕様のシステムジェネレータから影響を受けています。また、タスク優先度と割込み優先度マスクを統合している点も、OSEK/VDX仕様との共通点です。ITRONの自動車用プロファイルがOSEK/VDXに基づいており、最小セットプロファイルがOSEK/VDXのBCC1と同等であることからも、関連性が伺えます。
独自拡張機能
TOPPERS/ASP
カーネルは、以下のような独自拡張機能を提供しています。
割り込み管理機能: ターゲット依存の割り込み管理機能を提供します。具体的には、以下の機能が含まれます。
`dis_int`: 割り込み禁止
`ena_int`: 割り込み許可
`chg_ipm`: 割り込み優先度マスク変更
`get_ipm`: 割り込み優先度マスク取得
CPU例外発生時のシステム状態参照機能:
`xsns_dpn`: ディスパッチ保留状態の参照
`xsns_xpn`: 例外発生時の状態参照
性能評価用システム時刻参照機能: `xget_utm`: システム時刻の取得
終了処理ルーチン機能: `ATT_TER`: 終了処理ルーチン設定
カーネル動作状態参照機能: `sns_ker`:
カーネル動作状態の参照
主なターゲット
TOPPERS/ASP
カーネルは、以下の様々なアーキテクチャをサポートしています。
M68040
SuperH
H8
ARM
MicroBlaze
Nios II
M32R
M16C
M32C
R32C
CFV2
Cortex-M3
Skyeye
Mac OS X
関連事項
Boost: コンフィギュレータの構築に必要となるライブラリです。
まとめ
TOPPERS/ASP
カーネルは、μITRON4.0仕様をベースとしつつ、独自の拡張機能と多様なターゲットへの対応を可能にした、高性能なリアルタイムOSです。特に、静的コンフィギュレーションや割り込み管理機能は、組み込みシステムの開発において重要な役割を果たします。今後のTOPPERSプロジェクトにおける
カーネル開発の基盤として、その発展が期待されます。