TOPPERS/ASP3カーネル(TOPPERS/ASPカーネル Release 3.X。以下、ASP3カーネル)は、TOPPERS/ASPカーネルを拡張・改良したもので、TOPPERS第3世代カーネル(ITRON系)の基盤となるものとして開発したリアルタイムカーネルです。
TOPPERS/ASPカーネルは、μITRON4.0仕様のスタンダードプロファイル準拠のリアルタイムカーネルであるTOPPERS/JSPカーネルを拡張・改良する形で開発したものです。
ASP3カーネルは、ターゲットシステムごとに必要なソースコードを一つにまとめた簡易パッケージと、簡易パッケージの内容を分割した個別パッケージの二つの形態で配布しています。簡易パッケージはこちらから、個別パッケージはこちらから、それぞれダウンロードできます。
また、ASP3カーネルの仕様を記述したTOPPERS第3世代カーネル(ITRON系)統合仕様書は、こちらからダウンロードできます。
ASP3カーネルは、ASPカーネルに対して以下の機能を追加/削除し、様々な改良を行ったものです。
また、システムサービスをTOPPERS組込みコンポーネントシステム(TECS)を用いて実現した、コンフィギュレータをRuby版に変更したなどの変更を行っています。詳しくは、パッケージに同梱されているドキュメントを参照してください。
ASP3カーネルは、20年以上に渡るITRON仕様の技術開発成果をベースとして、完成度の高いリアルタイムカーネルを実現したものです。完成度を高めるという観点から、カーネル本体の仕様については、枯れた技術で実装できる範囲に留めています。保護機能を持ったカーネルやマルチプロセッサ対応のカーネルは、ASPカーネルを拡張する形で開発しています。
ASP3カーネルの主な適用対象は、高い信頼性・安全性・リアルタイム性を要求される組込みシステムです。ソフトウェア規模の面では、プログラムサイズ(バイナリコード)が数十KB~1MB程度のシステムを主な適用対象と考えています。それより大規模なシステムには、保護機能を持ったカーネルを適用すべきと考えられます。
ASP3カーネルの機能は、カーネル内で動的なメモリ管理が不要な範囲に留めています。これは、高い信頼性・安全性・リアルタイム性を要求される組込みシステムでは、システム稼働中に発生するメモリ不足への対処が難しいためです。この方針から、カーネルオブジェクトは静的に生成することとし、動的なオブジェクト生成機能は設けていません。ただし、アプリケーションプログラムが動的なメモリ管理をするためのカーネル機能である固定長メモリプール機能はサポートしています。
ASP3カーネルがサポートしていない機能の中で、ASP3カーネルに対して小規模な修正を行うことで対応できるものに関しては、拡張パッケージによりサポートしています。現時点で、ASP3カーネルがサポートしている拡張パッケージは次の通りです。
ASP3カーネルは、現時点で、以下のターゲットプロセッサ/ターゲットシステ ムをサポートしています。
ディレクトリ名 | 開発環境 | |
---|---|---|
プロセッサ(型番) | システム(メーカ名) | |
arm_gcc | GNU開発環境 | |
ARM Cortex-M4F | STM32F401RE Nucleo-64(STマイクロ社) | |
ARM Cortex-A9(RZ/A1) | GR-PEACH | |
ARM Cortex-M33 | STM32L552 Nucleo-144(STマイクロ社) LPC55S69-EVK(NXP社) |
|
Zynq-7000 | Cortex-A9(Zynq-7000) | |
ARM11 MPCore | Core Tile for ARM11 MPCore(ARM) |
また、以下のシミュレーション環境をサポートしています。
ディレクトリ名 | ホストOS | 開発環境 |
---|---|---|
macosx_xcode | Mac OS X | Xcode |
posix_gcc | macOS, Linux | Xcode, GNU開発環境 |
TOPPERSプロジェクトのメンバとして、TOPPERS/ASP3カーネルの開発に参加している開発スタッフは次の通りです(所属は参加した時点のもの)。
名前 | 所属 | 時期 | 担当 |
---|---|---|---|
高田広章 | 名古屋大学 未来社会創造機構/ 大学院情報科学研究科 |
2015年〜 | ターゲット非依存部, ARM依存部, Mac OS Xシミュレーション環境 |
※開発スタッフの名前は、掲載を了承された方のみ記載しています。