はじめに
Altera®(Intel®)の SoC FPGA エンベデッド開発スイート(以下、SoC EDS)は、ver.20.1 を最後にインストーラーとしての提供がなくなっています。
Arm® Development Studio Intel® SoC FPGA Edition(以下、Arm® DS)を使用する場合、メーカーの公式な手順では、SoC EDS に含まれる Embedded Command Shell から Arm® DS を起動する方法がデフォルトの起動方法となっています。
SoC EDS をインストールせずに Arm® DS を使用する方法としては、下記 "Hardware Library (HWLibs)" のページで紹介している、intel-socfpga-hwlib をインストールことで対応できます。
参考: Hardware Library (HWLibs) - RocketBoards.org
◦ Linux Installation
◦ Windows Installation
intel-socfpga-hwlib をインストール後、Arm® DS の env.ini ファイルにツールチェーンの PATH や、開発ツールの環境変数を追記することで、Embedded Command Shell を使用せずに Arm® DS を直接起動することができます。
この記事では、SoC EDS をインストールせずに Arm® DS を使用する方法についてご紹介します。
注記:
なおこの記事でご紹介している手順は、メーカーの公式な手順では無いため、参考情報としてご理解の上ご使用ください。
注記:
SoC EDS をインストールして Embedded Command Shell から Arm® DS を起動して使用する方法につきましては、下記の記事をご参照ください。
参考: SoC FPGA エンベデッド・デベロップメント・スイート(SoC EDS)のインストール方法 ver.20.1
1. Linaro ツールチェーン、newlib、cygwin のセットアップ
ポイント: このセクションで行う手順は、Cylone® V / Arria® V もしくは Arria® 10 をターゲットとして、HWLib を使用する場合のみ必要となる内容です。不要な場合は、2. Arm® DS の env.ini ファイルへの PATH および環境変数の追記 へ進んでください。
1-1. Linux インストールの場合
このセクションの説明は RocketBoards.org の下記ページの情報をベースとしています。
参考: Hardware Library (HWLibs) -> Linux Installation - RocketBoards.org
1. 端末(ターミナル)を起動します。
2. 以下のコマンドを実行して HWLibs リポジトリを複製します。
$ git clone https://github.com/altera-opensource/intel-socfpga-hwlib
3. tools ディレクトリーに移動します。
$ cd intel-socfpga-hwlib/tools
【図 1】 intel-socfpga-hwlib リポジトリの取得
4. install_linaro.sh を実行します。このスクリプトは、システムに Linaro ツールチェーン、newlib、cygwin をセットアップします。
$ ./install_linaro.sh
注記: Linaro コンパイラバージョン 11.2 ではなく 7.2.0(執筆時 7.5.0)を使用してください。新しいバージョンではデバッグ中にエラーが発生する場合があります。
【図 2】 install_linaro.sh の実行
1-2. Windows インストールの場合
このセクションの説明は RocketBoards.org の下記ページの情報をベースとしています。
参考: Hardware Library (HWLibs) -> Windows Installation - RocketBoards.org
1. Windows ユーザーの場合は、以下のリンクから MSYS2 Shell をインストールしておきます。
https://www.msys2.org/
【図 3】 MSYS2 Shell のインストール
2. 以下のリンクから Windows 用の git を手動でインストールします。
https://git-scm.com/download/win
【図 4】 Windows 用 git のインストール
3. Windows メニューから MSYS2 Shell を起動します。
【図 5】 MSYS2 Shell の起動
4. 以下のコマンドを実行して、MSYS2 Shell に必要なパッケージをインストールします。
$ pacman -S --needed make gcc git
【図 6】 MSYS2 Shell に必要なパッケージをインストール
5. 以下のコマンドを実行して、HWLibs リポジトリを複製します。
$ git clone https://github.com/altera-opensource/intel-socfpga-hwlib
6. tools ディレクトリーに移動します。
$ cd intel-socfpga-hwlib/tools
【図 7】 intel-socfpga-hwlib リポジトリの取得
7. install_linaro.sh を実行します。このスクリプトは、システムに Linaro ツールチェーン、newlib、cygwin をセットアップします。
$ ./install_linaro.sh
注記: Linaro コンパイラバージョン 11.2 ではなく 7.2.0(執筆時 7.5.0)を使用してください。新しいバージョンではデバッグ中にエラーが発生する場合があります。
【図 8】 install_linaro.sh の実行
2. Arm® DS の env.ini ファイルへの PATH および環境変数の追記
このセクションの手順を実施するためには、事前に Arm® DS をインストールしておく必要があります。Arm® DS のインストールとライセンス登録については下記の記事をご参照ください。
参考: SoC FPGA エンベデッド・デベロップメント・スイート(SoC EDS)のインストール方法 ver.20.1 -> 3. Arm® DS のインストール
参考: Arm® Development Studio(DS)for Intel® SoC FPGA Edition のライセンス設定方法
ポイント: 以降の説明で出てくる env.ini ファイルへの intel-socfpga-hwlib/tools ディレクトリーの PATH 設定および SOCEDS_DEST_ROOT の設定は、Cylone® V / Arria® V もしくは Arria® 10 をターゲットとして、HWLib を使用する場合のみ必要となります。不要な場合は、intel-socfpga-hwlib/tools に関わる設定は省略する形でご対応ください。
2-1. Linux OS の場合
1. Linux OS 環境において、install_linaro.sh 実行後の intel-socfpga-hwlib/tools ディレクトリーは下図のようになっています。
【図 9】 install_linaro.sh 実行後の intel-socfpga-hwlib/tools ディレクトリー(Linux)
2. Linux OS 環境において、Arm® DS の env.ini ファイルは下図のディレクトリーにあります(バージョン 2024.1 の場合)。
【図 10】Arm® DS の env.ini ファイルがあるディレクトリー(Linux)
3. env.ini ファイルをテキストエディタ―で開き、下記の例のようなツールチェーンの PATH や、開発ツールの環境変数(SOCEDS_DEST_ROOT、QUARTUS_ROOTDIR、QSYS_ROOTDIR)を追記します。
注記: 下記の <USER> の部分はユーザー名です。
注記: Linux において複数の PATH をまとめて記述する場合は、 :(コロン)で区切って記述します。
【env.ini に追記する内容】
SET=PATH=/home/<USER>/intelFPGA_standard/24.1std/quartus:/home/<USER>/intelFPGA_standard/24.1std/quartus/sopc_builder/bin:/home/<USER>/intel-socfpga-hwlib/tools/gcc/bin:/opt/arm/developmentstudio-2024.1/sw/ARMCompiler6.23:$PATH
SET=SOCEDS_DEST_ROOT=/home/<USER>/intel-socfpga-hwlib
SET=QUARTUS_ROOTDIR=/home/<USER>/intelFPGA_standard/24.1std/quartus
SET=QSYS_ROOTDIR=/home/<USER>/intelFPGA_standard/24.1std/quartus/sopc_builder/bin
【図 11】 env.ini ファイルへの PATH および環境変数の追記(Linux)
【表 1】 env.ini ファイルへ追記する PATH および環境変数(Linux)
| No. | パス/環境変数 | 設定内容 | 説明 |
| 1 | PATH | /home/<USER>/intelFPGA_standard/24.1std/quartus: /home/<USER>/intelFPGA_standard/24.1std/quartus/sopc_builder/bin: /home/<USER>/intel-socfpga-hwlib/tools/gcc/bin: /opt/arm/developmentstudio-2024.1/sw/ARMCompiler6.23 |
開発ツールおよびツールチェーンのパスを指定 |
| 2 | SOCEDS_DEST_ROOT | /home/<USER>/intel-socfpga-hwlib | intel-socfpga-hwlib リポジトリーのディレクトリーを指定 |
| 3 | QUARTUS_ROOTDIR | /home/<USER>/intelFPGA_standard/24.1std/quartus | Quartus® Prime のディレクトリーを指定 |
| 4 | QSYS_ROOTDIR | /home/<USER>/intelFPGA_standard/24.1std/quartus/sopc_builder/bin | /quartus/sopc_builder/bin のディレクトリーを指定 |
2-2. Windows OS の場合
1. Windows OS 環境において、install_linaro.sh 実行後の intel-socfpga-hwlib/tools ディレクトリーは下図のようになっています。
【図 12】 install_linaro.sh 実行後の intel-socfpga-hwlib/tools ディレクトリー(Windows)
2. Windows OS 環境において、Arm® DS の env.ini ファイルは下図のディレクトリーにあります(バージョン 2024.1 の場合)。
【図 13】Arm® DS の env.ini ファイルがあるディレクトリー(Windows)
3. env.ini ファイルをテキストエディタ―で開き、下記の例のようなツールチェーンの PATH や、開発ツールの環境変数(SOCEDS_DEST_ROOT、QUARTUS_ROOTDIR、QSYS_ROOTDIR)を追記します。
注記: 下記の <USER> の部分はユーザー名です。
注記: Windows において複数の PATH をまとめて記述する場合は、;(セミコロン)で区切って記述します。
【env.ini に追記する内容】
SET=PATH=%PATH%;C:\altera\24.1std\quartus;C:\altera\24.1std\quartus\sopc_builder\bin;C:\msys64\usr\bin;C:\msys64\home\<USER>\intel-socfpga-hwlib\tools\gcc\bin;C:\Program Files\Arm\Development Studio 2024.1\sw\ARMCompiler6.23\bin;
SET=SOCEDS_DEST_ROOT=C:\msys64\home\<USER>\intel-socfpga-hwlib
SET=QUARTUS_ROOTDIR=C:\altera\24.1std\quartus
SET=QSYS_ROOTDIR=C:\altera\24.1std\quartus\sopc_builder\bin
【図 14】 env.ini ファイルへの PATH および環境変数の追記(Windows)
【表 2】 env.ini ファイルへ追記する PATH および環境変数(Windows)
| No. | パス/環境変数 | 設定内容 | 説明 |
| 1 | PATH | C:\altera\24.1std\quartus; C:\altera\24.1std\quartus\sopc_builder\bin; C:\msys64\usr\bin; C:\msys64\home\<USER>\intel-socfpga-hwlib\tools\gcc\bin; C:\Program Files\Arm\Development Studio 2024.1\sw\ARMCompiler6.23\bin; |
開発ツールおよびツールチェーンのパスを指定 |
| 2 | SOCEDS_DEST_ROOT | C:\msys64\home\<USER>\intel-socfpga-hwlib | intel-socfpga-hwlib リポジトリーのディレクトリーを指定 |
| 3 | QUARTUS_ROOTDIR | C:\altera\24.1std\quartus | Quartus® Prime のディレクトリーを指定 |
| 4 | QSYS_ROOTDIR | C:\altera\24.1std\quartus\sopc_builder\bin | quartus\sopc_builder\bin のディレクトリーを指定 |
3. Arm® DS の起動
3-1. Linux OS の場合
Linux のアプリケーションから Arm DS IDE のアイコンをクリックして起動します。
【図 15】 Arm® DS の起動(Linux)
3-2. Windows OS の場合
Windows メニューから Arm DS IDE のアイコンをクリックして起動します。
【図 16】 Arm® DS の起動(Windows)
付録. アプリケーション・プロジェクト Makefile の修正
特定のアプリケーション・プロジェクトの Makefile の中では、以下の例のように NEWLIB_ROOT の定義がある場合があります。この場合は「1. Linaro ツールチェーン、newlib、cygwin のセットアップ」の章でインストールした下記の newlib 場所を参照するように変更します。
-
Linux OS の場合
【newlib のインストール場所】
/home/<USER>/intel-socfpga-hwlib/tools/newlib/usr/local/arm-eabi
【Makefile 内の修正箇所】
(変更前)
NEWLIB_ROOT ?= $(SOCEDS_DEST_ROOT)/host_tools/linaro/newlib/usr/local/arm-eabi
(変更後)
NEWLIB_ROOT ?= $(SOCEDS_DEST_ROOT)/tools/newlib/usr/local/arm-eabi
【図 17】 Makefile 内の NEWLIB_ROOT 定義の変更(Linux)
-
Windows OS の場合
【newlib のインストール場所】
C:\msys64\home\<USER>\intel-socfpga-hwlib\tools\newlib\usr\arm-eabi
【Makefile 内の修正箇所】
(変更前)
NEWLIB_ROOT ?= $(SOCEDS_DEST_ROOT)/host_tools/linaro/newlib/usr/local/arm-eabi
(変更後)
NEWLIB_ROOT ?= $(SOCEDS_DEST_ROOT)\tools\newlib\usr\arm-eabi
【図 18】 Makefile 内の NEWLIB_ROOT 定義の変更(Windows)
おわりに
この記事では、SoC EDS をインストールせずに Arm® DS を使用する方法についてご紹介しました。
SoC EDS をインストールしたくない場合に、intel-socfpga-hwlib をインストールして、Arm® DS の env.ini ファイルにツールチェーンの PATH や、開発ツールの環境変数を追記することで、SoC EDS のEmbedded Command Shell を使用せずに Arm® DS を直接起動することができますので、必要に応じてお試しください。