TASKING コンパイラに関連する Polyspace コンパイル エラーの修正
オプション [コンパイラ] (-compiler) に tasking を選択すると、この問題が発生する可能性があります。
問題
Polyspace® 解析中、特殊機能レジスタのデータ型に関連するエラーが表示されます。
原因
TASKING コンパイラでのコンパイル時は、通常次のコンパイラ フラグを使用して特殊機能レジスタ (SFR) データ型を宣言している場所を指定します。
--cpu=:コンパイラはソース ファイルにファイルxxxsfr/regを暗黙のうちにxxx.sfr#includeします。#includeしたら、その.sfrファイルで宣言された特殊機能レジスタ (SFR) を使用できます。--alternative-sfr-file:コンパイラは通常の SFR ファイルとは別の SFR ファイルを使用します。その代わりの SFR ファイルで宣言された特殊機能レジスタ (SFR) を使用できます。
Polyspace 解析用に TASKING コンパイラを指定すると、解析ではコンパイラ フラグについて次の前提条件が使用されます。
--cpu=:解析ではxxxxxxの具体的な値が選択されます。TASKING コンパイラと異なる値を使用すると、Polyspace 解析中にエラーが発生する場合があります。Polyspace 解析によって使用される
xxx値は、選択した[ターゲット プロセッサ タイプ] (-target)によって異なります。tricore:tc1793bc166:xc167cirh850:r7f701603arm:ARMv7M
--alternative-sfr-file:解析では、代わりの SFR ファイルを使用しないと仮定します。使用すると、エラーが発生する可能性があります。
解決法
コマンド ライン オプション -compiler-parameter を Polyspace 解析で次のように使用します。コマンド ライン オプションを使用して、Polyspace にコンパイラ フラグを認識させます。ユーザー インターフェイスでは、フィールドOtherにコマンド ライン オプションを入力できます。オプションは複数回入力できます。
--cpu=:Polyspace 解析には、以下を使用します。xxxここで、-compiler-parameter --cpu=xxx
xxxはコンパイラがコンパイル時に使用する値です。--alternative-sfr-file:Polyspace 解析には、以下を使用します。-compiler-parameter --alternative-sfr-file
Polyspace が
.asfrファイルを見つけられないために依然エラーが発生する場合、オプション[インクルード] (-include)を使用して、前処理済みのコードに.asfrファイルを明示的に#includeします。通常、そのファイルへのパスは
です。たとえば、TASKING コンパイラがTasking_C166_INSTALL_DIR\include\sfr\regCPUNAME.asfrC:\Program Files\Tasking\C166-VX_v4.0r1\にインストールされていて、CPU 関連フラグの-Cxc2287m_104fまたは--cpu=xc2287m_104fを使用する場合、パスはC:\Program Files\Tasking\C166-VX_v4.0r1\include\sfr\regxc2287m.asfrになります。ビルド コマンドのトレース時に、代わりの sfr ファイルで同様の問題が発生する可能性もあります。詳細については、ビルド システムからのプロジェクト作成の要件を参照してください。