クロス開発を意識させないEclipse

クロス開発を意識させないEclipse

Eclipse Foundationが提供するオープン・ソースの統合開発環境「Eclipse」は、もともとはJavaを中心とするエンタープライズ(企業情報システム)向けのアプリケーション開発環境でした。最近では、組み込み向けのクロス開発に利用する例も増えています。

Eclipseをベースにした組み込み向けの開発環境には、後述するリアルタイムOS「T-Kernel」*3を搭載した機器向けの開発も可能な製品「Eclipse for PMC T-Kernel」(パーソナルメディアのT-Engine関連製品のユーザーは無償で利用可能)もあります。

*3: T-Kernelについては連載の第2回で紹介します。

Eclipseを用いると、ソース・プログラムの作成、編集、コンパイルはもちろんのこと、オブジェクト・コードのターゲットへの転送や、ターゲット上でのプログラムの実行などの操作を、GUI画面上のメニューやボタンによって指定できます。また、ソース・プログラム上でのブレーク・ポイントの設定や行単位のシングル・ステップ、変数の参照や変更といった、豊富なデバッグ機能も備えています。

図2: EclipseをベースにしたT-Engine開発環境(クリックで拡大)

クロス開発にはセルフ開発とは違った難しさがありますが、Eclipseを利用することによって、ターゲット側の環境の違いが、ある程度隠ぺいされます。ターゲットへのプログラム転送などの処理も自動化されるので、見かけ上はセルフ開発に近い形態で組み込み機器のソフトウエアを開発できます。このため、組み込みの初心者でも、効率よくT-Kernelの応用システムを開発できます。

また、Eclipseにより、コストをかけることなくGUI統合開発環境を利用できます。組み込み向けの開発環境には高価なものが多いですが、Eclipseはオープン・ソースです。Teamacaron*4などのT-Kernel応用製品や、その開発環境に、Eclipseが付属しています。

*4: Teamacaronについては連載の第3回で紹介します。

EclipseをベースとしたT-Kernel用の開発環境では、ターゲットのハードウエアにもともと備わっているシリアル回線やUSB、あるいはLAN経由で、プログラムを転送できます。このため、開発時に別途ICEを用意する必要がありません。

一般に、開発環境や開発用のICEは、開発者の人数分だけ必要です。これらの開発ツールをそろえるだけでも、かなりの費用になります。Eclipseを使えば、この費用を大きく削減できます。

仮想環境によるクロス開発

VMwareやQEMUなどの仮想化ソフトをクロス開発に利用する方法もあります。ターゲット側の実行環境を、開発用ホストの中でシミュレーションすることによって、開発やデバッグを行うわけです。

もちろん、シミュレーション可能なCPUやデバイスに制約があるケースや、実行のタイミングが実際の組み込み機器(実機)と一致しないために、リアルタイム処理や性能に関係したデバッグが難しくなるケースもあります。しかし、一方で、実機が不要という大きなメリットがあります。条件によっては、仮想化ソフトを使ったシミュレーションは有効です。

仮想化ソフトを利用した組み込み向けのクロス開発環境を提供する製品としては、「T-Kernel/x86評価キット」*5があります。

*5: T-Kernel/x86評価キットについては連載の第3回で紹介します。

T-Kernel/x86評価キットは、x86を搭載した制御用コンピュータ上で動作するリアルタイムOS「T-Kernel」に、デバイス・ドライバやミドルウエア、Eclipseを含む開発環境を加えてパッケージ化した製品です。仮想化ソフトであるVMwareを利用することで、開発用ホストであるWindowsの環境内で、T-Kernelを含むターゲット側の実行環境をシミュレーションしながら開発できます。

T-Kernel本体や通常のアプリケーションのほか、画面への表示、LAN、USB、シリアルのデバイスについてもシミュレーションできます。このため、ユーザーが追加した特殊なデバイスを除けば、実機にかなり近い環境をパソコン内で再現できます。

開発用ホストであるWindowsの機能を併用できる点も、仮想化ソフトならではのメリットです。例えば、実機を含めた画面のイメージを、簡単にキャプチャできます。さらに、ターゲット側の障害発生時のプログラム実行状況(いわゆるコアダンプ)をWindows上のファイルとして保存しておけば、その状態からの障害の再現調査を後から何度でも簡単に行うことが可能です。

仮想化ソフトを使った場合は、セルフ開発と同じように、実機の画面が開発用ホストの中の1つのウィンドウとして表示されます。しかし、実機の画面を開発用ホストから独立させた方が、本来の動作環境に近くてデバッグしやすい、といった需要もあります。このような場合は、WindowsにUSBサブモニターを接続し、シミュレーション実行している実機側の画面をUSBサブモニターに表示する方法があります*6。

*6: 具体的な方法については、「USBサブモニターと仮想環境を使ったT-Kernelアプリ開発」にレポートがあります。

こうすれば、開発画面と実機のシミュレーション画面が物理的に分離されるため、組み込み開発本来の姿であるクロス開発風のハードウエア構成(画面の見かけのみですが)となります。開発用ホストのメイン画面の方は、Eclipseのみでフルに使うことができます。

図3: 仮想化ソフトを活用したクロス開発。右画面はシミュレーションによる実機の画面(クリックで拡大)

次回は、組み込み用のリアルタイムOSとT-Kernelについて解説します。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30