Ubiquitous Platform / Kernel 製品情報

OS + プロトコルスタック非常に少ないリソースにおいて IoT デバイスを開発するためのソフトウェアプラットフォーム

Ubiquitous Platform とは、非常に少ないリソースにおいて、ユビキタスデバイスを開発するためのソフトウェアプラットフォームです。従来は OS が無い環境で開発していた機器に、ネットワークなどの機能の搭載を実現します。
また、マイコンなどに内蔵された ROM / RAM だけを利用して機能を実装することで追加のハードウェアコストを不要にし、非常に安価にユビキタスデバイスの製品化を実現することが可能です。

Ubiquitous Platform には、独自の実行環境(Ubiquitous Kernel)が提供されており、この実行環境上で、機能別の各ソフトウェアライブラリを使用して、お客様の必要とする製品を開発いただけます。

すべてのソフトウェアライブラリをユビキタスが開発、提供しており、Linux などで開発する際に注意が必要となる GPL、LGPL などの制約は一切含まれておりません。

Ubiquitous Kernel とは

Ubiquitous Kernel は、組込みシステム向けのマルチスレッド対応カーネルです。
プログラムサイズが 2Kバイトと非常にコンパクトで、限られた ROM / RAM、リソースが限られた低動作周波数のマイコン、OS レスで使用している環境でもお使いいただくことを想定して開発しており、コスト軽減とパフォーマンス向上を実現いたします。

Ubiquitous Kernel 構成図
Ubiquitous Kernel 構成図

Ubiquitous Kernel のみのご利用にご興味のあるかたは、お問い合わせください。

お問い合わせはこちら

小型・軽量・高速

  • プログラムサイズが小さく、ROM / RAM ともに少ない容量で動作可能です。
  • 効率的な動作を念頭に設計、最適化。これにより非常に低い CPU 占有率を実現しています。
  • スレッド切り替えが非常に速く、高速に動作します。

優れた移植性

各社の ARM アーキテクチャ、Renesas RX シリーズをはじめ、MIPS、PowerPC、H8S、SH、M16C、V850、ColdFire V1 など、多彩な CPU で動作実績があります。
すべての組込みシステム向けのマイコンで対応していますので、詳細はお問い合わせください。

マルチスレッド

複数処理を同時に動作しているように制御します。スレッドという処理単位でプログラム開発することにより、すっきりしたプログラムを作成可能です。

ノンプリエンプティブ

処理中のスレッドが制御を明け渡すことで、別のスレッドに制御が移ります。処理上限時間はありません。必要なだけ CPU を使用でき、不要になったときカーネルに返すことでシステム全体の動作を制御します。プログラマが予期しないタイミングでスレッド切り替えが発生しないため、共有リソースの管理が単純になります。

単一優先度

スレッド管理、キュー管理に優先順位はありません。すべて同等に扱われます 。

ノンリアルタイム

リアルタイム性(ある事象から、指定した処理の実行開始までの時間が一定以下であることを保証すること)はないものの、ノンプリエンプティブな設計によって CPU パワーを奪われることはありません。
また割り込みとスレッド切り替えを組み合わせることで、アプリケーションの組み方次第では、リアルタイム OS よりも応答性能をよくすることが可能です。

自由なメモリアクセス

すべてのメモリ領域をアクセス可能です。他スレッドが触れない領域がなく自由に使用可能なかわりに、破壊される恐れがあります。しかし、組み込みシステムはユーザがプログラムをダウンロードし、実行する環境ではないので、本来の品質が保たれていることで、問題は発生しません。

リソース依存性の低さ

利用に必要なリソースは 5ms または 1ms 周期のタイマ1つです。そのため、利用方法によっては既存システムで開発した機能との共存も可能です。

割り込みの非占有

タイマ割り込みなど最低 1つは使用することになりますが、リソース依存性が低いため、それ以外に Ubiquitous Kernel は割り込みを要求しません。そのため、残りの割り込みはすべてアプリケーションで利用可能です。

お問い合わせはこちら

メモリ管理

メモリブロックの割り当て、解放、オーナ変更、異常通知などがあります。

スレッド/キュー管理

スレッドの生成、終了、実行を制御します。スレッドはキューを使用して管理されます。

カレンダー機能

Ubiquitous Kernel の基準になるタイマが 5ms 周期で呼び出されます。
それを使用し、カレンダー機能を提供します。日付取得、曜日取得などがあります。

ユーティリティ提供

組込みプログラムで使用される機能と疑似乱数、文字コード変換について、ユーティリティ関数を提供します。

シリアルコンソールとモニタコマンド

デバッグに便利なモニタをシリアルポート経由で提供します。
対象システムに組み込むことによってメモリ使用量、メモリ空き状況の確認、スレッドの状況、スレッドの削除等を容易にコントロールできます。また、ユーザがコマンドを自由に追加できます。

フックによるカスタマイズ

オブジェクトレベルでのカスタマイズが可能です。
システムは拡張され得るポイントで適当なフックを呼び出します。デフォルトでは、このフックは何もしない関数としてリンクされますが、同名の関数がユーザプログラムで提供された場合、そちらを優先して組み込むため、デフォルトの動作をオーバーライドできます。

ファイルシステム

Flash ROM を対象とした、ファイルシステムを提供します。Flash ROM デバイスの消去ブロックサイズによって 2種類のファイルシステムを使い分けられます。

お問い合わせはこちら

通常は、各プラットフォーム製品の SDK(ソフトウェア開発キット)と一緒にご提供いたします。
ライブラリ・オブジェクト形式での提供となりますので、お客様はアプリケーションプログラムリンク時にライブラリやオブジェクトをリンクしてください。(一部ソースファイルで提供するものもあります)
標準コンパイラは gcc です。環境に合わせて、gcc のクロスコンパイル環境をご用意ください。
他の統合開発環境向けへの提供も可能です。詳しくはお問い合わせください。

お問い合わせはこちら

お問い合せ

お問い合せの内容に合わせて選択してください。

製品・セミナーについて IR・採用・その他について