開発キットFAQ

Q1 T-Engineを利用した商品開発の流れを説明してください。

たとえば、携帯電話の新製品を開発する場合を考えてみます。携帯電話のハードウェアが完成した後でそれを制御するソフトウェアを開発しようとすると、全体の開発期間が長くなってしまうため、ハードウェアと制御用ソフトウェアを並行して開発する必要があります。そのためにはまず、携帯電話の最終製品とは外見が違っても、できるだけシステム構成の似た(すなわち、ソフトウェアの互換性の高い)ハードウェアを短期間で用意し、その上で制御用ソフトウェアの開発をスタートします。このためのハードウェアを開発評価用ボードあるいはブレッドボードと呼びますが、短期間で用意できないと意味がないことから、汎用品をそのまま利用したり、汎用品のちょっとした改造や拡張ボード、デバイスなどの追加で対応できる必要があります。この開発評価用ボードとしてT-Engineを利用します。ただし、T-Engineには携帯電話に必要な通信関連のデバイス(送受信回路やアンテナなど)は付属しておりませんので、この部分は既存の携帯電話をT-Engineの周辺デバイスとして接続したり、携帯電話機能を持ったCFカードなどを併用します。

T-Engine上で携帯電話の制御用ソフトウェアを開発する際には、標準リアルタイムOSであるT-KernelやT-Engine上で動作する豊富なミドルウェア、デバイスドライバが利用できますので、効率的な開発が可能です。一方、制御用ソフトウェアの開発と並行して、最終製品(量産品)となる携帯電話のハードウェアも開発を進めます。

最終製品のハードウェアとT-Engine上で動く制御用ソフトウェアが完成した段階で、T-Kernelやミドルウェアを含めたT-Engine上の制御用ソフトウェアを最終製品のハードウェアに載せ替えます。この時、たとえばデバイスのメモリマップなど、ハードウェアの詳細に違いがあれば、それに対応した修正を行います。最終製品のハードウェアと開発用のT-Engineの仕様が近ければ近いほど、この作業がスムーズに進みます。

この方法は、いったん別のハードウェア(T-Engine)で制御用ソフトウェアの開発を行ってから最終製品に移植するという点で、二度手間に見えるかもしれません。しかし、T-Engineという共通プラットフォームの上でソフトウェアの開発を行えば、既存のミドルウェア等をそのまま利用できますし、メーカー自身も制御用ソフトウェアやそのノウハウを蓄積していくことができます。これに対して、最終製品(量産品)用のソフトウェアは、その製品のみにチューニングしたものになりがちですから、ソフトウェアの蓄積や再利用性という面ではあまり適していません。開発評価用ボードやT-Engineの利用は、一見して二度手間に見えても、実は開発期間の短縮や開発効率の向上に大きく役立つのです。

なお、このような例では、T-Engineのボードが最終製品のハードウェア(携帯電話)に直接使用されるわけではありませんが、T-Engine上で動いていたT-Kernelやミドルウェアは最終製品にも組み込まれて利用されます。

そのため、最終製品で使用するミドルウェアについては、それぞれのミドルウェアの開発元とライセンス契約を結んでいただく必要があります (→[Q14]参照)。詳細については、パーソナルメディアあるいはミドルウェアの開発メーカーまでお問い合わせください。

はじめにもどる

Q2 T-Engineの採用例はありますか?

すでに多くの採用例が出ています。神戸市や愛知万博会場など各地で行われている国土交通省「自律的移動支援プロジェクト」や農林水産省「平成17年度ユビキタス食の安全・安心システム開発事業」、東京・浅草や上野公園など日本各地で行われているIT技術を活用した道案内システムなどで、T-Engineをベースとしたユビキタス・コミュニケータが活躍しています。また「トヨタ夢の住宅PAPI」でもT-Engineの技術が各所に使われています。

いずれもT-EngineのボードやT-Kernelを使用することにより、短期間で開発されました。短期間で開発できるということは、開発コスト低減につながり、開発リスクを下げ、製品価格も抑えることが可能となります。

はじめにもどる

Q3 T-EngineとμT-Engineの違いを教えてください。

