30年以上にわたり利用され、継続して改良してきた結果、統合開発環境MULTIは組込みソフトウェア業界ではどこにも負けない製品になりました。開発者の間では、MULTIは高品質なコードの制作や製品の早期市場投入で頼りになると定評があります。見つけにくいバグのピンポイントでの発見、メモリリークの解決、システム性能向上、すべてMULTIで解決できます。
TimeMachineで非常に重要な機能を担うPathAnalyzerは、アプリケーションのコールスタックを時系列で表示します。 クリックして画像を拡大
革新的なDebuggerの各機能は従来のツールでは難しい問題を短時間で解決させるために作られました。タスク同士の競合による破損、リアルタイム性の喪失、外部ハードウェアでのイベントなどの問題の原因をさかのぼって突き止めるのに数週間、または数ヶ月もかかってしまうことがあります。Green Hillsの動的実行解析ツールTimeMachineツールスイートを使えば、そうした問題を数時間、または数分で解決できます。このツールスイートは自動でプログラムの実行データをキャプチャし、MULTI Debuggerのインターフェースを革新的なデバッグ再生機能とリンクします。TimeMachineでのデバッギングでは、コードを一歩ずつ進めたり戻ったり、実行したり、デバッグしたりして、問題の根本原因をピンポイントで見付けることができます。
TimeMachineでキャプチャした各ポイントでは、次のことができます。
統合された静的ソースコード解析ツールであるDoubleCheckは、プログラムを動かす前にプログラミングのミスを発見できるので、時間と予算の節約につながります。DoubleCheckはGreen Hills Compilerに組み込まれているので、使うための設定コストはありません。オプションを選ぶだけで、DoubleCheckはソースコードのコンパイルの度に解析を行います。さらに、DoubleCheckは従来の静的解析ツールよりもずっと高速なので、開発者1人1人いつでも利用できます。
DoubleCheckの補助機能として、ランタイムエラーチェックがあり、静的実行解析だけでは発見できないバグを突き止めます。特に凶悪なバグは実際に故障するまで顕在化しないものです。ランタイムエラーチェックがあれば、問題が起こった時点でその原因を知らせます。直接見えていれば、バグを直すのは簡単です。
MULTIの同期実行制御はマルチコアシステム内のコアをすべて停止します。このため、他のコアで実行中の処理が共有メモリに与える影響を心配せずにコアのデバッグができます。 クリックして画像を拡大
複雑なシステムのデバッグも、システムのステータスを知るために必要な情報が手元にあればずっとシンプルになります。重要なシステム情報を分かりやすい形で提供し、早期問題発見に役立てます。
マルチコアの同期実行制御
Green Hills Softwareはマルチコアのデバッギング向けのプローブとデバッガをいち早くリリースした会社の1つです。MULTIが現在提供している機能により、マルチコアシステムのデバッギングがシングルコアシステムと同じくらい簡単にできます。
そうした機能の中でも重要なのは同期実行制御です。これはコアのどれかがデバッギング条件になった場合にすべてのコアを1ユニットとして止める機能です。例えば、あるコアでブレークポイントに当たった場合、ターゲットリストには次が明示されます。
マルチコアのターゲットにコードをダウンロードするのは、難解で面倒な作業になりがちです。MULTIはINTEGRITYのターゲットへのダウンロードを自動処理します。それ以外のOSやアプリケーションについては、設定ファイルでダウンロードや設定のプロセスを自動化することができます。
MULTI Project Managerにより、アプリケーションのビルドとアップデートがシンプルになります。 クリックして画像を拡大
クリーンなコードはミスが少ない傾向があり、またテストしやすく、理解も修正も簡単で、その分バグも少なくなり、信頼性も向上します。Green Hills CompilerはMISRA 2004などの業界標準のクリーンなコーディング規約やGHS Standard Modeを適用できます。GHS Standard Modeはコンパイラ警告とエラーをまとめたもので、通常のC/C++よりも厳しいコーディング基準を適用します。GHS Standard Modeは当社が長年蓄積してきたソフトウェア展開の成功事例や、同等水準の信頼性を達成してきた顧客との協業に基づいて作られました。
GHSはビルドの作業を簡略化して、開発者の貴重な時間を次の製品の設計に使えるようにします。MULTI Builderを使えば、複雑なビルド用環境を保守する必要はありません。ビルドの設定を変更するのは簡単です。Builderはプロジェクト全体の依存性を自動で解析し、ファイルはできるだけ多く並列にしてコンパイルとリンクを行い、新しいマルチコアシステムの利点ができるだけ活用できるようにします。
Builderその他の先進的機能はプロジェクト開発のオーバーヘッドを大きく削減します。プロジェクトマネージャ、エディタ、フラッシュプログラマ、命令セットシミュレータなどがシームレスにつながり、開発をすぐに加速できるだけでなく、作業効率も上がります。
組込みLinuxシステム向けのソフトウェアを開発するエンジニアにとって、MULTI for Linuxは生産性を劇的に向上させ、今までより信頼性の高い製品をより早くリリースするために必要なデバッギング機能を総合的に備えた製品です。
今までは、Linuxエンジニアには視認性と使いやすさがあまり考えられていないツールに頼らなければなりませんでした。GDBやそのフロントエンドであるEclipseは、設定が面倒で、使いにくく、いつも信頼できるわけではありませんでした。そのため、開発者は最後の手段としてprintfやprintkコマンドに頼るしかありませんでしたが、あまり当てにならず、残念ながら、これでは複雑なシステムの実行状況はほんの少ししか見えませんでした。
MULTI for Linuxがある今、組込み開発者は、Linuxカーネル、カーネルスレッド、割込みサービスルーチン、ユーザーモードのスレッドやプロセスなど、組込みLinuxシステムのあらゆる面を、今までより楽にかつ素早く可視化してデバッグできます
Linuxデバッギングの機能
高速、小型のコード生成
最適化コンパイラGreen Hills Compilerは販売されているコンパイラの中でも最強です。組込み業界でベンチマーク指標としてもっとも認められているEEMBCベンチマークでは、Green Hills Compilerの生成するコードは、32ビット・64ビットのプロセッサ双方で競合のコンパイラより高速かつコンパクトです。
Green Hills Compilerは最先端の最適化手法を何百も採り入れ、プログラムの大幅な実行速度向上・サイズ削減に活かしています。例えば、最先端のプログラム全体の最適化で関数呼び出しの境界を拡げることで、Green Hills Compilerはソースコード全体を1単位として最適化を行います。その結果、Compilerは不要なコードや変数の削除、いろいろなモジュールにまたがるインライン化、プロシージャ間のエイリアスのより詳細な解析を行うことができます。Compilerの出力は、最適化手法をいろいろと組み合わせたり、プロジェクトごと、ファイルごと、関数ごと、はてはソース行ごとに最適化を設定したりすることで細かくチューニングできます。ほとんどのプログラムについて、Green Hills CompilerはGNUコンパイラよりも実行速度が20%高速になります。
性能のボトルネックをピンポイントで発見
独自のツールであるGreen HillsのPathAnalyzer、Profiler、およびEventAnalyzerは、コード内にある性能のボトルネックを簡単に見つけ、取り除きます。その結果、高速で、よりスリムなアプリケーションが完成します。
Green HillsのソフトウェアエンジニアはMULTIやGHSのコンパイラを毎日使用しています。当社の生産性コンサルタントのチームは自分の直接的な経験を応用して、開発者がGHSの製品のポテンシャルをすべて引き出せるようにします。GHSのエキスパートは次のサービスを提供します。
また、可能な限り性能を高めるために、プログラムを当社の性能チューニングのエキスパートに任せることもできます。30年にわたり、私達は深い知識と業界最高のツールを駆使して、公開されるプログラム速度のベンチマークで競合他社に勝利してきました。当社が内部で使用する技術と同じ技術を使い、貴社のアプリケーションを高速化します。プログラムの部分ごとに、総合的な知見からベストなコンパイラ最適化手法を選び、適用していきます。
GHSの性能チューニングサービスは、商品ではなくカスタムサービスです。GHSは蓄積された専門知識を活かし、貴社のアプリケーションを評価してその結果をもとにコンパイラ最適化手法を組み立てます。GHSと協業して顧客のプログラムが300%以上の改善がみられることも珍しくありません。
プロセッサコストの削減
高まり続ける性能要件を達成するために、より高速なプロセッサが必ずしも必要というわけではありません。GHSの優れたコンパイラ最適化をチューニングすれば、どんなチップをお使いでも、それに合わせてフル活用できるようになります。しかも、GHSのPathAnalyzer、Profiler、およびEventAnalyzerなどの性能解析ツールは、プログラムのどこでどれくらい時間を使っているか鳥瞰図的に描き出し、どこを集中的に最適化すればアプリケーションを高速化できるかはっきりさせます。低価格のプロセッサで同じリアルタイム要件を達成できれば、経費をいくら節約できるでしょうか?また、新製品をリリースするために新しいハードウェアプラットフォームを制作する必要がないとすれば?
アプリケーションの性能が良くなれば、プロセッサそのものの費用も少なくできますが、さらに低価格のプロセッサならクロック速度と消費電力もより低くなり、発熱も小さくなります。電池駆動時間が長くなれば製品は良くなると同時に安くもなります。
メモリコストの削減
Green Hills Compilerで最適化すると実行ファイルのサイズを削減できるので、メモリにかかる経費も削減できます。ほとんどのプログラムで、GNUコンパイラと比較してメモリサイズは10%以上削減できます。さらに、メモリリークはDoubleCheckでコンパイル時に発見可能で、MULTIのMemory Allocationsツールで実行時間中に動的に探すこともできます。
最大限の節約
GHSのコストカット専門のチームは性能をそのままにメモリとプロセッサの要件を低くする作業をお手伝いします。今まで、お客様のメモリ使用量を30%以上、パフォーマンスを300%以上向上させた実績があります。
統合開発環境MULTIツールチェーンは最高水準のツール認証とC/C++ランタイム認証を達成してきました。
シンプルかつ大きな利点