パッチプログラムをダウンロードするには、事前にARM社のコネクトサービスのアカウントを取得し、ログインしておく必要があります。アカウントの取得は以下のURL から無償で行う事ができます:
https://login.arm.com/register.php
ARM Compiler toolchain v6.01(build 48)
はじめに
ARM Compiler 6.01 u2 はARMv8-A およびARMv7-A のアーキテクチャをサポートし、DS-5とともに使用することでARMv8-A またはARMv7-A の実行可能コードのビルドおよびデバッグが可能です。このリリースではAArch32 またはAArch64をターゲットとしたARMv8-A またはARMv7-A 向けベアメタルアプリケーションの実行可能バイナリをビルドするために必要なすべてのツールを含んでいます。
ARM Compiler 6.01 u2ではARMv7-A アーキテクチャおよびCortex-A ファミリのプロセッササポートが追加されています。このリリースに含まれる新しい機能として、位置独立な実行可能イメージの生成、UEFIコードベースのビルドのサポート、Link Time 最適化の初期サポートがあります。ARM Compiler 6.01 u2ではARMv7-R、ARMv7-M およびARM v6-M アーキテクチャに対するアルファサポートも含んでいます。
ARM Compiler 6 の構成
[Compiler]
-
armclang はarmcc の後継であり、LLVM テクノロジをベースとしています。armclangでは現状、ARMv8-A およびARMv7-A アーキテクチャプロファイルをサポートします。将来のリリースではその他のARM アーキテクチャサポートも追加される予定です。ARM Compiler 5 およびそれ以前のバージョンからの移行に関する情報については、製品ドキュメントに含まれる
Migration and Compatibility Guide
をご参照ください。
[armlink、armasm、fromelf、armar]
-
armlink、armasm、fromelf およびarmar は完全ではありませんがARM Compiler 5 同様ARMv8-A をサポートするようになりました。製品ドキュメントに含まれる
Migration and Compatibility Guide
をご参照ください。
-
アセンブラに関する注意事項
-
ARM Compiler 6 ではGNU とARM Compiler ツールチェイン間での移植性を改善のため、よりGNU アセンブラの書式により近くなるようにLLVM 統合アセンブラを採用しています。LLVM 統合アセンブラではarmclangからデフォルトで呼び出されます。そのため、旧armcc のインラインまたは組み込みアセンブラを含むC/C++ のソースファイルがARM Compiler 6 でコンパイルできないという副作用があります。
-
armasm はデフォルトで呼び出されませんが、旧armasm の書式で記述されたアセンブラファイルをアセンブルするためにARM Compiler 6 内に含まれています。
[組み込みシステム向けARM C およびC++ ライブラリ]
-
標準のARM Compiler 組み込みライブラリは完全ではありませんがARM Compiler 5 同様ARMv8-A をサポートするように拡張済みです。製品ドキュメントに含まれる
Migration and Compatibility Guide
をご参照ください。
ARM Compiler 6.01 u2 でのサポート
アーキテクチャとプロセッサ
|
サポートレベル
|
ARMv8-A と準拠するプロセッサ |
サポート済み |
ARMv7-A と準拠するプロセッサ |
サポート済み |
ARMv7-R、ARMv7-M、ARMv6-M
および準拠するプロセッサ |
アルファサポート−将来のリリースでサポート
現状はARM Compiler 5 の使用を検討してください |
ARMv6-M 以前のアーキテクチャ |
未サポート
ARM Compiler 5 をご使用ください |
ARM 以外のアーキテクチャ |
未サポート |
サポートレベル
|
詳細
|
サポート済み |
製品品質を保ち、一番高位のサポート優先度 |
ベータ |
実装は完了済みだが、テストは部分的。お客様の試用とフィードバックを歓迎 |
アルファ |
実装は未完了でテストは部分的
お客様の試用とフィードバックを歓迎 |
未サポート |
機能がツールチェインに含まれていないか非推奨になっており、テストは未実施
使用する場合は完全な自己責任 |
インストール手順
ARM Compiler 6.01 u2 単体のインストールを行うには以下の手順に従ってください。例えばDS-5 のようなツールキットの一部としてARM Compiler 6.01 u2 が提供されている場合は、インストールはツールキット側のインストーラで対応しています。そのような場合はツールキットのインストール手順に従ってください。
サポートされるOSプラットフォーム
ARM Compiler 6.01 u2 は以下のプラットフォームをサポートしています。
-
Red Hat Enterprise Linux 5 32-bit and 64-bit
-
Red Hat Enterprise Linux 6 64-bit
-
Red Hat Enterprise Linux 7 64-bit
-
Ubuntu Desktop Edition 12.04 LTS 32-bit and 64-bit
-
Ubuntu Desktop Edition 14.04 LTS 64-bit
-
Windows 7 32-bit and 64-bit
-
Windows 8 64-bit
-
Windows 2012 Server 64-bit
[Linux でのインストール]
ARM Compiler 6.01 u2 をLinux にインストールするには、(source ではなく)64-bit Linux ホスト環境ではinstall_x86_64.sh を、32-bit Linux ホスト環境ではinstall_x86_32.shを実行し、スクリーン上の手順に従ってください。インストーラは選択したディレクトリにARM Compiler 6.01 u2 を解凍します。
●依存性について
armclang バイナリはARM Compiler 6.01 u2 の一部としてインストール時に指定されたディレクトリ内にインストールされるlibstdc++ のコピーと動的にリンクされます。
インストールされる一部のツールは32-bit システムライブラリに対する依存性があります。ARM Compiler 6.01 u2 を64-bit Linux ホストプラットフォームにインストールした場合、32-bit互換ライブラリがインストールされていることを確認する必要があります。32-bit互換ライブラリがインストールされていない場合、ARM Compiler 6.01 u2 ツールの実行に失敗したり、ライブラリが見つからない為にエラーがレポートされる可能性があります。要求されるライブラリをインストールするにはroot権限を用いてプラットフォームに応じた適切なコマンドを実行してください:
Red Hat
yum install glibc.i686
Ubuntu
apt-get install lib32stdc++6
[Windowsでのインストール]
ARM Compiler 6.01 u2 をWindows にインストールするには、64-bit Windows ホスト環境ではwin-x86_64setup.exe を、32-bit Windows ホスト環境ではwin-x86_32setup.exe を実行し、スクリーン上の手順に従ってください。以前のバージョンのARM Compiler 6 がすでにインストールされており、アップグレードしたい場合は、以前のバージョンを一旦アンインストールしてから新しいバージョンのARM Compiler 6 をインストールいただくことを推奨します。
インストールされる一部のツールはmsvcp110.dll およびmsvcr110.dll のVisual C++ ランタイムライブラリに対する依存性があります。ツールキットのインストーラはそれらが有効でない場合、インストールの際に対処します。
[インストール後]
ARM Compiler 6.01 u2 はライセンス管理される製品であり、DS-5 およびARM Compiler ライセンスの両方とともに動作します。
-
DS-5 Ultimate ライセンスではすべての機能が使用できます
-
DS-5 Professional または ARM Compiler ライセンスではARMv8 を除くすべての機能が使用できます
ライセンスの取得については弊社または
license.support@arm.com
にお問い合わせください。
ARMLMD_LICENSE_FILE
環境変数がライセンスファイルを指すように設定して下さい。Windows 環境ではpath の設定にダブルクォートを含む必要がないことに注意してください。スペースを含むpath はダブルクォートがなくとも動作します。
[アンインストール]
ARM Compiler 6.01 u2 をWindows 上からアンインストールするにはコントロールパネルの"プログラムと機能"の"プログラムのアンインストール"でARM Compiler 6.01 u2 を選択してアンインストールボタンをクリックします。
ARM Compiler 6.01 u2 をLinux 上からアンインストールするには、インストールディレクトリを削除します。
単純なプログラムのビルド
ベアメタルAArch64 システム用の非常に単純なプログラムをコンパイルするには:
-
(Unix)
echo "int main() {}" >
simple.c
-
(Windows)
echo int main() {} >
simple.c
-
(両システム)
armclang --target=aarch64-arm-none-eabi simple.c -o simple
armclang はClang コンパイラと同じオプションが使用できます。より詳細については
http://clang.llvm.org/docs/UsersManual.html
をご参照ください。旧バージョンのARM Compiler に対する下位互換性のため、一部のarmcc コマンドラインオプションをarmclang コマンドラインオプションに変換するコマンドライン変換ツールを提供しています。製品ドキュメントに含まれる
Migration and Compatibility Guide
をご参照ください。
ドキュメンテーション
以下のドキュメンテーションがARM Compiler 6.01 u2 用に提供されます:
-
armar User Guide
-
armasm Reference Guide
-
armasm User Guide
-
armclang Reference Guide
-
armlink Reference Guide
-
armlink User Guide
-
fromelf User Guide
-
ARM C and C++ Libraries and Floating-Point Support Reference Guide
-
ARM C and C++ Libraries and Floating-Point Support User Guide
-
Errors and Warnings Reference Guide
-
Getting Started Guide
-
Migration and Compatibility Guide
-
Software Development Guide
より詳細については
ARM Infocenter
をご参照ください。
ARM Compiler v6.01 u2(Build 48) での改善点
Linker (armlink)
-
[SDCOMP-28824] Cortex-A53 エラッタ843419 のサポートが追加されました。回避策を有効にするには、以下のリンカオプションを使用してください。
-
--branchpatch=cortex-a53-843419
この回避策を適用した際のより詳細な情報については以下のリンカオプションを使用してください。