ウインドリバー 組込みとモバイルソフトウェアの世界的なリーダー
Wind River Compiler
ブックマーク/共有
ホーム : 製品情報 : Wind River Workbench : Wind River Compiler

Diab Compiler:25年の革新実績

組込システムにおける、アプリケーションのパフォーマンス向上、メモリフットプリントの削減、規格に準拠した高品質なオブジェクトコード生成を実現するWind River Diab Compiler


概要

優れたパフォーマンスと小さなフットプリント

独自の最適化技術を駆使し、最小のフットプリントで極めて高速かつ高品質なオブジェクトコードを生成。More

業界最新規格

Wind River Diab Compilerは、C89、C99、EC++など、最新のANSI/ISO CおよびC++コンパイラ規格に準拠しています。More

優れた品質

世界中のミッションクリティカルなアプリケーションが、現場および自社テストラボで25年間テストされているWind River Diab Compilerを採用しています。また、オートモーティブ、航空宇宙、インダストリアル、医療業界向けの認証取得済みアプリケーションにおいて数多くのデバイスが使用されています。More

安全基準に準拠

Wind River Diab Compilerは、オートモーティブ機能安全規格TUV NORD認証済みプロジェクトで利用されました。また、インダストリアル、医療、航空電子工学、オートモーティブといったセーフティクリティカルな市場の製品にも数多く採用されています。More

顧客へのメリット

セーフティクリティカルなプロジェクトでの実績: Diab Compilerは、Wind River VxWorks認定プラットフォームの主要コンポーネントで、インダストリアル、医療、航空電子工学、オートモーティブ業界のセーフティクリティカルなプロジェクトで数多く利用されています。

認定機関: TUV、FAA、さらにValidasやVerocelといったサードパーティの認定機関との連携のもとで、DO-178B、IEC 61508、ISO 26262などの安全認証規格に対応する優れたエコシステムを形成しています。

欠陥レポートの公開: どのコンパイラにも何らかの欠陥はあるものです。しかし、その欠陥を公開し共有しているのはウインドリバーだけです。顧客には安全性に対する潜在的なリスクが随時報告されるため、製品展開前に迅速に問題点をウインドリバーと共同で調査し解決することができます。

受賞歴を持つサポートサービス

受賞歴を持つSCP(Service Capability and Performance)認定企業およびウインドリバーのOLS(Online Support)サイトで、Wind River Diab Compilerに対するサポートが提供されています。ウインドリバーでは、世界各地に150名以上のサポートエンジニアを 配置し、現地の言語でのサポートを提供しています。More



主な特徴

スピード/サイズの最適化を選択可能

実行スピードとコードサイズの要件に対応するため、Wind River Diab Compilerでは、実行速度の最速化、コードサイズの最小化、またはバランス最適化など、さまざまなコンパイラ・スイッチを備えています。

C/C++とアセンブリを混在可能

C/C++とアセンブリコードの混在をさまざまな手法で実現。関数として呼び出されるアセンブリコードのインライン化にASMマクロを利用。ASMストリングによって、アセンブリ命令を簡単に組み入れることができます。Wind River Diab Compilerには、コンパイラ最適化を促進する、さまざまなマクロが追加されています。

プログラム全体の最適化

異なるモジュール間の関数のインライン化を可能にすることによって、実行効率を上げ、異なるソースファイル内の関数間の呼び出しを最適化。

プロファイル主導、アプリケーション別の最適化

これらの最適化には2つのコンパイル・ステージがあります。

  • ステージ1:コードを計測した後、対象マシンまたは典型的なデータセットで構築したシミュレーション環境で実行されます。計測済みコードでプロファイル情報を収集し、その後、コンパルの第2ステージで、この情報をコンパイラにフィードバックします。
  • ステージ2:コンパイラはプロファイル情報を利用して、ループ展開、インライン化、基本ブロック再配置、レジスタ割り当て、分岐予測などのさらなる最適化を実行します。コンパイルの第1ステージで典型的なデータセットが供給されるため、該当アプリケーションに合った最適化が可能です。

割込処理が容易

