TOPPERS/ATK(Automotive Kernel)は、TOPPERSプロジェクトで公開している自動車制御用リアルタイムOSの総称です。
ATK2(Automotive Kernel Version 2シリーズ)は、名古屋大学組込みシステム研究センター(NCES)が、複数の企業と共同で開発した「AUTOSAR OS仕様」をベースとしたOSで、TOPPERSプロジェクトへ開発成果物としてコントリビュートし、無償公開致します。
(※AUTOSAR関連のソフトウェアを利用する際の留意事項については、こちらをご覧ください)
また、「AUTOSAR OS仕様」は、「OSEK/VDX仕様」の上位互換とされ、差分仕様のみが記載されています。さらに、曖昧な仕様や、未規定の仕様が多く、実装する上での問題が多数存在します。そこで、「OSEK/VDX仕様」と「AUTOSAR OS仕様」をマージして、曖昧/未規定の仕様を解決し、日本語で仕様を記述した次世代車載システム向けRTOS外部仕様書を併せて、公開します。
ATK2は次世代車載システム向けRTOS外部仕様書に準拠しており、逆に実装に依存した仕様に対しては、ATK2に実装した仕様を参考仕様として、次世代車載システム向けRTOS外部仕様書に記載しています。
次世代車載システム向けRTOS外部仕様書と併せて、次世代車載システム向けRTOS要求仕様書、次世代車載システム向けRTOSハードウェア要求仕様書、次世代車載システム向けRTOS用語集も公開します。
「次世代車載システム向けRTOS外部仕様書」は、2015年度以降、「ATK2外部仕様書」として管理しております。2015年度以降に公開されたATK2は、「ATK2外部仕様書」に準拠して開発されています。
ATK2の時間パーティショニング機能をインテグレーションする際のガイドラインとして「ATK2-SC3-TPのインテグレーションガイドライン」を公開します。
ATK2の時間パーティショニング機能をどのように使用すれば有効かを示すガイドラインとして「ATK2-SC3-TPを用いたセーフティガイドライン」を公開します。
|
ATK2の最新リリースと、ターゲットごとに必要なソースコードを一つにまとめた簡易パッケージは、それぞれ以下からダウンロードできます。
ATK2-SC3 | Release 1.0.0以降 |
ATK2-SC3-MC | Release 1.0.0以降 |
ATK2-SC4 | Release 1.4.0以降 |
ATK2-SC3-TP | Release 1.4.0以降 |
ATK2-SC3 | Release 1.2.0以降 |
ATK2-SC3-MC | Release 1.1.0以降 |
ATK2-SC4 | Release 1.4.0以降 |
ATK2-SC3-TP | Release 1.4.0以降 |
ATK2-SC3 | Release 1.4.1以降 |
ATK2-SC3-MC | Release 1.4.1以降 |
ATK2-SC4 | Release 1.4.1以降 |
ATK2-SC3-TP | Release 1.4.1以降 |
ATK2-SC1 | Release 1.0.0以降 |
ATK2-SC1-MC | Release 1.0.0以降 |
ATK2-SC3 | Release 1.0.0以降 |
ATK2-SC3-MC | Release 1.0.0以降 |
ATK2-SC4 | Release 1.4.0以降 |
ATK2-SC3-TP | Release 1.4.0以降 |
ATK2-SC3 | Release 1.4.1以降 |
ATK2-SC3-MC | Release 1.4.1以降 |
ATK2-SC4 | Release 1.4.1以降 |
ATK2-SC3-TP | Release 1.4.1以降 |
ATK2-SC3 | Release 1.4.0以降 |
ATK2-SC3-MC | Release 1.4.0以降 |
ATK2-SC4 | Release 1.4.0以降 |
ATK2-SC3-TP | Release 1.4.0以降 |
ATK2-SC3 | Release 1.4.0以降 |
ATK2-SC3-MC | Release 1.4.0以降 |
ATK2-SC4 | Release 1.4.0以降 |
ATK2-SC3-TP | Release 1.4.0以降 |
ATK2-SC3 | Release 1.4.0以降 |
ATK2-SC3-MC | Release 1.4.0以降 |
ATK2-SC4 | Release 1.4.0以降 |
ATK2-SC3-TP | Release 1.4.0以降 |
欧州の自動車メーカや電装部品メーカを中心とした標準化団体「AUTOSAR」が策定した自動車制御用ソフトウェアプラットフォームに含まれるOS仕様をベースとしています。外部仕様書は「AUTOSAR Release4.0 Revision3」をベースにしています。
AUTOSARでは、システムコンフィギュレーションにXMLを使用します。OSに対して上位レイヤーから与えられるOS用のコンフィギュレーションファイル(ディスクリプションファイル/XML)を入力として、タスク等のOSオブジェクトの生成を行います。TOPPERS新世代カーネル用コンフィギュレータのRelease 1.9.0から、このAUTOSAR仕様のXMLの入力に対応しており、ATK2ではこのコンフィギュレータを使用することで、AUTOSARアーキテクチャにおけるOSとして動作することを想定しています。
TOPPERS/ASPのソースコードを参考にし、ITRON仕様OS開発ノウハウを元に開発したOSですので、「読みやすい」「改造しやすい」「機種展開しやすい」などのASPカーネルの基本コンセプトを継承しています。
OS共通部からターゲット依存部を分離設計していますので、ターゲット依存部の書き換えのみで、容易に移植が可能です。
TOPPERSプロジェクトから、TOPPERS新世代カーネル向けのテストスイートとして、TTSP(TOPPERS Test Suite Package)が公開されています。ATK2に対しては、TTSPをAUTOSAR仕様にカスタマイズしたAKTSP(Automotive Kernel Test Suite Package)を開発し、網羅的なテストを実施しました。AKTSPでは、OSEK/VDX仕様に対するMODISTARC、AUTOSARコンフォーマンステストのテスト項目を包含し、より多岐に渡るOSの機能のテストが可能となっています。AKTSPは、コンソーシアム型共同研究に参加している企業にのみ提供されますが、ライセンス購入することは可能です。ご興味のある方は、ap-staff ○nces.is.nagoya-u.ac.jp までお問い合わせください。(○を@に置き換えてください)
欧州の自動車メーカを中心として定められたC言語設計規約「MISRA-C:2004」チェックを実施しています。一部、実行速度を優先する箇所やコードサイズを節約するために、敢えてMISRAコーディング規約を逸脱しているルールはありますが、逸脱する箇所は個別に検討を行い、MISRAの指摘する危険コードの回避を行っています。逸脱したルールは、今後TOPPERSコーディングルールとして、一般に公開する予定です。
現在、スケーラビリティクラス1〜4に対応したOS、およびSC1/SC3のマルチコア拡張版、SC1/SC3の時間パーティショニング拡張版を公開しています。メモリ保護機能および時間保護機能については独自に定義したサブセット仕様を採用しています。(詳細についてはATK2外部仕様書を参照してください)
スケーラビリティクラス3はメモリ保護機能を搭載しており、TOPPERS/HRP2開発ノウハウを活かし、より多くのターゲットに対応するための実装を目指しています。また、メモリ保護機能に対する網羅的なテストも実施済みです。
時間パーティショニング機能は、TOPPERSプロジェクトの提案するパーティショニング機能に関する標準規格に基いています。パーティショニング機能に関する標準規格については、こちら(TOPPERSプロジェクト会員のみ閲覧可能)をご覧ください。
時間パーティショニング機能をインテグレーションするための方法は、こちらをご覧ください。
TOPPERS/ATK2は、現時点で、以下のターゲットプロセッサ、ターゲットシステムをサポートしています。
ディレクトリ名 | 開発環境 | |
---|---|---|
プロセッサ(型番) | システム(メーカ名) | |
hsbrh850f1l_ccrh hsbrh850f1l_ghs |
CS+ V6.01.0 コンパイラ: ・CCRH: V1.02 GHS: comp_201653 |
|
RH850/F1L | 株式会社北斗電子製 HSBRH850F1L | |
fl850f1k_ccrh fl850f1k_ghs |
CS+ V6.01.0 コンパイラ: ・CC-RH: V1.02 GHS: comp_201653 |
|
RH850/F1K | 株式会社北斗電子製 HSBRH850F1K | |
rh850f1h_pb_ghs |
CS+ V3.00.0 コンパイラ: ・GHS: ccrh850(2013.5.5) |
|
RH850/F1H | ルネサスエレクトロニクス RH850評価ボード | |
zynqmp_r5_gcc |
コンパイラ: GCC 5.2.1 |
|
Zynq UltraScale+ MPSoC Cortex-R5 | Zynq UltraScale+ MPSoC Cortex-R5(Xilinx社) | |
fl850fl4_gcc fl850fl4_ghs |
CubeSuite+ V1.02.01 コンパイラ: ・GCC: 4.7-GNUV850_v12.02 ・GHS: ccv850 (V800.V517D) |
|
V850E2/FL4 | テセラ・テクノロジー株式会社製 FL-850/FL4(-S) | |
fl850pj4_gcc fl850pj4_ghs |
CubeSuite+ V1.02.01 コンパイラ: ・GCC: 4.7-GNUV850_v12.02 ・GHS: ccv850 (V800.V517D) |
|
V850E2/PJ4 | テセラ・テクノロジー株式会社製 FL-850/PJ4(-S) | |
hsbv850e2fg4_gcc hsbv850e2fg4_cx |
CS+ V3.00.0 コンパイラ: ・GCC: 4.7-GNUV850_v12.02 ・CX: V1.31 |
|
V850E2/FG4(-L) | 株式会社北斗電子製 HSBV850E2FG4 | |
rczbasev850_gcc rczbasev850_cx |
CS+ V3.00.0 コンパイラ: ・GCC: 4.7-GNUV850_v12.02 ・CX: V1.31 |
|
V850E2/FG4 | 株式会社ゼットエムピー製 RC-Z-BASE-V850 | |
nios2_dev_gcc |
Nios2 Cyclone IV 開発、教育用キット(NIOS2_DEV_DE2_115) QuartusII 11.0sp1 コンパイラ: GCC 4.1.2 ATK2外部仕様書(Nios2依存部) |
|
Nios2 Cyclone IV | Terasic製 DE2_115 | |
at91skyeye_gcc | コンパイラ: GCC 4.5.2 (Sourcery G++ Lite 2011.03-42) | |
ARM | Skyeye(ISSシミュレータ) |
TOPPERS/ATK2の開発を行ったコンソーシアム型共同研究に参加した企業については、下記のページをご覧ください。