ARM アーキテクチャ v4T

ここでは、ARMv4T のコンパイルツールのサポートについて概説します。 この ARM アーキテクチャのバリアントは、16 ビット Thumb 命令および ARM 命令セットをサポートします。 以下の表に、便利なコマンドラインオプションを示します。

Table 2. 便利なコマンドラインオプション

コマンドラインオプション説明
--cpu=4T16 ビット Thumb をサポートしている ARMv4
--cpu=name

name は特定の ARM プロセッサです (ARM7TDMI など)。

--apcs=qualifier

ここで、qualifier は、インターワークおよび位置非依存の 1 つ以上の修飾子を示します (--apcs=/interwork など)。


Show/hide主な機能

ARMv4T 用のコードをコンパイルする場合、コンパイラは 16 ビット Thumb 命令セットをサポートします。 これにより、優れたコード密度が実現されますが、次の点に注意する必要があります。

  • 通常、Thumb コードはコード生成に多くの命令を使用するので、ARM コードを使用して、処理時間が重視されるコードのパフォーマンスを最大化できます。

  • 例外処理には、ARM 状態および関連する ARM 命令が必要です。

  • (キャッシュ付きプロセッサ上の)キャッシュ設定および VFP を含め、コプロセッサのアクセスに ARM 命令が必要です。

Show/hide境界整列のサポート

すべてのロード命令およびストア命令は、自然な整列境界で整列したアドレスを指定する必要があります。 以下に例を示します。

  • LDR および STR アドレスは、ワード境界で整列する必要があります。

  • LDRH および STRH アドレスは、ハーフワード境界で整列する必要があります。

  • LDRB および STRB アドレスは、任意の境界で整列できます。

自然な整列境界にないアドレスにアクセスすると動作が不安定になります。 これを制御するには、非整列アドレスにアクセスするときにコンパイラがセーフコードを生成できるように、__packed を使用してコンパイラに通知する必要があります。

Note

許可されている場合、非境界整列アクセスは、ロテート境界整列アクセスとして扱われます。

Show/hideエンディアンのサポート

コンパイラのコマンドラインオプション --littleend および --bigend を使用すると、それぞれリトルエンディアンコードまたはビッグエンディアンコードを生成できます。

ARMv4T は、以下のエンディアンモードをサポートします。

LE

リトルエンディアン形式

BE-32

従来のビッグエンディアン形式

Show/hide関連項目

Copyright © 2010-2012 ARM. All rights reserved.ARM DUI 0471GJ
Non-ConfidentialID051612