TOPPERS/ASPカーネル(以下,ASPカーネル)は、TOPPERS新世代カーネルの基盤(出発点)となるリアルタイムカーネルで、TOPPERS新世代カーネル統合仕様に準拠しています。ASP(Advanced Standard Profile)の名前が示す通り、μITRON4.0仕様のスタンダードプロファイル準拠のリアルタイムカーネルであるTOPPERS/JSPカーネルを拡張・改良する形で開発しました。
ASPカーネルは、ターゲットシステムごとに必要なソースコードを一つにまとめた簡易パッケージと、簡易パッケージの内容を分割した個別パッケージの二つの形態で配布しています。簡易パッケージはこちらから、個別パッケージはこちらから、それぞれダウンロードできます。
また、ASPカーネルの仕様を記述したTOPPERS新世代カーネル統合仕様書はこちらから、ASPカーネルを使用する際に必要となるコンフィギュレータのソースコードはこちらから、それぞれダウンロードできます。
ASP 1.7.0のコードとドキュメントを英語/中国語化したパッケージです。 公募事業の開発成果に,修正を加えたものです。
ASPカーネルは、20年以上に渡るITRON仕様の技術開発成果をベースとして、完成度の高いリアルタイムカーネルを実現したものです。完成度を高めるという観点から、カーネル本体の仕様については、枯れた技術で実装できる範囲に留めています。保護機能を持ったカーネルやマルチプロセッサ対応のカーネルは、ASPカーネルを拡張する形で開発しています。
ASPカーネルの主な適用対象は、高い信頼性・安全性・リアルタイム性を要求される組込みシステムです。ソフトウェア規模の面では、プログラムサイズ(バイナリコード)が数十KB〜1MB程度のシステムを主な適用対象と考えています。それより大規模なシステムには、保護機能を持ったカーネルを適用すべきと考えられます。
ASPカーネルの機能は、カーネル内で動的なメモリ管理が不要な範囲に留めています。これは、高い信頼性・安全性・リアルタイム性を要求される組込みシステムでは、システム稼働中に発生するメモリ不足への対処が難しいためです。この方針から、カーネルオブジェクトは静的に生成することとし、動的なオブジェクト生成機能は設けていません。ただし、アプリケーションプログラムが動的なメモリ管理をするためのカーネル機能である固定長メモリプール機能はサポートしています。
ASPカーネルは、現時点で、以下のターゲットプロセッサ/ターゲットシステムをサポートしています。
ディレクトリ名 | 開発環境 | |
---|---|---|
プロセッサ(型番) | システム(メーカ名) | |
riscv_gcc | GCC | |
FE310-G000(RISC-V RV32IMAC) | RISC-V/32 HI-FIVE1(SiFive社) | |
RISC-V Dual Core 64bit, with FPU | RISC-V/64 K210(Kendryte社) | |
arm_gcc | GCC | |
ARM Cortex-A9(R-Mobile A1) | Armadillo-800 EVA((株)アットマークテクノ) | |
ARM | Skyeye(ISSシミュレータ) | |
ARM(AT91SAM7A) | AT91SAM7A3EK(ATEMEL) | |
ARM(AT91SAM7S) | BTC090(ベストテクノロジ) | |
i.mx7 | i.mx7(NXP社) | |
i.mx6sx | i.mx6sx(NXP社) | |
arm_m_gcc | GCC | |
ARM Cortex-M7 | STM32F7 Discovery(STマイクロ社) | |
ARM Cortex-M7 | STM32F746 Nucleo-144(STマイクロ社) | |
ARM Cortex-M7 | STM32F767 Nucleo-144(STマイクロ社) | |
ARM Cortex-M7 | STM32F769 Discovery kit(STマイクロ社) | |
ARM Cortex-M7 | STM32F723 Discovery(STマイクロ社) | |
ARM Cortex-M7 | STM32H743 Nucleo-144(STマイクロ社) | |
ARM Cortex-M4 | STM32-E407(Olimex社) | |
ARM Cortex-M4 | STM32F429-board(日昇テクノロジ社) | |
ARM Cortex-M4 | STM32F4 Discovery(STマイクロ社) | |
ARM Cortex-M4 | STM32F401 Nucleo-64(STマイクロ社) | |
ARM Cortex-M4 | STM32F446 Nucleo-64(STマイクロ社) | |
ARM Cortex-M4 | STM32F446 Nucleo-144(STマイクロ社) | |
ARM Cortex-M4 | STM32L432KC Nucleo L432KC(STマイクロ社) | |
ARM Cortex-M4 | STM32L476 Nucleo-64(STマイクロ社) | |
ARM Cortex-M4 | STM32L476 Discovery(STマイクロ社) | |
ARM Cortex-M4 | STM32L4R5 Nucleo-144(STマイクロ社) | |
ARM Cortex-M4 | STM32G431 Nucleo-64(STマイクロ社) | |
ARM Cortex-M4 | STM32G474 Nucleo-64(STマイクロ社) | |
ARM Cortex-M4 and Cortex-M0+ | STM32WB51 NUCLEO(STマイクロ社) | |
ARM Cortex-M4 and Cortex-M0+ | STM32WB55 NUCLEO(STマイクロ社) | |
ARM Cortex-M3 | LM3SXXXX(TI(旧Luminary Micro)) | |
ARM Cortex-M3 | STM32F103 CQ-STARM(CQ出版) | |
ARM Cortex-M3 | CY8C5xLP CY8CKIT-050 PSoC 5LP Development Kit(Cypress Semiconductor) | |
ARM Cortex-M0 | STM32F091 Nucleo-64(STマイクロ社) | |
ARM Cortex-M0+ | STM32L073 Nucleo-64(STマイクロ社) | |
ARM Cortex-M0+ | STM32G071 Nucleo-64(STマイクロ社) | |
ARM Cortex-M0+ | STM32G0B1 Nucleo-64(STマイクロ社) | |
sh12a_gcc | GCC | |
SH2A(SH7211) | AP-SH2A-0A(アルファプロジェクト) | |
sh12a_shc | HEW | |
SH2A(SH7211) | AP-SH2A-0A(アルファプロジェクト) | |
SH2A(SH7263) | SH7263 Evaluation Board R0K572630D001BR(ルネサスエレクトロニクス) | |
sh34_gcc | GCC | |
SH3(SH7727) | MS7727CP01((株)日立超LSIシステムズ) | |
SH4(SH7780) | AP-SH4A-0A(アルファプロジェクト) | |
h8300h_h8c | HEW | |
H8/300H(H8/3048F-ONE) | HSB8F3048BF25SB(北斗電子) | |
h8300h_gcc | GCC | |
H8/300H | AKI-H8/3048F(秋月電子通商) | |
H8/300H | AKI-H8/3069F(秋月電子通商) | |
m16c_nc30 | HEW / TM | |
M16C | Renesas Starter Kit for M16C/62P(ルネサスエレクトロニクス) | |
M16C | HSB16C29S64NE(北斗電子) | |
m32c_nc308 | HEW | |
M32C | S810-CLG3-85(サニー技研) | |
m32r_gcc | GCC | |
M32102 | OAKS32R-Borad Kit(オークス電子) | |
M32R-II | M3A-ZA36(ルネサスエレクトロニクス) | |
nios2_gcc | GCC | |
Nios II | FSMPB for Nios II(富士ソフト) | |
microblaze_gcc | GCC | |
MicroBlaze | SUZUME(YDKテクノロジーズ) | |
MicroBlaze | Spartan-3A DSP 1800A(Xilinx) | |
macos_gcc | GCC | |
PowerPC | Mac OS X用シミュレータ | |
m68k_gcc | GCC | |
M68040(MC68LC040) | DVE-68K/40(電産) ※参考実装 | |
rx_rxc | HEW | |
RX610 | RX610 Renesas Starter Kit for RX610(ルネサスエレクトロニクス) | |
v850_gcc | GCC | |
V850 | CQ-V850(CQ出版) | |
arc_gcc | GCC | |
DesignWare ARC EM Family (ARCv2 ISA) | EMSK ver.1,ver.2(Synopsys) | |
EM4,EM6(FPGA) | EMSK ver.1(Synopsys) | |
EM5D(and EM4),EM7D(and EM6)(FPGA) | EMSK ver.2(Synopsys) |
TOPPERSプロジェクトのメンバとして、TOPPERS/ASPカーネルの開発に参加している開発スタッフは次の通りです(所属は参加した時点のもの)。
名前 | 所属 | 時期 | 担当 |
---|---|---|---|
高田広章 | 名古屋大学 情報科学研究科 | 2006年〜 | ASPカーネル本体, M68040, MAC OS X用シミュレータ |
本田晋也 | 名古屋大学 情報科学研究科 | 2006年〜 | SH3/4, ARM, Cortex-M3 |
高木信尚 | 個人特別会員 | 2006年〜 | コンフィギュレータ |
今井和彦 | 宮城県産業技術総合センター | 2007年〜 | SH1/2A, H8/300H |
- | (株)ヴィッツ | 2008年〜 | SH1/2A, M16C, M32C, RX |
松原豊 | 名古屋大学 情報科学研究科 | 2006年〜 | M32R |
安積卓也 | 大阪大学 基礎工学研究科 | 2008年〜 | HSB16C29S64NE, Skyeye |
高木伸英 | (株)未来技術研究所 | 2008年〜 | Cortex-M3 |
- | 富士ソフト(株) | 2008年〜 | Nios II |
- | (株)ワイ・デー・ケー YDKテクノロジーズ | 2008年〜 | MicroBlaze |
- | TOPPERSプロジェクト教育WG | 2015年〜 | Cortex-M0/M4/M7 |
※ 開発スタッフの名前は、掲載を了承された方のみ記載しています。