パッチプログラムをダウンロードするには、事前にARM社のコネクトサービスのアカウントを取得し、ログインしておく必要があります。アカウントの取得は以下のURL から無償で行う事ができます:
https://login.arm.com/register.php
ARM Compiler toolchain v6.01(build 22)
はじめに
ARM Compiler 6.01 u1 はARMv8-A およびARMv7-A のアーキテクチャをサポートし、DS-5とともに使用することでARMv8-A またはARMv7-A の実行可能コードのビルドおよびデバッグが可能です。このリリースではAArch32 またはAArch64をターゲットとしたARMv8-A またはARMv7-A 向けベアメタルアプリケーションの実行可能バイナリをビルドするために必要なすべてのツールを含んでいます。ARM Compiler 6.01 u1ではARMv7-A アーキテクチャおよびCortex-A ファミリのプロセッササポートが追加されています。このリリースに含まれる新しい機能として、位置独立な実行可能イメージの生成、UEFIコードベースのビルドのサポート、Link Time 最適化の初期サポートがあります。ARM Compiler 6.01 u1では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 でのサポート
アーキテクチャとプロセッサ | サポートレベル |
ARMv8-A と準拠するプロセッサ | サポート済み |
ARMv7-A と準拠するプロセッサ | サポート済み |
ARMv7-R、ARMv7-M、ARMv6-M および準拠するプロセッサ | アルファサポート-将来のリリースでサポート 現状はARM Compiler 5 の使用を検討してください |
ARMv6-M 以前のアーキテクチャ | 未サポート ARM Compiler 5 をご使用ください |
サポートレベル | 詳細 |
サポート済み | 製品品質を保ち、一番高位のサポート優先度 |
ベータ | 実装は完了済みだが、テストは部分的。お客様の試用とフィードバックを歓迎 |
アルファ | 実装は未完了でテストは部分的 お客様の試用とフィードバックを歓迎 |
未サポート | 機能がツールチェインに含まれていないか非推奨になっており、テストは未実施 使用する場合は完全な自己責任 |
インストール手順
ARM Compiler 6.01 単体のインストールを行うには以下の手順に従ってください。例えばDS-5 のようなツールキットの一部としてARM Compiler 6.01 が提供されている場合は、インストールはツールキット側のインストーラで対応しています。そのような場合はツールキットのインストール手順に従ってください。サポートされるOSプラットフォーム
ARM Compiler 6.01 は以下のプラットフォームをサポートしています。
- 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 をLinux にインストールするには、(source ではなく)64-bit Linux ホスト環境ではinstall_x86_64.sh を、32-bit Linux ホスト環境ではinstall_x86_32.shを実行し、スクリーン上の手順に従ってください。インストーラは選択したディレクトリにARM Compiler 6.01 を解凍します。
-
●依存性について
armclang バイナリはARM Compiler 6.01 の一部としてインストール時に指定されたディレクトリ内にインストールされるlibstdc++ のコピーと動的にリンクされます。
インストールされる一部のツールは32-bit システムライブラリに対する依存性があります。ARM Compiler 6.01 を64-bit Linux ホストプラットフォームにインストールした場合、32-bit互換ライブラリがインストールされていることを確認する必要があります。32-bit互換ライブラリがインストールされていない場合、ARM Compiler 6.01 ツールの実行に失敗したり、ライブラリが見つからない為にエラーがレポートされる可能性があります。要求されるライブラリをインストールするにはroot権限を用いてプラットフォームに応じた適切なコマンドを実行してください:
Red Hat
yum install glibc.i686
Ubuntu
apt-get install lib32stdc++6
[Windowsでのインストール]
ARM Compiler 6.01 を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 はライセンス管理される製品であり、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 をWindows 上からアンインストールするにはコントロールパネルの"プログラムと機能"の"プログラムのアンインストール"でARM Compiler 6.01 を選択してアンインストールボタンをクリックします。
ARM Compiler 6.01 を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 用に提供されます:- 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 Compiler v6.01 u1(Build 41) 改善と訂正
v6.01 u1での一般的な変更
- [SDCOMP-28555] Cortex-A72プロセッサのサポートが追加されました。Cortex-A72をターゲットにするには以下のオプションを使用してください。
- --target=aarch64-arm-none-eabi -mcpu=cortex-a72 (AArch64ステート)
- --target=armv8a-arm-none-eabi -mcpu=cortex-a72 (AArch32ステート)