TOPPERS/HRP3カーネル(TOPPERS/HRPカーネル Release 3.X。以下、HRP3カーネル)は、TOPPERS/ASP3カーネルに対してメモリ保護や時間パーティショニング機能などの保護機能を追加したリアルタイムカーネルです。
TOPPERS/HRPカーネルおよびHRP2カーネルに対して、拡張・改良を加えたものという位置付けもあります。
HRP3カーネルは、ターゲットシステムごとに必要なソースコードを一つにまとめた簡易パッケージと、簡易パッケージの内容を分割した個別パッケージの二つの形態で配布しています。簡易パッケージはこちらから、個別パッケージはこちらから、それぞれダウンロードできます。
また、HRP3カーネルの仕様を記述したTOPPERS第3世代カーネル(ITRON系)統合仕様書は、こちらからダウンロードできます。
HRP3カーネルは、ASP3カーネルに対して、次の機能を追加したものです。
HRP3カーネルは、ASP3カーネルよりもさらに高い信頼性・安全性を要求される組込みシステムや、より大規模な組込みシステム向けに適用できるように、ASP3カーネルを拡張したリアルタイムカーネルです。
HRP3カーネルの適用対象となるターゲットハードウェアは、特権モードと非特権モードを備え、メモリ保護のためにMMU(Memory Management Unit)またはMPU(Memory Protection Unit)を持つプロセッサを用いたシステムです。HRP3カーネルの主な適用対象は、ソフトウェア規模の面では、プログラムサイズ(バイナリコード)が数百KB以上のシステムです。
HRP3カーネルの機能は、ASP3カーネルと同様に、カーネル内で動的なメモリ管理が不要な範囲に留めています。これは、高い信頼性・安全性・リアルタイム性を要求される組込みシステムでは、システム稼働中に発生するメモリ不足への対処が難しいためです。この方針から、カーネルオブジェクトは静的に生成することとし、動的なオブジェクト生成機能は設けていません。ただし、アプリケーションプログラムが動的なメモリ管理をするためのカーネル機能である固定長メモリプール機能はサポートしています。
HRP3カーネルがサポートしていない機能の中で、HRP3カーネルに対して小規模な修正で対応できるものに関しては、拡張パッケージによりサポートしています。現時点で、HRP3カーネルがサポートしている拡張パッケージは次の通りです。
HRP3カーネルは、現時点で、以下のターゲットプロセッサ/ターゲットシステ ムをサポートしています。
ディレクトリ名 | 開発環境 | |
---|---|---|
プロセッサ(型番) | システム(メーカ名) | |
arm_gcc | GNU開発環境 | |
ARM Cortex-A9(RZ/A1) | GR-PEACH | |
ARM11 MPCore | Core Tile for ARM11 MPCore(ARM) |
また、以下のシミュレーション環境をサポートしています。
ディレクトリ名 | ホストOS | 開発環境 |
---|---|---|
posix_gcc | macOS, Linux | Xcode, GNU開発環境 |
TOPPERSプロジェクトのメンバとして、TOPPERS/HRP3カーネルの開発に参加している開発スタッフは次の通りです(所属は参加した時点のもの)。
名前 | 所属 | 時期 | 担当 |
---|---|---|---|
高田広章 | 名古屋大学 未来社会創造機構/ 大学院情報学研究科 |
2016年〜 | ターゲット非依存部, ARM依存部 |
※開発スタッフの名前は、掲載を了承された方のみ記載しています。