T-Engineプロジェクトでは、ターゲットとなる組込み機器の規模や用途に合わせて、複数の標準ハードウェア仕様を定義しています。具体的には、液晶画面やタッチパネルを装備した携帯情報機器など、比較的高度なユーザーインタフェースを持つ機器を想定した「標準T-Engine」と、家電や計装機器など、比較的ユーザーインタフェースの少ない機器を想定した「μT-Engine」があり、いずれも基本的なハードウェア構成のほか、基板サイズやコネクタの位置などがそれぞれ規格化されています。このうち、特に基板サイズに関しては、「標準T-Engine」のCPUボードが75mm×120mmであるのに対して、「μT-Engine」のCPUボードは60mm×85mmとさらに小型化されています。

また、周辺デバイスに関しても、両者で違いがあります。標準T-EngineにはPCカードスロットやUSBが付いているのに対して、μT-EngineにはCF(Compact Flash)カードスロットやMMCカードスロットが付いています。シリアルポートおよびeTRONカードI/Fは、標準T-EngineにもμT-Engineにも共通に付いています。

詳細については、各T-Engine/μT-Engine開発キット「TRONWARE」などをご覧ください。

はじめにもどる

Q4 ITRON(μITRON)とT-Kernelとの違いを教えてください。

ITRONはもともと「弱い標準化」の方針をとっており、8ビットCPUなども含めて幅広く適用されることを目標にしていました。また、リアルタイムOSの基本機能に関してはAPIを標準化しましたが、実行用ハードウェア、デバイスドライバ、開発環境などに関しては特に規定やガイドラインがなく、ITRONの開発メーカーに任されていました。

しかし、ミドルウェアやデバイスドライバの流通や互換性を考慮すると、ハードウェア、デバイスドライバ、開発環境(ソースの記述形式やオブジェクトフォーマット)などに関しても、何らかの標準仕様やガイドラインが必要になります。この点を重視し、ITRONと比較して標準化の範囲を広げ、より「強い標準化」の方針をとっているのがT-Engineプロジェクトです。

このため、T-Engineの標準リアルタイムOSであるT-Kernelには、ITRONの持っているリアルタイムOSの基本機能に加えて、ミドルウェア流通のための各種機能が追加されています。たとえば、ITRONの標準機能にはデバイス管理の機能を含んでおりませんが、T-Kernelにはデバイス管理の機能も含んでおり、ミドルウェアやアプリケーションとデバイスドライバを独立して開発できるように工夫されています。また、より大きなシステム(仮想記憶など)を構築するためのサブシステムの機能も追加されています。

ただし、リアルタイムOSの基本機能、たとえばタスク、セマフォ、イベントフラグ、メッセージ、ランデブなどの概念や機能については、T-KernelとμITRON 3.0ないしはμITRON 4.0でほぼ共通です。T-Kernelには、ITRONの20年の経験とノウハウが活かされており、ITRONを使ったことのある技術者であれば、T-Kernelへの移行はスムーズです。

はじめにもどる

Q5 T-KernelのAPI(システムコール、サービスコール)の具体例を教えてください。

T-Kernelには、次のような機能やAPIが含まれています。なお、T-Engine開発キットには、T-Kernelの仕様書が含まれています。

表1 T-Kernel/OSの機能

  • タスク制御機能
  • タスク間同期通信機能
  • メモリ管理機能
  • 例外・割込制御機能
  • 時間管理機能
  • マネージャ管理機能

表2 T-Kernel/SMの機能

  • システム構成情報管理機能
  • システムメモリ管理機能
  • デバイス管理機能
  • アドレス空間管理機能
  • 割込管理機能
  • I/Oポートアクセスサポート機能
  • 省電力機能

表3 T-Kernelのサービスコール例(タスク制御機能の一部)

  • tk_cre_tsk : タスク生成
  • tk_del_tsk : タスク削除
  • tk_sta_tsk : タスク起動
  • tk_ext_tsk : 自タスク終了
  • tk_exd_tsk : 自タスクの終了と削除
  • tk_ter_tsk : 他タスク強制終了

はじめにもどる

Q6 開発にはどのようなプログラミング言語を利用できますか?

T-Engine開発キットには、各CPUをターゲットとしたGNU開発環境が含まれており、C/C++言語(gcc)を利用して開発できます。GNU開発環境は、Windows(Cygwin)上またはPC-Linuxマシン上で動作します。

このほか、オプション製品のミドルウェア集である「PMC T-Shell」(→[Q13]参照)には、GUIベースの操作画面やデモンストレーション、プレゼンテーションなどのビジュアルな画面を簡単に開発できるビジュアル言語「マイクロスクリプト」が含まれております。「マイクロスクリプト」は、PC用の「超漢字4」でも全く同じプログラムが動作するため、画面の大きなPCを利用して効率よくHMI画面の設計や開発を行えます。

