TOPPERS/HRP2 カーネル(HRP は"High Reliable system Profile"の略で、2 はバージョン番号を示します。以下、HRP2 カーネル)は、TOPPERS 新世代カーネルの出発点である TOPPERS/ASP カーネルに対して、高信頼組込みシステムに求められる各種の機能を追加し、さらに高い信頼性・安全性を要求される組込みシステムや、より大規模な組込みシステム向けに適用できるように拡張したものです。
HRP2カーネルでは、ASP カーネルに対して、以下の変更が行われています。
また、高信頼性が要求される組込みシステム向けのリアルタイムOSとして、μITORN4.0仕様の保護機能拡張をベースとした、TOPPERS/HRPカーネルが公開されていますが、HRP2カーネルでは、HRPカーネルに対して、以下の拡張が行われています。
HRP2 カーネルの最大の特徴は、メモリ管理ユニット(MMU)を持つプロセッサに加えて、メモリ保護ユニット(MPU)を持つプロセッサを有効に活用できることです。メモリ保護ユニット(MPU)は、アドレス変換の機能を持たずメモリアクセスの保護のみを実現するハードウェアで、厳しいリアルタイム性を要求される組込みシステムに適したものですが、保護できるメモリ領域にプロセッサ依存の制限があり、有効に活用するのは容易ではありません。HRP2 カーネルでは、各オブジェクトファイル(またはセクション)を配置するメモリ領域をどのように保護するかを指定すると、コンフィギュレータが各セクションをメモリ上にどのように配置するかを決定し、その配置下におけるメモリ保護情報(MMU のページテーブルなど)を静的に生成します。そのため、アプリケーション設計者は、プロセッサの持つメモリ保護の機構の細部を知ることなしに、メモリ保護機能を活用することができます。
HRP2カーネルは、ターゲットシステムごとに必要なソースコードを一つにまとめた簡易パッケージと、簡易パッケージの内容を分割した個別パッケージの二つの形態で配布しており、こちらからダウンロードできます。
また、HRP2カーネルの仕様を記述したTOPPERS新世代カーネル統合仕様書はこちらから、HRP2カーネルを使用する際に必要となるコンフィギュレータのソースコードはこちらから、それぞれダウンロードできます。
HRP2カーネルは、現時点で、以下のターゲットプロセッサ/ターゲットシステムをサポートしています。
ディレクトリ名 | 開発環境 | ||
---|---|---|---|
![]() |
プロセッサ(型番) | MPU / MMU | システム(メーカ名) |
arm_m_gcc | GCC | ||
ARM(ARM Cortex-M4) | MPU | Nucleo F401RE | |
ARM(ARM Cortex-M3) | MPU | LM3SXXXX(TEXAS INSTRUMENTS) | |
ARM(ARM Cortex-M3) | MPU | STM32-P207(Olimex) | |
sh12a_gcc | GCC | ||
SH2A(SH72AW) | MPU | SH2A-MG-EVB02(ルネサスエレクトロニクス) | |
sh34_gcc | GCC | ||
SH4(SH7750R) | MMU | AP-SH4-1A(アルファプロジェクト) | |
SH4(SH7750R) | MMU | SOI-SoC(三菱重工業株式会社) |
TOPPERSプロジェクトのメンバとして、TOPPERS/HRP2カーネルの開発に参加している開発スタッフは次の通りです(所属は参加した時点のもの)。
名前 | 所属 | 時期 | 担当 |
---|---|---|---|
高田広章 | 名古屋大学 情報科学研究科 | 2007年〜 | HRP2カーネル本体 |
高木信尚 | 個人特別会員 | 2006年〜 | コンフィギュレータ |
本田晋也 | 名古屋大学 情報科学研究科 | 2007年〜 | ARM11 MPCore |
高田光隆 | 名古屋大学 情報科学研究科 | 2011年〜 | APSH4_SHC、SOI-SoC |
石川拓也 | 名古屋大学 情報科学研究科 | 2009年〜 | SH2A、APSH4_GCC、ARM Cortex-M3 |
加藤寿和 | 名古屋大学 情報科学研究科 | 2011年〜 | ARM Cortex-A9 |
※ 開発スタッフの名前は、掲載を了承された方のみ記載しています。