Ubiquitous Platformには、独自の実行環境(Ubiquitous Kernel)が提供されており、この実行環境上で、機能別の各ソフトウェアライブラリを使用して、お客様の必要とする製品を開発いただくことが可能です。全てのソフトウェアライブラリを弊社が開発、ご提供しており、Linuxなどで開発する際に注意が必要となるGPL, LGPLなどの制約は一切含まれておりません。
Ubiquitous Kernelは、組込みシステム向けのマルチスレッド対応カーネルです。プログラムサイズが2Kバイトと非常にコンパクトで、限られたROM/RAM、リソースが限られた低動作周波数のマイコン、OSレスで使用している環境でもお使いいただくことを想定して開発しており、コスト軽減とパフォーマンス向上を実現いたします。

Ubiquitous Kernel 構成図
Ubiquitous Kernelのみのご利用にご興味のあるかたは、お問い合わせください。
ARM, MIPS, PowerPC, H8, SH, M16Cなど、多彩なCPUで動作確認済みです。
他のCPUでも対応可能ですので、お問い合わせください。
| メーカ | 8bit MPUs | 16bit MPUs | 32bit MPUs | 64bit MPUs |
|---|---|---|---|---|
| 株式会社 ルネサステクノロジ |
― |
|
|
― |
| NECエレクトロニクス 株式会社 |
― | ― | V850シリーズ | VRシリーズ |
| 株式会社東芝 セミコンダクター社 |
― | ― | TX49ファミリー | ― |
| フリースケール セミコンダクタジャパン 株式会社 |
― | ― |
|
― |
| セイコーエプソン 株式会社 |
― | ― | S1S65010(ARM720T) | ― |
| 各 社 | ― | ― | ARMシリーズ | ― |
| 各 社 | ― | ― | MIPSシリーズ | ― |
| 各 社 | Z80 ファミリー |
― | ― | ― |
複数処理を同時に動作しているように制御します。スレッドという処理単位でプログラム開発することにより、すっきりしたプログラムを作成可能です。
処理中のスレッドが制御を明け渡すことで、別のスレッドに制御が移ります。処理上限時間はありません。必要なだけCPUを使用でき、不要になったときカーネルに返すことでシステム全体の動作を制御します。プログラマが予期しないタイミングでスレッド切り替えが発生しないため、共有リソースの管理が単純になります。
スレッド管理、キュー管理に優先順位はありません。すべて同等に扱われます 。
リアルタイム性(ある事象から、指定した処理の実行開始までの時間が一定以下であることを保証すること)はないものの、ノンプリエンプティブな設計によってCPUパワーを奪われることはありません。また割り込みとスレッド切り替えを組み合わせることで、アプリケーションの組み方次第では、リアルタイムOSよりも応答性能をよくすることが可能です。
すべてのメモリ領域をアクセス可能です。他スレッドが触れない領域がなく自由に使用可能なかわりに、破壊される恐れがあります。しかし、組み込みシステムはユーザがプログラムをダウンロードし、実行する環境ではないので、本来の品質が保たれていることで、問題は発生しません。
利用に必要なリソースは5msまたは1ms周期のタイマ1つです。そのため、利用方法によっては既存システムで開発した機能との共存も可能です。
タイマ割り込みなど最低1つは使用することになりますが、リソース依存性が低いため、それ以外にUbiquitous Kernelは割り込みを要求しません。そのため、残りの割り込みはすべてアプリケーションで利用可能です。
メモリブロックの割り当て、解放、オーナ変更、異常通知などがあります。
スレッドの生成、終了、実行を制御します。スレッドはキューを使用して管理されます。
Ubiquitous Kernelの基準になるタイマが5ms周期で呼び出されます。それを使用し、カレンダー機能を提供します。日付取得、曜日取得などがあります。
組込みプログラムで使用される機能と疑似乱数、文字コード変換について、ユーティリティ関数を提供します。
デバッグに便利なモニタをシリアルポート経由で提供します。対象システムに組み込むことによってメモリ使用量、メモリ空き状況の確認、スレッドの状況、スレッドの削除等を容易にコントロールできます。また、ユーザがコマンドを自由に追加できます。
オブジェクトレベルでのカスタマイズが可能です。システムは拡張され得るポイントで適当なフックを呼び出します。デフォルトでは、このフックは何もしない関数としてリンクされますが、同名の関数がユーザプログラムで提供された場合、そちらを優先して組み込むため、デフォルトの動作をオーバーライドできます。
FlashROMを対象とした、ファイルシステムを提供します。Flash ROMデバイスの消去ブロックサイズによって2種類のファイルシステムを使い分けられます。