汎用ターゲット オプション
独自のターゲット プロセッサを作成することによるデータ型のサイズとエンディアンの指定
説明
ターゲット プロセッサが Polyspace® で直接サポートされていない場合、独自のターゲットを作成できます。汎用の "マイクロ コントローラー/プロセッサ ユニット" を表すターゲット [mcpu] を指定して、基本データ型のサイズ、エンディアン、およびその他の特性を明示的に指定します。
設定
Polyspace デスクトップ製品のユーザー インターフェイスで、[ターゲット プロセッサ タイプ] を [mcpu] に設定すると [汎用ターゲット オプション] ダイアログ ボックスが開きます。[ターゲット プロセッサ タイプ] オプションは [構成] ペインの [ターゲットおよびコンパイラ] ノードで使用できます。

このダイアログ ボックスを使用して、新しい [mcpu] ターゲットの名前を、たとえば My_target のように指定します。この新しいターゲットは [ターゲット プロセッサ タイプ] オプション リストに追加されます。
新しいターゲットの既定の特性: "型" [サイズ] としてリスト
char
[8]short
[16]int
[16]long
[32]long long
[32]float
[32]double
[32]long double
[32]pointer
[16]alignment
[32]char は符号付き
endianness はリトル エンディアン
コマンド ライン オプション
コマンド ラインを使用する場合は、-target mcpu をこれらのターゲット指定オプションと共に使用します。
| オプション | 説明 | 利用対象 | 例 |
|---|---|---|---|
-little-endian | リトル エンディアン アーキテクチャは、LSF (下位バイト ファースト) です。例: i386。 short 型整数 (0x00FF など) の下位バイトが最初のバイト (0xFF) に格納され、最上位バイト (0x00) が 2 番目のバイトに格納されるよう指定します。 | すべてのターゲット | polyspace-code-prover -lang c -target mcpu -little-endian |
-big-endian | ビッグ エンディアン アーキテクチャは、MSF (最上位バイト ファースト) です。以下に例を示します。SPARC、m68k。 short 型整数 (0x00FF など) の最上位バイトが最初のバイト (0x00) に格納され、下位バイト (0xFF) が 2 番目のバイトに格納されるよう指定します。 | すべてのターゲット | polyspace-code-prover -target mcpu -big-endian |
-default-sign-of-char [signed | unsigned] |
| すべてのターゲット | polyspace-code-prover -default-sign-of-char unsigned -target mcpu |
-char-is-16bits |
| mcpu | polyspace-code-prover -target mcpu -char-is-16bits |
-short-is-8bits | 符号にかかわらず short を 8 ビットとして定義します。 | mcpu | polyspace-code-prover -target mcpu -short-is-8bits |
-int-is-32bits | 符号にかかわらず int を 32 ビットとして定義します。アライメントも 32 ビットに設定されます。 | mcpu、hc08、hc12、mpc5xx | polyspace-code-prover -target mcpu -int-is-32bits |
-long-is-32bits | 符号にかかわらず プロジェクトで | すべてのターゲット | polyspace-code-prover -target mcpu -long-is-32bits |
-long-long-is-64bits | 符号にかかわらず long long を 64 ビットとして定義します。アライメントも 64 ビットに設定されます。 | mcpu | polyspace-code-prover -target mcpu -long-long-is-64bits |
-double-is-64bits | 符号にかかわらず double および long double を 64 ビットとして定義します。 | mcpu、sharc21x61、hc08、hc12、mpc5xx | polyspace-code-prover -target mcpu -double-is-64bits |
-pointer-is-24bits | 符号にかかわらずポインターを 24 ビットとして定義します。 | c18 | polyspace-code-prover -target c18-pointer-is-24bits |
-pointer-is-32bits | 符号にかかわらずポインターを 32 ビットとして定義します。 | mcpu | polyspace-code-prover -target mcpu -pointer-is-32bits |
-align [128|64|32|16|8] | スカラー オブジェクト、構造体、クラス、共用体、または配列の最大アライメントを 128、64、32、16 または 8 ビットの境界に指定します。 たとえば、配列または struct 内の基本型のアライメントが常に 8 である場合、配列または struct のストレージは、メンバーと最後のパディングを除く個々のデータ オブジェクトのサイズによって厳密に決定されます。 | すべてのターゲット | polyspace-code-prover -target mcpu -align 16 |
参考:
オプション -custom-target を使用して、基本データ型のバイト単位のサイズ、プレーンな char の符号属性、構造体のアライメント、size_t、wchar_t、ptrdiff_t などの標準的な typedef の潜在型を指定することもできます。
例
GCC ツールチェーン
ソフトウェア開発に以下の GCC ツールチェーンのいずれかを使用する場合は、コードが Polyspace でコンパイルされるように、Polyspace 解析をセットアップすることができます。
ARM® Ltd. の GNU® Arm Embedded ツールチェーン
HighTec EDV-Systeme
Linaro® GNU クロスツールチェーン
Melexis®
MENTOR® Embedded Sourcery™ CodeBench
QNX® ソフトウェア開発プラットフォーム
Rowley Associates の CrossWorks
STMicroelectronics® TrueSTUDIO® for STM32
Texas Instruments® Code Composer Studio™
Wind River® GNU Compiler
これらのツールチェーンのいずれかを使用したビルド コマンドで [polyspace-configure] を使用して、コンパイラ構成に関する情報を抽出します。このコマンドは、既定で Polyspace プロジェクトを作成します。コマンド ラインで Polyspace に渡すオプション ファイルを生成するには、オプション -output-options-file を指定して polyspace-configure を実行します。
または、コマンド ラインでコンパイラ構成の詳細を手動で設定する場合は、次のようにします。
[コンパイラ] (-compiler)オプションを使用して、コンパイラ バージョンに対応する[gnu#.x]コンパイラを選択します。コマンド ライン オプション を使用して、ターゲットを指定します。指定可能なターゲットの例については、GCC および Clang ベースのコンパイラのターゲットを参照してください。
[プリプロセッサ定義] (-D)オプションを使用して、コンパイラ マクロ定義を指定します。
GCC および Clang ベースのコンパイラのターゲット
[コンパイラ] (-compiler) オプションで [gnu#.x] コンパイラまたは [clang#.x] コンパイラのいずれかを選択すると、サポートされているいずれかのターゲット プロセッサ タイプを指定できます。ターゲット プロセッサ タイプ (-target) を参照してください。ターゲット プロセッサ タイプがサポート対象として直接表示されない場合、汎用ターゲットのオプションを使用してターゲットを作成できます。
次の表に、作成できるターゲットの例を示します。
GCC ベースのコンパイラ ターゲット
| ターゲット | オプション |
|---|---|
| ARM | |
| ARM64 | |
| MSP430 | |
| RISC-V | ここで、以下となります。
|
| PowerPC | |
| Tricore | |
Clang ベースのコンパイラ ターゲット
| ターゲット | オプション |
|---|---|
| Cadence Tensilica Xtensa | |
Microchip MPLAB XC16 および XC32 コンパイラのエミュレーション
Microchip MPLAB XC16 または XC32 コンパイラを使用してソース コードをビルドする場合、Polyspace でコードがコンパイルされるように Polyspace 解析を設定できます。以下のオプションをコマンド ラインで入力するか、Polyspace デスクトップ ユーザー インターフェイスの [構成] ペインで指定します。
| コンパイラ | ターゲット プロセッサ ファミリ | オプション |
|---|---|---|
| MPLAB XC16 | PIC24 dsPIC | |
| MPLAB XC32 | PIC32 | |
オプション [プリプロセッサ定義] (-D) で指定されるマクロのセットは、最小限のセットです。Polyspace で確実にコードがコンパイルされるように、必要に応じて追加のマクロを指定してください。
ヒント
IDE で Polyspace as You Code の拡張機能を使用する場合は、このオプションを解析オプション ファイルに入力します。オプション ファイルを参照してください。