MAGAZINE ARTICLES
|
複雑化/大規模化が進む組み込みシステム向けのソフトウエア。これを限られた予算や期間で開発するために、オープンソースのソフトウエアの存在が大きくクローズアップされている。しかしながら、これを有効に活用するためには、注意すべき事柄が数多く存在する。本稿では、組み込み機器分野でオープンソースのソフトウエアの利用を考えるに当たって知っておくべきことをまとめる。 Warren Webb |
旧来の組み込み機器は、設計リソースが限られる状況にあっても何とか対処可能なレベルのものだった。しかし現在の組み込み機器は、高速ネットワークやワイヤレス通信、あるいは対話型のグラフィカルユーザーインターフェース(GUI)、データの暗号化機能など、以前は適用されることのなかったソフトウエア機能を備える高機能/高性能のシステムへと変貌しつつある。このような背景から、組み込みシステムの開発に携わる者にとって、オープンソースのソフトウエア(以下、オープンソースソフト)は無視できない存在となってきている。ロイヤルティが不要である、開発スケジュールの短縮が図れるといった面で、オープンソースソフトのメリットが非常に魅力的なものに映るからだ。実際、オープンソースソフトは組み込みの分野でも広く利用されつつある。現在では、無償ダウンロードによって入手したOSや各種ライブラリ、コンポーネントなどと、自社で開発した専用ソフトウエアを統合することによって、数1000人・時間にも達する大幅な開発工数の削減が可能となっているのである。
利用可能なオープンソースソフトとしては、種々のバリエーションを持つLinux OSから、高度なデバッギングツールに至るまで広範囲にわたる。例えば、オープンソースソフトの開発を支援する最大のサイトSourceForge.netには、18万件に達するプロジェクトが登録されている。それらのプロジェクトは、データベース、セキュリティ、ゲーム、クラスタリング、マルチメディア、VoIP(Voice over Internet Protocol)など、多様なシステムに関するものである。
しかし、こうした時流にのってコードをダウンロードして使用する前に、まずはオープンソースソフトの特質をよく見極めておかなければならない。オープンソースソフトがこれほど注目される存在になったのはなぜなのか、その利用を避けている設計者たちはどのようなことを問題点としてとらえているのか。こうしたことを検討/確認しておくことが重要である。カスタマイズ、サポート、ライセンス、ハードウエアのコスト、開発ツール、さらにはリアルタイム性能など、さまざまな事柄について判断しなければならないのだ。
組み込みシステムでオープンソースソフトを使用する場合、対象となるハードウエアの構成に適合するよう、コードを編集しなければならないことが多い。もともと、多くのオープンソースソフトは広範な分野を対象とすべく汎用性を高めたものとなっている。すなわち、特定の用途に向けたものではないことがほとんどだ。汎用性の高いソフトウエアをそのまま使用すると、必要なメモリー容量が増大する。ロイヤルティが不要であることはコスト面でメリットとなるが、そのまま用いると、結果的にコストが増大してしまうことにもなりかねないのである。
標準仕様にのっとった既製のボードに、オープンソースのサポートソフトウエアが添付されているケースがある。その種のソフトウエアは、ボードのメーカーが汎用性の高いオープンソースソフトを自社のボードに適合するよう構成し直したものだ。例えば、米WinSystems社は標準仕様にのっとったボード製品群に、オープンソースソフトをカスタマイズしたものを含めた開発キットを添付している(写真1)。その開発キットには、デバイスドライバ、各種ドキュメント、ケーブル、スタートガイドなどが含まれている。さらに、この開発キットにはBlue Collar Linuxがバンドルされている。このBlue Collar Linuxは、組み込み用に実装されたLinux OSであり、公開されているソースファイルから、特別なツールを使うことなくバイナリコードを生成することができる。
商用ソフトウエアのベンダーであれば、コンフィギュレーションのカスタム対応、サポートパッケージの定期的な更新、開発ツールキット/サンプルプログラムなどの提供といった要求に応えられる。例えば、米MontaVista Software社は、サブスクリプション(一定期間の使用権/サポート権)を購入したユーザーに対しては、組み込み用Linuxに対する技術サポートを提供している。
オープンソースソフトの利用を考えるユーザーが感じる最大の不安は、こうしたサポート体制が不十分なことである。すなわち、商用ソフトウエアのベンダーから受けられるのと同様のサポートは得られない。何らかの問題が発生した際、インターネット上で必要な解決策を見つけることも不可能ではないが、質問に対して調査/回答してくれるような専門部隊は用意されていない。
この問題に対しては、専門的なサポートチームを自社内に設けることや、サポート業務を担うサードパーティ企業と契約するといったことが方策として考えられる。多くの人がオープンソースソフトの大きなメリットは無償で利用できることだと認識しているが、設計者は、設計の容易化を実現するためであれば、専門的なサポート/専用ツール、カスタマイズサービス、プレコンフィギュレーションパッケージなどを得るために費用が発生するのはやむを得ないことだと考えるだろう。
また、オープンソースソフトに関して、設計者は似たような内容の多数のバージョンが存在してしまうことに危険性を感じる。あるユーザーが組み込み機器への適用時に発生した問題を解決しようとオープンソースソフトのコードにパッチを当てたとする。また別のユーザーが、同様の内容だが互換性のない改変を行うと、そのコードには3種類のバージョンができてしまうことになる。ある開発者が自分の用途に合わせて行った改変は、ほかの用途においては互換性のないものになるだろう。製品化済みの組み込みシステムではアプリケーションソフトとOSが一体化されているため、こうした複数のバージョンの存在は、開発者ではなくエンドユーザーにとっての大きな問題になる。
こうした観点から、Linuxのオープンソースコミュニティでは、リアルタイムLinuxなどの特定バージョンを有するものを除いては、更新の提案/配布を入念に管理している。それにより、多数のバージョンが存在してしまうことを避けている。
一般に、オープンソースソフトは著作権が放棄された状態で提供されるわけではない。各種のオープンソースライセンスが適用されているので、利用に当たってはそれぞれのライセンスに規定されたルールに従わなければならない。
例えば、Linuxには有名なGNU GPL(General Public License)が適用される。GNU GPLを適用したソフトウエアでは、それを改変して配布する場合に、改変後のソフトウエア(派生ソフトウエア)にも自動的に同じライセンスが適用される。その結果、求めがあれば、改変後のソフトウエアのソースコードも提供しなければならなくなる。こうした事情から、組み込みシステム開発者の多くは、自社で開発したソフトウエアのソースコードを公開しなければならないことを恐れてLinuxを敬遠している。ただし、アプリケーションプログラムやデバイスドライバがLinuxカーネルから明確に分離でき、GNU GPLが適用されるコードを含んでいない場合には、それらを公開しなくて済むこともある。それでも、こうしたコードの分離の必要性が開発者の間では心配の種になっている。特に、小規模の組み込みシステムの開発者にその傾向が強い。
このような制限事項があるものの、Linuxを無料でコピーして製品に組み込み、その製品をロイヤルティを払うことなく自由に販売できることのメリットは大きい。OSI(Open Source Initiative)は、GNU GPLを含めて20件以上のオープンソースソフトライセンスに対して承認を与えている。
1
「正しい理解」が肝要
Google Android™を使用して商用製品を開発する設計エンジニアを対象にしたプロフェッショナ…
組込みLinux開発への新たなアプローチ完全な組込みLinuxディストリビューションと開発期間を短縮…
MontaVista DevRocketは、MontaVista Linuxプラットフォームとアプリ…
業界トップのキャリアグレードオペレーティングシステムは、4GやLTEなどの次世代のワイヤレスネットワ…
ワイヤレスおよび携帯デバイス向けに設計されたMobilinuxは、製品化に要する時間の短縮という独自…
Catapult C SynthesisによるSystemCモデリング、合成および検証
Catapult C Synthesisは、複雑なASICのシステムレベルでのモデリング、検証、合成のためにSystemCサポートを追加しました。サイクル精度と…[メンター・グラフィックス・ジャパン]
この技術解説では、Androidの設計、仕組み、ネットワーク対応機器の開発を加速するために、Androidをどのように活用できるかを考察していきます。またAnd…[メンター・グラフィックス・ジャパン]
アナログ・デバイセズに寄せられた珍問/難問集より<Issue11>
<コンパレータとオペアンプ ― ともに相交わることなかれ(あるいはパンチ君からのアドバイス)>Q.オペアンプで間に合うのに、なぜ高価なコンパレータを買うのでしょ…[アナログ・デバイセズ]
アナログ・デバイセズに寄せられた珍問/難問集より<Issue 8>
グランド・ノイズとグランドホッグ - 電子技術者たちの民間伝承Q. アナログ入力がグランディング(接地)されているのに、なぜ出力でもグランドが必要なのでしょうか…[アナログ・デバイセズ]
コンティニュアス・タイム(連続時間)型シグマ/デルタA/Dコンバータ
業界で初めて実用化されたコンティニュアス・タイム(連続時間)型シグマ/デルタA/DコンバータADC12EU050の優れた性能を紹介。[ナショナル セミコンダクター ジャパン]
インダクタを含む全回路を表面実装パッケージに一体化した μModule LEDドライバ
LEDは低コストの表示灯のような注目されない分野に一時追いやられていましたが、照明の分野で再びスポットライトを浴びています。LED照明は、自動車のヘッドライトか…[リニアテクノロジー]
4mm×4mm QFNパッケージの多用途TFT LCDバイアス電源および白色LEDドライバ
ハンドヘルド型の医療用、産業用および民生用機器のメーカーは多様な小型から中型のサイズの高分解能カラーTFTLCDディスプレイを使います。これらのディスプレイの電…[リニアテクノロジー]
LCフィルタの高周波減衰量を向上させる
標準的なPi 型フィルタ(Chipcon製開発キットの多くで使われているようなもの)では不十分な場合に、高調波をさらに減衰させるために使用できるT型LCフィルタ…[日本テキサス・インスツルメンツ]
計装アンプ/差動アンプを AC 結合で使用する
信号処理関係のアプリケーションでは、DC(直流)に存在する同相ノイズから AC(交流)信号を選り分けて集めなければならないことがよくあります。計装アンプ(IA)…[日本テキサス・インスツルメンツ]
新しい検証アプローチEVEはハードウェア検証支援システムのパイオニアとして新しいアプローチを切り開いてきました。従来のエミュレーション・システムとラピッド・プロ…[日本イヴ]
新しい検証アプローチEVE は、ハードウェアに支援された、全く新しい検証アプローチを切り開いてきました。これは、従来のエミュレーションとラピッド・プロトタイピン…[日本イヴ]
電磁波解析専用ソフトウェア PAM-CEM
電磁波関連機器・部品の解析設計を支援する電磁波解析専用ソフトウェア(CAE)です[特長]・「EMC・EMI問題への対策」を支援 有限差分時間領域法(FDTD)の「PAM-CEM/FD」または有限要素時...[日本イーエスアイ]
|
アナログ電子回路コミュニティ
技術者のための掲示板サイト |
|
Design Hint&Tips
アナログ設計回路の基礎から最新技術動向まで |
|
最適なソリューションを提案する パナソニックの最新キーデバイス パナソニック エレクトロニックデバイス |
|
MCU EXPO.COM
MCUの総合情報サイト |
|
Green Power Solution
電源IC & アナログ情報サイト |
|
FPGA Insights
FPGAの総合情報サイト |
|
ANALOG TECH & INFO
アナログ半導体の総合情報サイト |
|
特集 カーエレJAPAN |
|
特集 ET 2009 |