SOLID概要

SOLID-OS

オープンソースITRON仕様のTOPPERSカーネルを基盤とし、独自にメモリ管理機能やローディング機能の対応などを強化しています。

SOLID-OSは、プロセッサの種類やTOPPERS仕様により、以下のように展開しています(2019/6/10時点の計画を含みます)。

注意:本ロードマップの計画は、予告なく変更することがあります。


リアルタイムOS TOPPERS

Arm®v7AやArm®v8AクラスのCPUを使う場合、ネットワーク、ファイルシステム、GUI など、豊富な機能のあるLinuxなどの高機能OSが採用されることが多いのですが、従来の組み込み文化との乖離が大きくソフトウエア開発者にとって、環境構築だけでも負担になる場合があるのではないでしょうか。

SOLID-OSとして「わかりやすい」「コンパクト」「学習コストが低い」組み込み機器として実績のあるμITRON 4.0仕様準拠のTOPPERSカーネルを採用、OS機能も必要な機能だけをリンクしコンパクト化が可能です。

32bit版の特徴:TOPPERS/ASP3のティックレス仕様により実行効率・電力効率が良い割込み制御が可能になり、組込機器に適したソフトウエアを構築することができます。

64bit版の特徴:TOPPERS/FMPの採用により、マルチコア構成のRTOS動作が可能です。

SOLIDでは、カーネル本体、プロセッサ依存部に加えて、代表的な評価ボードのBSPも提供します。ロイヤリティーフリーです。


MMUを活かしたOS連携機能

Arm®v7AやArm®v8AクラスのCPUにおいて、メモリプロテクションやカーネル・ユーザ空間の完全分離にMMUを活用する事が有効です。また64bitメモリ空間にも対応しています。

SOLID-OSでは
● プロテクション使ったデバッグ支援
● 仮想アドレスを使ったデバッグ支援

を実現するため、OSに依存しないMMU対応のベアメタルローダーを新規開発し、単一空間で、複数実行モジュール、仮想メモリ、プロテクションに対応しています。


かしこいエージェント、ベアメタルローダー

SOLIDではRTOSが求めるリアルタイム性を保持するために、単一の仮想空間をMMUを活用して管理しています。その代表的なものがベアメタルローダーで、SOLIDが各モジュールの要素を解析し、仮想空間中に適切に配置し、ロードします。
この機能を使うと、改修したモジュールだけをビルド・ロードすることができるので、開発効率が大幅に向上します。

● あらかじめ仮装デバイスで(1)と(2)の間の隙間を大きくしておく64M単位でも1Gの中に16エリア確保できます。
● モジュールのサイズに応じて、ローダのメモリマネージャが物理メモリを割り当てるので、メモリの無駄が少なくてすみます。
● (1)が(1)'に変更されても、(2)の変更(再ビルド)や転送が不要です。


ミドルウエア設定

TCP/IP、ファイルシステムなどはオープンソースベースの物がSOLID-OSに標準機能として提供します(OSS以外のメーカー様提供の物に変更する事も可能です)。また各パートナー企業製のミドルウエアの実装や連携も、当社が窓口となって対応します。