また、Java等の開発言語もございます。たとえば、株式会社アプリックスの「JBlend for T-Engine」は、組込み向けのJavaプラットフォームである「JBlend」を、「T-Engine」に対応させた製品です。

はじめにもどる

Q7 デバッグ環境はどういうものがありますか? JTAGやICEを使ったデバッグは可能ですか?

T-Engine開発キットには、GNUでサポートされているソースデバッガgdbが含まれており、シリアル回線経由でのクロスデバッグが可能です。また、GUIベースの統合開発環境や、JTAGやICEを使ったデバッガについては、オプション製品あるいは他社の製品としてご用意しています。最新情報については、お気軽にお問い合わせください。

はじめにもどる

Q8 Windowsでの開発は可能でしょうか?

T-Engineプロジェクトでは、別のCPUに対するソースの再コンパイルを容易にしたり、ミドルウェアをオブジェクトコードで流通させたりするために、開発環境のレファレンスモデルを定めております。これがGNUになっています。実際の開発環境は、必ずしもGNUでなくても構いませんが、GNU開発環境との相互運用やGNUで生成したオブジェクトとのリンクが可能なことが条件になっています。

T-Engine開発キットでは、Cygwin を利用した Windows上で動作するGNU開発環境を添付しておりますので、標準で Windows上で開発していただくことができます。

また、オプション製品のWindows上で動作するT-Engine用の開発環境として、株式会社日立超LSIシステムズの「HI ApplicationEngine for T-Engine」やイーソル株式会社の「eBinder for T-Engine」があります。本製品はパーソナルメディアでも販売しておりますので、お気軽にお問い合わせください

はじめにもどる

Q9 T-Engine上で動かすアプリケーションやミドルウェアは、T-Kernelとリンクしてから実行するのでしょうか?

T-Kernelとアプリケーション(ミドルウェアを含む)をリンクする必要はありません。アプリケーションとT-Kernelは別々のプログラムモジュールになっており、アプリケーションからT-Kennelのシステムコールを呼び出す際は、トラップ命令(ソフトウェア割込みの命令、x86のINT命令に相当)を利用します。この点については、パソコン用のOS(Windowsや超漢字など)およびUNIX系のOSにおいて、アプリケーションからOSのシステムコールを呼び出す場合と同じ形態です。

お客様の開発したアプリケーションは、開発マシン(PC-Linuxマシン)から、シリアル回線などを経由してT-Engine側にダウンロードして実行します。一方、T-Kernelは、バイナリ形式でフラッシュメモリ上に書き込まれていますので、OSのバージョンアップ時など特別な場合を除けば、T-Kernelのプログラムを毎回ダウンロードする必要はありません。

はじめにもどる

Q10 T-Kernelのリアルタイム性能はどの程度でしょうか?

T-Kernelは、ITRONの20年の実績とノウハウに基づいた高性能なリアルタイムOSであり、そのリアルタイム性能は最高クラスです。実際の性能値については、CPUの種類やクロック数、割込みハンドラの数や優先度配分など、多くの要因が絡むため、変動はありますが、「T-Engine/SH7727開発キット」における数値の一例としては、次の通りです。

最大割り込み禁止時間 :
約2μsec(140MHz動作時)、約3μsec(96MHz動作時)
wup_tsk() による待ちタスク起床の際のディスパッチ時間 :
約7μsec(140MHz動作時)、約10μsec(96MHz動作時)

はじめにもどる

Q11 T-Kernelの必要メモリサイズを教えてください。

CPUの種類やシステム構成、タスクなどのオブジェクト数により変動しますが、プログラムサイズは約70KB、データサイズは最低8KB程度です。

はじめにもどる

Q12 T-Engineの画面出力にはどのようなデバイスが使えますか?

標準T-Engineでは、320×240ドットのタッチパネル付き液晶パネルをサポートしています。なお、T-Engine開発キットの一部の機種では、液晶パネル(LCDボード)がオプション製品となっておりますので、ご購入の際は製品内容をご確認ください。

このほか、T-Engineの標準仕様には含まれませんが、パソコン用CRTに接続可能なVGA出力を持ったT-Engineや、VGA出力のある拡張ボードに接続可能なμT-Engineも存在します。それぞれのT-Engine開発キットのパンフレット等をご覧ください。

はじめにもどる

Q13 「PMC T-Shell」とは何ですか?

