TOPPERS/FMPカーネルとは

TOPPERS/FMP カーネル( 以下,FMPカーネル)は、 TOPPERS新世代カーネルの出発点として開発した TOPPERS/ASP カーネルを、マルチコアプロセッサ向けに拡張したもので、機能分散型と対称型の両方のタイプのマルチコアプロセッサシステムに適用できます。

FMPカーネルの仕様の主な特徴は、以下の通りです。

  • タスクをプロセッサコアに設計時に割り付ける
  • カーネルは,システム稼働中にタスクを移動させない
  • システム稼働中にタスクを別のプロセッサコアに移動させる API を用意

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

FMPカーネルは、Release 1.2.0 以降のバージョンについて、ターゲットシステムごとに必要なソースコードを一つにまとめた簡易パッケージと、簡易パッケージの内容を分割した個別パッケージの二つの形態で配布しています。簡易パッケージはこちらから、個別パッケージはこちらから、それぞれダウンロードできます。Release 1.2.0 よりも以前のバージョンについては、こちらからダウンロードできます。

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

動作手順

ASPカーネル用のサンプルプログラムをマルチプロセッサ拡張し、FMPカーネル上で動作させるまでの手順をTOPPERSカンファレンス2011 「マルチプロセッサアプリケーション プログラミングライブ」で紹介しています。そのドキュメントと関連するファイルをこちらからダウンロードできます。

ターゲットシステム

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

ディレクトリ名 開発環境

 
プロセッサ(型番) システム(メーカ名)
arm_gcc GCC
  ARM(CA9MPCore) Cyclone V SoC 開発キット(Altera社)
  ARM(CA9MPCore) Sabreボード(Freescale社)
  ARM(ARM11MPCore) NaviEngine(ルネサスエレクトロニクス)
  ARM(ARM11MPCore) CT11MPCore(ARM)
  ARM(CA9MPCore) KZM-CA9-01(京都マイクロコンピュータ)
  ARM TOPPERSカーネル向けシミュレーション環境
nios2_gcc GCC
  Nios II NiosII 開発ボード(Altera)
sh2a_dual_gcc GCC
  SH2A-DUAL(SH7205) AP-SH2AD-0A(アルファプロジェクト)
sh4a_gcc GCC
  SH4A-MULTI SH7786 65nm System Development Kit(ルネサスエレクトロニクス)
  SH4A-MULTI RPROTO1(ルネサスエレクトロニクス)

開発スタッフ

TOPPERSプロジェクトのメンバとして、TOPPERS/FMPカーネルの開発に参加している開発スタッフは次の通りです(所属は参加した時点のもの)。

名前 所属 時期 担当
本田晋也 名古屋大学 情報科学研究科 2007年〜 FMPカーネル本体
高木信尚 個人特別会員 2006年〜 コンフィギュレータ
Daniel Sangorrin Lopez 名古屋大学 情報科学研究科 2012年~
今井和彦 宮城県産業技術総合センター 2010年〜 SH2A-DUAL

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