TOPPERS/HRMP3カーネル(以下、HRMP3カーネル)は、TOPPERS/ASP3カーネルを、マルチプロセッサ向けかつ保護機能対応に拡張したリアルタイムカーネルです。TOPPERS/HRP3カーネルをマルチプロセッサ向けに拡張した、または、TOPPERS/FMP3カーネルを保護機能対応に拡張したということもできます。
HRMP3カーネルは、ターゲットシステムごとに必要なソースコードを一つにまとめた簡易パッケージと、簡易パッケージの内容を分割した個別パッケージの二つの形態で配布しています。簡易パッケージはこちらから、個別パッケージはこちらから、それぞれダウンロードできます。
また、HRMP3カーネルの仕様を記述したTOPPERS第3世代カーネル(ITRON系)統合仕様書は、こちらからダウンロードできます。
HRMP3カーネルは、ASP3カーネルに対して、次の機能を追加したものです。
HRMP3カーネルの適用対象となるターゲットハードウェアは、ホモジニアスなマルチプロセッサシステムで、プロセッサ数が4~8個程度以下のものです。各プロセッサは、特権モードと非特権モードを備え、メモリ保護のためにMMU(Memory Management Unit)またはMPU(Memory Protection Unit)を持っていることが必要です。各プロセッサが全く同一のものである必要はありませんが、すべてのプロセッサでバイナリコードを共有することから、同じバイナリコードを実行できることが必要です。
HRRP3カーネルの機能は、ASP3カーネルと同様に、カーネル内で動的なメモリ管理が不要な範囲に留めています。これは、高い信頼性・安全性・リアルタイム性を要求される組込みシステムでは、システム稼働中に発生するメモリ不足への対処が難しいためです。この方針から、カーネルオブジェクトは静的に生成することとし、動的なオブジェクト生成機能は設けていません。ただし、アプリケーションプログラムが動的なメモリ管理をするためのカーネル機能である固定長メモリプール機能はサポートしています。
HRMP3カーネルがサポートしていない機能の中で、HRMP3カーネルに対して小規 模な修正を行うことで対応できるものに関しては、拡張パッケージによりサポー トする予定です(現時点では未完成)。
HRMP3カーネルは、現時点で、以下のターゲットプロセッサ/ターゲットシステムをサポートしています。
ディレクトリ名 | 開発環境 | ||
---|---|---|---|
![]() |
プロセッサ | チップ(メーカ) | ボード(メーカ) |
arm_gcc | GNU開発環境 | ||
ARM Cortex-A9 | Zynq-7000(Xilinx) | ZYBO |
TOPPERSプロジェクトのメンバとして、TOPPERS/HRMP3カーネルの開発に参加している開発スタッフは次の通りです(所属は参加した時点のもの)。
名前 | 所属 | 時期 | 担当 |
---|---|---|---|
高田広章 | 名古屋大学 未来社会創造機構/ 大学院情報学研究科 |
2018年〜 | ターゲット非依存部,ARM依存部,Zybo依存部 |
本田晋也 | 名古屋大学 大学院情報学研究科 | 2018年〜 | ターゲット非依存部,ARM依存部,Zybo依存部 |
※開発スタッフの名前は、掲載を了承された方のみ記載しています。