GUI機能を中心とした、T-Engine上で動作するミドルウェア集です。具体的には、グラフィック画面に図形や文字を描画するディスプレイ・プリミティブ、画面上のパーツ類(テキストボックスやスイッチなど)、メニュー、ウィンドウなどを管理するGUIマネージャ、VJEを用いたかな漢字変換機能、多漢字の表示機能および17万字の多漢字・多言語用フォント、TCP/IPなどのほか、タッチパネル等のHMI画面の設計に適したビジュアル言語「マイクロスクリプト」が含まれています。

「PMC T-Shell」は、AV機器、OA機器、券売機、KIOSK端末など高機能なGUIを持つ組込み機器のGUIミドルウェアとしてご利用いただけるほか、多漢字の需要が大きな電子ブックや電子辞書、あるいは電子政府向け端末など、文字を中心とした組込み用アプリケーションの開発プラットフォームとして幅広くご活用いただけます。

「PMC T-Shell」を、T-Engine開発キット上で動作するパッケージソフトウェアの形にした商品が「PMC T-Shell開発キット」です。

はじめにもどる

Q14 「PMC T-Shell」が対応する解像度、色数を教えてください。

「PMC T-Shell」のGUI機能は1600×1200ドットまでの高解像度、1677万色の多色表示に対応しております。

ただし、実際の画面表示にはドライバ(スクリーンドライバ)の対応が必要です。 T-Engine開発キットでは、320×240ドット、262,144色のLCDボードが付属するか、またはオプションで使用可能です。そこで標準で添付されるスクリーンドライバはこのLCDボード向けに調整されています。

またTeacube/VR5701評価キットは最大1280×1024ドット 65,536色までの表示能力を持ち、対応するスクリーンドライバが添付されています。

はじめにもどる

Q15 T-MonitorやT-Kernel、T-Engine用ミドルウェア等の利用条件を教えてください。

T-Engine用の標準リアルタイムOSであるT-Kernelは、 T-Engineフォーラムの著作物です。 T-Kernelのプログラムは、 T-Engineフォーラムからソースを含めて公開されており、一定の条件(T-License)に同意していただければ、最終製品への組み込みも含めて、自由にご利用いただけます。

ただし、T-Engineフォーラムから公開されているT-Kernelは、 MMU非対応版です。そのため、ファイル管理や仮想記憶を実現する PMC T-Kernel Extensionや、GUI機能を実現するPMC T-Shellなどのミドルウェアを動かすには、MMU対応機能などの追加が必要です。パーソナルメディアでは、T-Kernelにこのような修正を行ない、 PMC T-Kernelとしてご提供しています。

次に、パソコンのBIOSに相当するT-Monitorは、 T-Engineフォーラムの定めた仕様に基づいてパーソナルメディアが開発した、パーソナルメディアの著作物です。 T-Engine開発キットには、開発キット上で実行可能なT-Monitorのライセンスが含まれており、開発キットをご購入いただければ、その上で付属のT-Monitorを実行できます。

一方、最終の量産品など、開発キット以外のハードウェアの上で T-Monitorをご利用になる場合は、T-Monitorの開発元であるパーソナルメディアとの間で、ライセンス契約をお願いします。 PMC T-Kernel ExtensionやPMC T-Shellなどのミドルウェアについても同様です。ライセンスの形態や条件、具体的な費用などの詳細情報に関しては、パーソナルメディアまでお気軽にお問い合わせください。

はじめにもどる

Q16 T-Engineの技術セミナーはありますか ?

T-Engine関連のセミナーは、パーソナルメディアをはじめ、ハードウェアメーカー各社やミドルウェアメーカー、開発環境メーカーなどが随時開催しております。 また、パーソナルメディアでは、お客様のご要望に応じた有償のカスタムセミナーも開催しております。受講者のご希望や知識レベルなどに応じて、講習内容を調整させていただきますので、ご希望の講習内容、ご希望の時期と開催場所、受講予定人数などをお知らせください。

詳細や最新情報については、「T-Engineセミナー」のページをご覧ください。

T-Engine 導入実習セミナー

ITRONあるいはリアルタイムOSをご存じの方に対して、T-EngineやT-Kernelの位置付け、ITRONとの比較、プロセスベースのプログラムやMMUの活用方法など、T-KernelやT-Kernel Extensionの特長的な機能を中心に、実践的な解説を行う技術セミナーです。最後の2時間程度はT-Engine開発キットを用いた実習を行い、GNU開発環境やソースデバッガgdbのご説明も行います。

