TOPPERS/ASP3とは

TOPPERS/ASP3カーネル(TOPPERS/ASPカーネル Release 3.X。以下、ASP3カーネル)は、TOPPERS/ASPカーネルを拡張・改良したもので、TOPPERS第3世代カーネル(ITRON系)の基盤となるものとして開発したリアルタイムカーネルです。

TOPPERS/ASPカーネルは、μITRON4.0仕様のスタンダードプロファイル準拠のリアルタイムカーネルであるTOPPERS/JSPカーネルを拡張・改良する形で開発したものです。

TOPPERS/ASP3カーネルのダウンロード方法

ASP3カーネルは、ターゲットシステムごとに必要なソースコードを一つにまとめた簡易パッケージと、簡易パッケージの内容を分割した個別パッケージの二つの形態で配布しています。簡易パッケージはこちらから、個別パッケージはこちらから、それぞれダウンロードできます。

また、ASP3カーネルの仕様を記述したTOPPERS第3世代カーネル(ITRON系)統合仕様書は、こちらからダウンロードできます。

TOPPERS/ASPカーネルとの主な違い

ASP3カーネルは、ASPカーネルに対して以下の機能を追加/削除し、様々な改良を行ったものです。

  • 追加した機能
    • ティックレスの高分解能時間管理
    • 外部時刻同期機能
    • タスク終了要求機能
  • 削除した機能
    • タスク例外処理機能
    • メールボックス機能

また、システムサービスをTOPPERS組込みコンポーネントシステム(TECS)を用いて実現した、コンフィギュレータをRuby版に変更したなどの変更を行っています。詳しくは、パッケージに同梱されているドキュメントを参照してください。

TOPPERS/ASP3カーネルの適用対象領域と仕様設計方針

ASP3カーネルは、20年以上に渡るITRON仕様の技術開発成果をベースとして、完成度の高いリアルタイムカーネルを実現したものです。完成度を高めるという観点から、カーネル本体の仕様については、枯れた技術で実装できる範囲に留めています。保護機能を持ったカーネルやマルチプロセッサ対応のカーネルは、ASPカーネルを拡張する形で開発しています。

ASP3カーネルの主な適用対象は、高い信頼性・安全性・リアルタイム性を要求される組込みシステムです。ソフトウェア規模の面では、プログラムサイズ(バイナリコード)が数十KB~1MB程度のシステムを主な適用対象と考えています。それより大規模なシステムには、保護機能を持ったカーネルを適用すべきと考えられます。

ASP3カーネルの機能は、カーネル内で動的なメモリ管理が不要な範囲に留めています。これは、高い信頼性・安全性・リアルタイム性を要求される組込みシステムでは、システム稼働中に発生するメモリ不足への対処が難しいためです。この方針から、カーネルオブジェクトは静的に生成することとし、動的なオブジェクト生成機能は設けていません。ただし、アプリケーションプログラムが動的なメモリ管理をするためのカーネル機能である固定長メモリプール機能はサポートしています。

ASP3カーネルがサポートしていない機能の中で、ASP3カーネルに対して小規模な修正を行うことで対応できるものに関しては、拡張パッケージによりサポートしています。現時点で、ASP3カーネルがサポートしている拡張パッケージは次の通りです。

  • ドリフト調整機能拡張パッケージ
  • メッセージバッファ機能拡張パッケージ
  • オーバランハンドラ機能拡張パッケージ
  • タスク優先度拡張パッケージ
  • 制約タスク拡張パッケージ
  • サブ優先度機能拡張パッケージ
  • 動的生成機能拡張パッケージ

ターゲットシステム

ASP3カーネルは、現時点で、以下のターゲットプロセッサ/ターゲットシステ ムをサポートしています。

ディレクトリ名 開発環境

 
プロセッサ(型番) システム(メーカ名)
arm_gcc GNU開発環境
  ARM Cortex-A9(RZ/A1) GR-PEACH
  ARM11 MPCore Core Tile for ARM11 MPCore(ARM)

また、以下のシミュレーション環境をサポートしています。

ディレクトリ名 ホストOS 開発環境
macosx_xcode Mac OS X Xcode

開発スタッフ

TOPPERSプロジェクトのメンバとして、TOPPERS/ASP3カーネルの開発に参加している開発スタッフは次の通りです(所属は参加した時点のもの)。

名前 所属 時期 担当
高田広章 名古屋大学 未来社会創造機構/
大学院情報科学研究科
2015年〜 ターゲット非依存部,
ARM依存部,
Mac OS Xシミュレーション環境

※開発スタッフの名前は、掲載を了承された方のみ記載しています。