12.30 --cpu=name

選択した ARM プロセッサまたはアーキテクチャのコードを生成できます。

構文

--cpu=name

name はプロセッサまたはアーキテクチャの名前です。

プロセッサ名とアーキテクチャ名では、大文字と小文字は区別されません。

ワイルドカード文字は使用できません。

表 12-1 サポートされている ARM アーキテクチャ

アーキテクチャ 説明 プロセッサの例
4 Thumb をサポートしていない ARMv4 SA-1100
4T Thumb をサポートしている ARMv4 ARM7TDMI、ARM9TDMI、ARM720T、ARM740T、ARM920T、ARM922T、ARM940T、SC100
5T ARMv5 with Thumb and interworking -
5TE ARMv5 with Thumb, interworking, DSP multiply, and double-word instructions ARM9E, ARM946E-S, ARM966E-S
5TEJ

ARMv5 with Thumb, interworking, DSP multiply, double-word instructions, and Jazelle® extensions

armlink cannot generate Java bytecodes.

ARM926EJ-S, ARM1026EJ-S, SC200
6 Thumb、インターワーク、DSP 乗算、ダブルワード命令、非境界整列、混合エンディアン、Jazelle 拡張、およびメディア拡張をサポートしている ARMv6 ARM1136J-S、ARM1136JF-S
6-M Thumb のみ、およびプロセッサステート命令をサポートしている ARMv6 マイクロコントローラプロファイル Cortex-M1(OS 拡張なし)、Cortex-M0、SC000、Cortex-M0plus
6S-M Thumb のみと、プロセッサステート命令および OS 拡張をサポートしている ARMv6 マイクロコントローラプロファイル Cortex-M1(OS 拡張あり)
6K SMP 拡張をサポートしている ARMv6 MPCore
6T2 Thumb をサポートしている ARMv6(Thumb-2 テクノロジ) ARM1156T2-S、ARM1156T2F-S
6Z Security Extensions をサポートしている ARMv6 ARM1176JZF-S、ARM1176JZ-S
7 Thumb(Thumb-2 テクノロジ)のみをサポートし、ハードウェア除算をサポートしていない ARMv7 -
7-A 仮想 MMU ベースメモリシステムをサポートする、ARM、Thumb(Thumb-2 テクノロジ)および ThumbEE をサポートし、DSP サポート、および 32 ビット SIMD サポートが指定された ARMv7 アプリケーションプロファイル Cortex-A5、Cortex-A7、Cortex-A8、Cortex-A9、Cortex-A15
7-A.security v7-A アーキテクチャ向けにアセンブルする場合に SMC 命令(以前の SMI) の使用を許可する Cortex-A5、Cortex-A7、Cortex-A8、Cortex-A9、Cortex-A15
7-R ARM、Thumb(Thumb-2 テクノロジ)、DSP サポート、および 32 ビット SIMD サポートが指定された ARMv7 リアルタイムプロファイル Cortex-R4、Cortex-R4F、Cortex-R7
7-M Thumb(Thumb-2 テクノロジ)のみとハードウェア除算をサポートしている ARMv7 マイクロコントローラプロファイル Cortex-M3、SC300
7E-M DSP(サチュレートおよび 32 ビット SIMD)命令による ARMv7-M 拡張 Cortex-M4

  • ARMv7 は実際の ARM アーキテクチャではありません。--cpu=7 は、ARMv7-A、ARMv7-R、および ARMv7-M のアーキテクチャに共通の機能を示します。つまり、--cpu=7 とともに使用される機能が ARMv7-A、ARMv7-R、および ARMv7-M のアーキテクチャ上に存在します。

  • 7-A.security は実際の ARM アーキテクチャではなく、 7-A にセキュリティ拡張機能を追加したものを表します。

Usage

以下に、プロセッサとアーキテクチャに関するオプションの一般的な特徴を示します。

プロセッサ
  • プロセッサを選択すると、適切なアーキテクチャ、浮動小数点ユニット(FPU)、およびメモリ構成が選択されます。

  • --cpu の値には、現時点でのすべての ARM 製品名またはアーキテクチャバージョンを指定できます。

    Marvell Feroceon や Marvell XScale など、他の ARM アーキテクチャベースのプロセッサもサポートされています。

  • --cpu オプションでプロセッサを指定すると、生成されるコードはそのプロセッサ用に最適化されます。

Architectures
  • --cpu オプションでアーキテクチャ名を指定すると、生成されたコードは、そのアーキテクチャをサポートしているすべてのプロセッサで実行できます。例えば、--cpu=5TE を指定すると、ARM926EJ-S® プロセッサによって使用されるコードが生成されます。

FPU
  • --cpu を指定すると、--fpu が暗黙的に選択されることがあります。

    コマンドラインで --fpu によって明示的に指定された FPU は、 オーバーライドされることに注意して下さい。

  • --fpu オプションも --cpu オプションも指定されていない場合には、--fpu=softvfp が使用されます。

デフォルト

--cpu オプションを指定しない場合、armlink では --cpu=ARM7TDMI を想定します。

すべてのアーキテクチャおよびプロセッサが記載された一覧を表示するには、cpu=list オプションを使用します。

制約条件

同じコマンドラインでプロセッサとアーキテクチャの両方を指定することはできません。

関連する参考文書
12.29 --cpu=list
12.66 --fpu=list
12.67 --fpu=name
関連情報
浮動小数点リンケージの種類
浮動小数点リンケージと浮動小数点計算のコンパイラオプション
コンパイラオプションの浮動小数点リンケージと浮動小数点計算の要件
プロセッサおよび暗黙の浮動小数点ユニット(FPU)
非機密扱い PDF file icon PDF 版 ARM DUI0474JJ
Copyright © 2010-2013 ARM.All rights reserved.