統合開発環境

MULTI

green hills software

MULTI

Green Hills Software社(GHS)の統合開発環境MULTIは、プログラミングからデバッグまで、一連の組込みソフトウェア開発における各作業フェーズを、統一されたグラフィカルユーザインタフェース(GUI)で効率よくサポートする統合開発環境です。

開発元である、米国 Green Hills Softwareは、組込み開発環境のサプライヤとしては世界一位の独立系ソフトウェアベンダです。MULTIは、航空宇宙・防衛、自動車、医療、ネットワーク、デジタル家電、工業オートメーションなど、幅広い分野において数多くの実績を持っています。

コンパイラの性能

半導体技術の進歩に伴い、組込み機器に搭載されるマイクロプロセッサは年々高速化していますが、Green Hills コンパイラは、昨今の組込みソフトウェア開発において様々な分野で使われている実績があり、ツールとして機能安全認証を取得しています。

Green Hills コンパイラでは、数百種類もの最適化技術を駆使し、メモリサイズの小さいマイコンでもハードウェア性能を最大限に引出し、プログラムの性能を高めることが可能です。コンパイル時に行われる様々な最適化はもとより、複数のファイル間での関数呼出しをも対象とするプロシージャ間最適化、さらに、リンク時の最適化技術コードファクタ(CodeFactor)最適化では、サブルーチンコールやテールマージなどでコードの冗長なセグメントを削除することで、実行速度を高めると同時に、サイズを削減することが可能です。

30年にわたり、コンパイラの技術でトップを走り続けるGHSは、最適化技術をひとつひとつ綿密に調べ、何百ものベンチマークと照らし合わせてテストを実施しています。緻密な実装と最新技術のおかげで、多くのプログラムでGNUコンパイラやLLVMコンパイラと比較して20%以上速度を向上し、サイズを削減することができます。
Green Hills コンパイラは、デフォルトのオプション設定でも良好なコードを生成しますが、ソースコードにより有効な最適化もあれば、効きにくい最適化もあります。そこで、いろいろな最適化の組合せを試したり、プロジェクト単位またはファイル単位で個別に最適化を設定したりすることで、コンパイラの出力を細かく調整することができます。

最高水準の性能を達成するために、GHSでは組込みシステムの専門知識を駆使し、お客様ごとにパフォーマンスチューニングサービスを提供しています。また、アプリケーションの評価に基づいてカスタムで最適化を行うこともできます。

安全性と信頼性を保証

ツールの安全性認証

MULTIは、最高水準のツール安全性認証とC/C++ランタイム認証を取得しています。

  • IEC 61508:2010(産業)、EN 50128:2011(鉄道)、ISO 26262:2011(自動車)の機能安全規格の認証を取得(TÜV NORDおよびexidaから)
  • SIL 4(安全度水準)、およびASIL D(自動車安全度水準)のツール認証に適合。C/C++ランタイム認証要件も達成
  • 幅広いターゲットプロセッサに対応

この認証により、お客様には以下のような利点があります。

  • 認証までのコストと時間を削減
  • 製品の市場投入期間を削減
  • 製品発売後の認証保守を軽減
  • SIL/ASILの最高水準のアプリケーション開発のサポート

言語規格およびコーディングルール

よくあるコーディングミスを防ぐため、Green Hills コンパイラは、C/C++言語規格オプションに加え、MISRA 2004ガイドラインなどの業界のコーディングルールや、「GHS Standard Mode」などの独自のガイドラインを適用することができます。GHS Standard Modeは、GHSが長年にわたりお客様に提供してきたコード事例や、お客様の協力に基づく信頼のおけるコードの蓄積により作られました。GHSは、自社ツールの開発にも「GHS Standard Mode」を適用しています。

バグの早期発見

Green Hills コンパイラに統合された静的ソースコード解析ツールDoubleCheckは、プログラムのビルド時にコーディングの問題を特定し、通常のテストでは見つからないバグも発見します。コンパイラとは独立して動作する従来の静的解析ツールとは違い、DoubleCheckはコンパイラに組込まれているため、以下の利点があります。

  • コンパイルオプションを有効にするだけで使用可能
  • そのままビルドするたびに自動でコードを解析
  • コンパイル対象の実コードでの解析が可能

