TOPPERS/HRP2カーネルとは

TOPPERS/HRP2 カーネル(HRP は"High Reliable system Profile"の略で、2 はバージョン番号を示します。以下、HRP2 カーネル)は、TOPPERS 新世代カーネルの出発点である TOPPERS/ASP カーネルに対して、高信頼組込みシステムに求められる各種の機能を追加し、さらに高い信頼性・安全性を要求される組込みシステムや、より大規模な組込みシステム向けに適用できるように拡張したものです。

HRP2カーネルでは、ASP カーネルに対して、以下の変更が行われています。

  • メモリ保護機能の追加
  • オブジェクトアクセス保護機能の追加
  • 拡張サービスコール機能の追加
  • ミューテックス機能の追加
  • オーバランハンドラ機能の追加
  • メールボックス機能を削除

また、高信頼性が要求される組込みシステム向けのリアルタイムOSとして、μITORN4.0仕様の保護機能拡張をベースとした、TOPPERS/HRPカーネルが公開されていますが、HRP2カーネルでは、HRPカーネルに対して、以下の拡張が行われています。

  • TOPPERS新世代カーネル仕様に準拠
  • メモリプロテクションユニット(MPU)をサポート
  • プログラムのコードやデータのメモリ配置をコンフィギュレータにより決定
  • メモリ保護情報を静的に生成

HRP2 カーネルの最大の特徴は、メモリ管理ユニット(MMU)を持つプロセッサに加えて、メモリ保護ユニット(MPU)を持つプロセッサを有効に活用できることです。メモリ保護ユニット(MPU)は、アドレス変換の機能を持たずメモリアクセスの保護のみを実現するハードウェアで、厳しいリアルタイム性を要求される組込みシステムに適したものですが、保護できるメモリ領域にプロセッサ依存の制限があり、有効に活用するのは容易ではありません。HRP2 カーネルでは、各オブジェクトファイル(またはセクション)を配置するメモリ領域をどのように保護するかを指定すると、コンフィギュレータが各セクションをメモリ上にどのように配置するかを決定し、その配置下におけるメモリ保護情報(MMU のページテーブルなど)を静的に生成します。そのため、アプリケーション設計者は、プロセッサの持つメモリ保護の機構の細部を知ることなしに、メモリ保護機能を活用することができます。

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

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

また、HRP2カーネルの仕様を記述したTOPPERS新世代カーネル統合仕様書はこちらから、HRP2カーネルを使用する際に必要となるコンフィギュレータのソースコードはこちらから、それぞれダウンロードできます。

ターゲットシステム

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

ディレクトリ名 開発環境

 
プロセッサ(型番) MPU / MMU システム(メーカ名)
arm_m_gcc GCC
  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(三菱重工業株式会社)

今後の予定

  • 新しいボードへのポーティング
    • ARM11 MPCore(MMU)
    • ARM Cortex-A9(MMU)
    • V850(MPU)
  • ARM Cortex-M3依存部のメモリ配置最適化機能の拡張
  • SH4依存部のマルチページサイズ対応

開発スタッフ

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

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

論文紹介

  1. Takuya Ishikawa, Takuya Azumi, Hiroshi Oyama and Hiroaki Takada,"HR-TECS: Component Technology for Embedded Systems with Memory Protection", the 16th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC 2013), Paderborn, Germany, Jun. 2013.
  2. 石川拓也,本田晋也,高田広章, 静的なメモリ配置を行うメモリ保護機能を持ったリアルタイムOS,コンピュータソフトウェア,Vol.29,No.4,pp. 161-181,Nov 2012.