IAR Embedded Workbench IDEの紹介
IDEとビルドツールチェーンの概要
IDEは、アプリケーションのビルドに必要なすべてのツールビルドツールチェーンが統合された環境で、C/C++コンパイラ、C/C++ライブラリ、アセンブラ、リンカ、ライブラリツール、エディタ、Makeユーティリティを備えたプロジェクトマネージャー、およびIAR C-SPY®デバッガが含まれます。ソースコードのビルドに特化したツールは、ビルドツールと呼ばれます。
製品パッケージに付属するツールチェーンは、特定のマイクロコントローラをサポートします。ただし、 IDEには、さまざまなマイクロコントローラ用の複数のツールチェーンを同時に含めることができます。つまり、複数のマイクロコントローラ用にIAR Embedded Workbenchをインストールしている場合は、どのマイクロコントローラを開発するかを選択できます。
アプリケーションの解析とチェックのためのツール
IAR Embedded Workbenchには、アプリケーションのエラーを解析および検出するための各種サポートが含まれています。
コンパイラおよびリンカのエラー、ワーニング、およびリマーク
すべての診断メッセージは、完全で説明を要しないメッセージとして発行されます。エラーはシンタックスエラー(構文エラー)またはセマンティックエラー(意味エラー)を、ワーニングは潜在的な問題を、リマーク (デフォルトはオフ) は標準規格からの逸脱を示します。メッセージをダブルクリックすると、対応するソースコード構造がエディタウィンドウで強調表示されます。詳細については、コンパイラおよびリンカのユーザードキュメントを参照してください。
リンク時のスタック使用量解析
適切な状況下では、リンカは
cstartup、割込み関数、 RTOSタスクなど、各コールツリーの最大スタック使用量を正確に計算できます。詳細については、スタック使用量解析。を参照してください。静解析用C-STAT
C-STATは、特定のルールセットからの逸脱を検出しようとする静的解析ツールです。各ルールでは、安全でないソース構造が指定されています。ルールは、MISRA(MISRA C:2004、MISRA C++:2008、MISRA C:2012およびMISRA C:2023)、CWEおよびCERTなどのさまざまな機関が提唱するものです。C-STATとルールの使用方法については、C-STAT® 静的解析ガイドを参照してください。
プロファイリング、コードカバレッジ、トレース、Powerデバッグなどの C-SPYデバッグ機能。詳細については、デバッグのユーザードキュメントを参照してください。
ランタイムエラーチェック用 C-RUN
ランタイムエラーチェックは、アプリケーションの実行中に誤ったコード構造を検出する方法です。これは、アプリケーション内にチェック用のコードを組み込むか、またはC/C++ライブラリ関数をランタイムエラーチェックをサポートする専用ライブラリに置き換えることで行います。C-RUNは、3種類のランタイムエラーチェック (算術チェック、境界チェック、チェック済みヒープを使用したヒープチェック) をサポートします。詳細についてはC-RUNランタイムエラー解析を参照してください。
拡張可能でモジュール化された環境
IDEはプロジェクトに必要なすべての機能を提供しますが、他のツールも統合できます。以下に例を示します。
カスタムビルドメカニズムを使用して、他のツールをツールチェーンに追加します(ツールチェーンの拡張を参照)。
ツールチェーンにIAR Visual Stateを追加して、IDEでプロジェクトにステートマシン図を直接追加することができます。
Subversion バージョン管理システムを使用して、ソースコードのさまざまなバージョンを追跡します。IDEは、Subversionの作業用コピーのファイルにアタッチできます。
lintツールなどの外部アナライザを追加して、プロジェクト全体、ファイルグループ、またはプロジェクトの個々のファイルに使用できます。通常、コンパイル時と同じ設定とソースコードファイルのセットを使用して、ソースコードで静的コード解析を実行します。外部アナライザの使用を参照してください。
IDEから便利にアクセスできるように、外部ツールをツールメニューに追加します。このため、メニューコマンドとして表示されるように事前に設定したツールによって、メニューの外観が異なる場合があります。
カスタム引数変数を設定します。これは通常、サードパーティ製品をインストールし、そのインクルードディレクトリを指定する場合に役立ちます。カスタム引数変数は、プロジェクトの一部にしたいファイルへの参照を簡素化するためにも使用できます。