ランタイムエラーチェックは、静的コード解析だけでは発見できないバグを見つけ、DoubleCheckによる解析を補完します。特に厄介なバグは、実際に故障するまで長い間顕在化しないものですが、ランタイムエラーチェックは、問題が発生した時点でその原因を知らせます。直接見えるバグは比較的簡単にデバッグできます。
組込みソフトウェアのエンジニアは、多くの時間をデバッグとテストにとられます。OSタスク同士の競合によるメモリ破壊、リアルタイム処理の遅延、外部ハードウェア処理などの問題の原因を突き止めるのに数週間、数ヶ月かかってしまうこともあります。Green Hillsの動的実行解析ツールTimeMachineツールスイートでは、プロセッサのトレース機能を利用して、プログラムの実行データをトレースし、MULTIデバッガと連携してそのような問題を数時間、または数分で解決できます。TimeMachineを使用したデバッグでは、実行コードを1ステップずつ進めたり戻ったり、ブレークポイントをセットして順方向・逆方向に実行したりすることで、問題の原因をピンポイントで見つけることができます。

複雑なシステムを理解

システムの状況を理解するために必要な情報が手元にあることで、複雑なシステムのデバッグはよりシンプルになります。MULTIでは、重要なシステム情報を以下のように分かりやすい方法で提供し、早期の問題発見に役立てます。

  • OSAエクスプローラでは、カーネルオブジェクト、タスク、リソースの状態を包括的に確認できます
  • MULTIデバッガでは、スタックの使用状況、オブジェクトの閲覧、メモリやレジスタの確認など、アプリケーション実行後に包括的なデバッグが可能です
  • イベントアナライザ(EventAnalyzer)では、マイクロ秒間隔でシステムイベントを時系列に表示できます

マルチコアデバッグ

GHSは、マルチコアデバッグ向けのデバッガとJTAGプローブを最初にリリースした会社のひとつです。MULTIを使用することで、シングルコアと同様にマルチコアシステムのデバッグが可能です。

中でも重要な機能は、同期実行制御です。いずれかのコアがデバッグ条件に合った場合に、すべてのコアを一群として停止させる機能です。例えば、あるコアがブレークポイントにヒットすると、ターゲット・リストに以下の情報が明示されます。

どのコア(群)がブレークポイントにヒットしたか、その時、そのコアで、どのスレッドが実行されていたかシステム内のその他のコアは何をしていたかマルチコアのターゲットへのダウンロードは、複雑かつ面倒な作業になります。MULTIは、リアルタイムOS INTEGRITYのダウンロードを自動的に処理します。それ以外のOSやアプリケーションについては、設定ファイルでダウンロードや設定処理を自動化することができます。

組込みLinuxをデバッグ

従来から、組込みLinuxのデバッグには、GDBやそのフロントエンドとしてEclipseなどが使用されてきましたが、設定が面倒で使いにくく、時折信頼性に欠けることもありました。その結果、組込みLinuxの開発者は、原始的なデバッグ手段であるprintfやprintkコマンドを使用したログ出力に頼らざるを得ませんでした。しかし、残念ながら、これでは複雑なLinuxシステムのほんの一部の状況しか見ることが出来ませんでした。

MULTI for Linuxは、組込みLinuxシステムの開発に必要なデバッグ機能を、総合的に備えた製品です。Linuxカーネル、カーネルスレッド、割込みサービスルーチン、ユーザモードのスレッドやプロセスなど、組込みLinuxシステムのさまざまな側面を可視化して効率的にデバッグできます。

主なデバッグ機能

  • Linuxカーネルを包括的に可視化(共有メモリ領域、セマフォ、メッセージキュー、カーネルモジュールなど)
  • SMPマルチコアデバッグのサポート
  • カーネルからユーザ空間までのデバッグ
  • ネイティブLinuxおよび(INTEGRITY Multivisorの仮想化技術で)仮想化されたLinuxのデバッグ
  • ローダブルカーネルモジュールとデバイスドライバのデバッグ
  • プロセスのスタートアップコードのデバッグ
  • カーネルコード内のスレッドに対し、固有のブレークポイントを設定
  • 仮想アドレス空間の間で共有されるオブジェクトのデバッグ
  • 最小限のパフォーマンス低下でブレークポイントを処理
  • プロセス間のマルチスレッドにまたがる相互処理のデバッグ

対応プロセッサ

MULTIは、以下の32ビット/64ビットプロセッサに対応しています。

  • ARM (AArch32 & AArch64)
  • TriCore
  • RH850/V850
  • MIPS
  • Power Architecture
  • Intel (x86およびx64)
  • ColdFire/68K

対応ホストOS

  • Windows
  • Linux

オペレーティングシステム

  • INTEGRITY
  • μ-velOSity
  • Windows
  • Solaris
  • Linux
  • ThreadX
  • VxWorks
  • OSE
  • ベアボード
  • その他、お客様の内製OSなど

統合可能なサードパーティツール

  • Eclipse
  • Rhapsody
  • Emacs
  • DWARF/Stabs compilers
  • vi
  • Subversion
  • ClearCase
  • CVS
  • SourceSafe
カタログダウンロードarrow_forward_ios 製品購入前のお問合せarrow_forward_ios 評価貸出arrow_forward_ios