製品情報

プラットフォーム - Ubiquitous Platform

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, MIPS, PowerPC, H8, SH, M16Cなど、多彩なCPUで動作確認済みです。
他のCPUでも対応可能ですので、お問い合わせください。

メーカ 8bit MPUs 16bit MPUs 32bit MPUs 64bit MPUs
株式会社
ルネサステクノロジ
  • H8/300H Tinyシリーズ
  • H8/300Hファミリー
  • H8Sファミリー
  • M16Cファミリー
  • SuperHファミリー
  • SH-Etherシリーズ
  • SH-Navi シリーズ
  • SH-Mobile シリーズ
  • M32Rファミリ
NECエレクトロニクス
株式会社
V850シリーズ VRシリーズ
株式会社東芝
セミコンダクター社
TX49ファミリー
フリースケール
セミコンダクタジャパン
株式会社
  • PowerPCシリーズ
  • i.MX21
  • ColdFireシリーズ
セイコーエプソン
株式会社
S1S65010(ARM720T)
各 社 ARMシリーズ
各 社 MIPSシリーズ
各 社 Z80
ファミリー
マルチスレッド

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

ノンプリエンプティブ

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

単一優先度

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

ノンリアルタイム

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

自由なメモリアクセス

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

リソース依存性の低さ

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

割り込みの非占有

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

お問い合わせフォームはこちら
メモリ管理

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

スレッド/キュー管理

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

カレンダー機能

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

ユーティリティ提供

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

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

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

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

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

ファイルシステム

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

お問い合わせフォームはこちら

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

お問い合わせフォームはこちら