サポートの概要

次のバージョンのコンパイラ/環境がサポートされます。

IAR EW の統合は以下のように提供されます。

IAR Embedded Workbench プロジェクトのテストを容易にするために、以下のコンポーネントが提供されます。

既知の制限事項

ポインタ宣言の前に IAR メモリ属性を置くことは、完全にはサポートされていません。次の「宣言 A」のような宣言は、まるで「宣言 B」のように記述されたかのように解析されます。  

Declaration A

         

Declaration B

この情報は以下の構成のプロジェクトに影響します。

以下の宣言は正しく処理され、上記のサポートされない構造の代わりに使用される可能性があります。

リンク中にユーザー ライブラリが削除される理由

C++test は、リンク コマンドの実行中、オプション フィルタリング メカニズムを利用して、オリジナルのユーザー オブジェクトの代わりにインストゥルメントされたオブジェクトを使用します。ELF や COFF のような形式では、オブジェクト ファイルとライブラリ ファイルの拡張子はデフォルトで異なります (.o/.a、.obj/.lib)。 この拡張性を頼りに C++test はオプション フィルタリング メカニズムを適切に使用します。しかし、UBROF のライブラリ ファイルとオブジェクト ファイルの拡張子はデフォルトで同じ .r?? であるため、C++test はリンクのコマンドラインからライブラリを削除します。システム ライブラリについては、観察された、体系化された名前付け規約 (dl430*.r43) に基づいてオプション フィルタリング パターンを導入することによって、この問題は解決されました。しかしユーザー ライブラリは今もなお削除されます。

リンク時にライブラリが削除されないようにするには

この問題には 2 つの解決方法があります。

  1. プロジェクトを右クリックして [プロパティ] > [Parasoft] > [C++test] > [ビルド設定] をクリックします。オプション セクションの [リンカー オプション] フィールドに手動でライブラリを追加します (推奨)。  
  2. ライブラリの名前付け制度 (拡張子または名前パターン) を確立し、カスタム コンパイラ構成を作成します。  

オプション #2 を選択した場合、c/cpp.psrc ファイルの
edgtk.optionConfig name=*.r43 regexp=true casesensitive=false tags=linker,excludable,object_file  

の直前に、次のオプション フィルターリング ルールを挿入します。
edgtk.optionConfig name=*<your_pattern> regexp=true casesensitive=false tags=linker  

この問題は、外部的にビルドされた C++test ランタイム ライブラリにも当てはまります。カスタム コンパイラの詳細については 「カスタム コンパイラを使用するテストの設定」を参照してください。