Wind River Diab Compilerの割込キーワードや割込pragmaによって、組込システム用の割込処理が簡単になっています。たとえば、アセンブリ言語を使用せずにCレベルで割込ベクタテーブルを作成することができます。

多数のデバッグオプション

デバッグコードの生成を柔軟に制御することで、デバッグ情報量とデバッグスピードの間、およびパフォーマンス最適化とデバッグ容易性の間での優先順位の調整が可能です。

位置独立コード(PIC)および位置独立データ(PID)

任意のアドレスにロードできるコードとデータの生成。動的にモジュールのロードとアンロードを行うデバイスにとって便利な機能です。

volatileキーワード、すなわちメモリの値をすべてボラタイルに

コードの該当部分をボラタイルに指定し、Wind River Diab Compilerがデータアクセスの最適化を行わないようにします。メモリマップドI/Oデバイスへのアクセスに便利な機能です。

構造体の形式制御

隙間を埋めるデータ配置やパディングの消去によりフットプリントを削減。データ構造のバイトオーダをメモリに格納されているとおりに入れ替え、バイトスワップさせたデータ配置を行うことで、デバイスの本来のバイトオーダとは異なる順序での情報通信を可能にします。この機能は、リトルエンディアンとビッグエンディアンのプロセッサ間のデータ共有パフォーマンスを最適化する際に役立ちます。

メモリマッピングのための多彩なリンクコマンド言語

各組込デバイスには独自のメモリレイアウトがあり、高速RAM、フラッシュ、共有メモリなど、使用可能なメモリの種類もさまざまです。リンクコマンド言語によって、メモリ内のコードやデータの配置をユーザが細かく指定し最適化を図ることができます。

Cおよびアセンブラからの絶対アドレス指定

変数や関数を特定のメモリアドレスに割り当てることができます。割込ベクタの設定でメモリマップドI/Oデバイスにアクセスする際に役立つ機能です。

PROMに適したコードの生成機能

起動時にRAMに移動される、メモリへのアクセスとROMへの焼き付けが可能なコードを生成。

多数のオブジェクトモジュールフォーマットをサポート

Diab Compilerは、ELF、COFF、IEEE-695、S-Recordsをサポートしており、複数のフォーマットのオブジェクトモジュールが生成できます。

リンク時lintチェッカ

lint機能は、使われていない変数や関数、return文の指定もれ、範囲外の定数、関数の呼び出しの不一致など、よくあるCプログラミングエラーをコンパイル時やリンク時に検出する強力なツールです。リンク時には、コンパイル時にはチェックできないモジュール間の矛盾を検出します。

ランタイムエラーチェッカ

ランタイムエラーチェッカでは、プログラム開発中にソフトウェアエラーの根本原因を迅速に識別します。メモリリーク、スタックオーバーフロー、ポインターの不正使用、およびメモリ割り当てエラーを検出します。この強力なツールを使うことで、時間を削減できるとともに、統合と品質保証(QA)活動前の段階で、コード品質の向上が図れます。

命令セットシミュレーター

命令セットシミュレータ(ISS)は、実行可能ファイル用のシミュレータで、オブジェクトファイルや実行可能ファイルの逆アセンブラにもなります。ISSでは、ターゲットアーキテクチャの命令が正確にシミュレートでき、それにより開発者は、ターゲットハードウェアがなくてもアプリケーションの作成やデバッグが可能となります。




 



History of the Wind River Diab Compiler

Wind River Diab Compiler has a rich history, resulting in the development of a stable and mature product for use in mission-critical products. Tomas Evensen created the compiler in the 1980s while at a Swedish computer and manufacturing firm, Dataindustrier AB. The product was then known as Diab Compiler and was quickly adopted for use in embedded devices. The Diab Compiler technology was acquired in 2000 by Wind River. Tomas Evensen is currently Wind River's Chief Technology Officer. The Diab product was renamed Wind River Diab Compiler and has been continuously maintained, improved, and enhanced. Today, Wind River Diab Compiler is renowned for its ability to generate highly optimized code that has a small memory footprint and runs extremely fast. Wind River Diab Compiler is an essential component for companies designing and building advanced mission-critical products.