8.27 --compatible=name

複数のターゲットアーキテクチャまたはプロセッサと互換性のあるコードが生成されます。

構文

--compatible=name
各項目には以下の意味があります。
name
ターゲットプロセッサまたはアーキテクチャの名前、または None です。
プロセッサ名とアーキテクチャ名では、大文字と小文字は区別されません。
None を指定すると、--cpu によって指定されたプロセッサまたはアーキテクチャのみのコードが生成されます。
このオプションがコマンドラインで複数回指定された場合は、最後に指定されたオプションがそれより前のオプションをオーバーライドします。指定されたこのオプションの他のインスタンスをすべて無効にするには、コマンドラインの末尾で --compatible=None を指定します。

デフォルト

デフォルトは None です。

使用法

このオプションを使用すると、同じソースコードをターゲットごとに逐一アセンブルする必要がありません。
以下の表を参照して下さい。有効な組み合わせは以下のとおりです。
  • --cpu=CPU_from_group1 --compatible=CPU_from_group2
  • --cpu=CPU_from_group2 --compatible=CPU_from_group1 .

表 8-2 互換性のあるプロセッサまたはアーキテクチャの組み合わせ

グループ 1 ARM7TDMI , 4T
グループ 2 Cortex-M0Cortex-M1Cortex-M3Cortex-M47-M6-M6S-MSC300SC000
これ以外の組み合わせは使用できません。
これにより、--cpu--compatible の両方と互換性のあるコードが生成されます。これは、16 ビット Thumb の命令のみが使用されることを意味します(グループ 1 とグループ 2 の共通の機能)。

生成されたコードは複数のターゲットと互換性があるものの、単一のターゲットプロセッサまたはアーキテクチャ向けにコンパイルした場合と比べ、コードの効率が犠牲になる可能性があります。

ARM7TDMI プロセッサと Cortex-M4 プロセッサの両方と互換性があるコードを生成するには、以下を指定します。
armcc --cpu=arm7tdmi --compatible=cortex-m4 myprog.c
関連する参考文書
8.1 -Aopt
8.7 --arm
8.41 --cpu=list
8.42 --cpu=name コンパイラオプション
非機密扱いPDF file icon PDF 版ARM DUI0472LJ
Copyright © 2010-2015 ARM.All rights reserved.