表4: T-Engine導入実習セミナー : カリキュラム例

  • T-Engineの概要
  • T-Kernelの概要とメモリモデル
  • PMC T-Kernel Extension概要
  • T-Engineでのプログラム開発
  • プログラム開発実習

T-Engine エキスパートセミナー

「T-Engineエキスパートセミナー」は、デバイスドライバやサブシステムの開発まで含めた、高度な内容を取り扱うセミナーです。

表5: T-Engineエキスパートセミナー : カリキュラム例

  • T-Engine,T-Kernel,T-Kernel Extensionの技術的特長
  • T-Engineのメモリモデル
  • T-Engineのデバイスドライバ開発方法
  • T-Engineのサブシステム開発方法

はじめにもどる

Q17 TCP/IPは使えるのでしょうか?

T-Engine開発キット用のTCP/IPとして、既に複数の製品が発売されております。たとえば、「PMC T-Shell」(→[Q13]参照)にもTCP/IPの機能が含まれております。また、IPv4だけではなくIPv6も必要とされる場合には、図研エルミック株式会社のTCP/IPプロトコルスタック「KASAGO for T-Engine」がございます。「KASAGO for T-Engine」はパーソナルメディアでも販売しております。情報家電やモバイル機器など、ユビキタス・コンピューティング時代の主役となるさまざまな機器にネットワーク機能を搭載する際には、是非ご利用ください。

なお、携帯電話などの組み込み機器を対象とした場合、ネットワークへはいろいろな接続手段(CDMAやPHSなどの携帯電話回線をはじめ、無線LANやBluetoothなど)があり、必ずしも10Base-Tなどの有線LANを使うとは限りません。そのため、標準T-EngineやμT-EngineのCPUボードには有線LAN専用のコネクタやLANアダプタを搭載しておりません。PCMCIAカード(μT-Engineの場合はCFカード)や拡張ボードを併用していただくことにより、多様なネットワーク接続方式を選べるようになっています。

はじめにもどる

Q18 T-Engineのボード上で、T-Kernel以外のOS(たとえばLinuxなど)を動かすことはできますか?

T-Engineプロジェクトの大きな目的は、ミドルウェアやデバイスドライバの共通化や流通促進であり、そのための標準リアルタイムOSとしてT-Kernelの仕様を定めました。T-Engineのボード上でT-Kernel以外のOSを動かすのは、この趣旨に反しますので、推奨はできませんし、その場合はミドルウェアやデバイスドライバの共通化もできなくなります。

ただし、技術的には、T-Engineのボード上で他のOSを動かすことも可能です。実際、フラッシュメモリやPCカード(ATAカード)の中に、定められたブート形式にしたがったプログラムを入れておけば、T-MonitorからT-Kernel以外のプログラムやOSを立ち上げることができます。

また、別のアプローチとして、T-EngineやT-Kernel上で動く大きなミドルウェアの1つとしてLinuxを実装するという考え方もあります。これをT-Linuxと呼んでいます。通常のLinuxと比較すると、OSのカーネル部分をT-Kernelで置き換えたような形になり、リアルタイム性能が向上するほか、T-Engine用のデバイスドライバやミドルウェアとの併用が容易になるといったメリットがあります。T-Linuxの詳細に関しては、T-Engineフォーラムまでお問い合わせください。

はじめにもどる

Q19 T-Engineの特長の1つとして、eTRONとのI/Fを持っているという点がありますが、ミドルウェア等を開発する際、eTRONへの配慮は必要なのでしょうか?

eTRONの機能を利用しないソフトウェアであれば、eTRONへの配慮は特に必要ありません。eTRONとは関係なく開発できます。一方、eTRONの機能を積極的に活かして、eTRONによる課金や著作権保護に対応したソフトウェアを開発することも可能です。eTRONを使った開発に関しても、お気軽にお問い合わせください。

はじめにもどる

Q20 T-Engineで動くミドルウェアのビジネス形態には、何か制約があるのでしょうか?

特にありません。T-Engineプロジェクトでは、仕様やI/Fを標準化するだけであり、各社で開発した製品の扱いやビジネスの形態は各社の自由です。したがって、T-Engine上で動くミドルウェアの提供形態についても、特に制約はありません。ソース提供の有無、ロイヤリティの有無なども自由です。T-Engineプロジェクトとしては、フリーでオープンのもの(改造や教育向き)、有償だが質の高いものなど、いろいろな実装が出てくることを期待しています。

はじめにもどる