この記事では、Altera®(Intel®)SoC FPGA の開発環境向けに Cygwin をセットアップする際の補足情報を紹介します。
はじめに
SoC FPGA Embedded Development Suite(SoC EDS)version 19.1 for Windows 以降のバージョンから、ツールパッケージに Cygwin が含まれなくなり、別途インストールおよびセットアップを行う方式に変更になっています。
この記事では、標準のインストール手順ではなく、予め Cygwin 導入済みの開発マシンで SoC EDS の Embedded Command Shell 環境をセットアップする方法を紹介します。たとえば、1 台のマシンにversion 19.1 以降の複数バージョンをインストールする際、バージョン毎に複数の Cygwin をインストールする無駄を無くしたい場合に有用です。
参考:
標準のインストール手順は本サイトの以下の記事、ならびに Altera®(Intel®)の Knowledge Data Base(KDB)の情報をご参照ください。
『Quartus® Prime Pro ver 19.1 で Nios® II SBT / SoC EDS を使用する際のインストール手順』
『KDB: How do I install Cygwin for SoCEDS?』
Cygwin のロケーション
標準のインストール手順では、以下の場所に Cygwin をインストールする事を前提としています。
- Standard Edition の場合 : C:\intelFPGA\<version>\embedded\host_tools\cygwin
- Pro Edition の場合: C:\intelFPGA_pro\<version>\embedded\host_tools\cygwin
上記以外の場所にインストールされている Cygwin を使用する場合は、Embedded Command Shell 起動用のバッチファイルの編集が必要となります。
編集対象:
- Standard Edition の場合: C:\intelFPGA\<version>\embedded\Embedded_Command_Shell.bat
- Pro Edition の場合: C:\intelFPGA_pro\<version>\embedded\Embedded_Command_Shell.bat
編集内容:
Embedded_Command_Shell.bat の最終行に記述されている bash.exe のパスを編集します。
@ REM ######################################
@ REM # Launch cygwin soceds command shell
:run_soceds_command_shell
@ "%_SOCEDS_ROOT%host_tools/cygwin/bin/bash.exe" --login -c '"%_SOCEDS_ROOT%embedded_command_shell.sh" %*'
編集前は上記の通り、標準のロケーション「"%_SOCEDS_ROOT%host_tools/cygwin/bin/bash.exe"」が指定されているので、この部分を開発マシンの Cygwin のロケーションに合わせる形で編集します。
例えば、C ドライブ直下に Cygwin がインストールされている場合は、以下のように書き換えます。
@ "C:/cygwin/bin/bash.exe" --login -c '"%_SOCEDS_ROOT%embedded_command_shell.sh" %*'
Cygwin のロケーション変更に伴う対応はこれだけです。
Cygwin にインストールするパッケージ
標準のインストール手順では、Cygwin 環境に以下のパッケージがインストールされます。
『make,gcc-core,gcc-g++,ncurses,inetutils,openssh,mosh,patch,flex,bison,tar,bzip2,zip,unzip,util-linux,git,subversion,vim,xxd,m4,wget,dos2unix,libintl devel,diffutils,libncurses-devel,iperf,xorg-server,xinit,mingw64-x86_64-gcc-core,mingw64-x86_64-gcc-g++』
これから使用する Cygwin 環境に上記のパッケージが全てインストールされている事を確認してください。不足がある場合は、https://cygwin.com からインストーラー( setup-x86_64.exe )をダウンロードして Cygwin 環境の再セットアップを行ってください。
インストーラー実行後は以下のようにセットアップ画面が進みます。途中「Select Packages」という画面でパッケージのインストール状況の確認や編集が行えますので、不足しているパッケージの追加インストールを指定します。
【図 1】Cygwin のセットアップ画面
ポイント:
標準の手順で指定されているパッケージの他に、上記の画面で使いたいパッケージを追加しておくことで Embedded Command Shell 上で使えるコマンドが増やせます。
まとめ
ご紹介した通り、SoC EDS 向けに標準のロケーション以外にインストールされた Cygwin を使用する方法は非常に簡単です。気を付けるポイントは2つのみです。パッケージの不足が無いことを確認頂いた上で、Shell 起動時の bash.exe のパス情報を変更するだけで対応頂けます。
今回は SoC EDS を対象に紹介しましたが、Cygwin を使用するバージョンの Nios® II SBT でも同じ方法が適用可能です(WSL を使用する最近の Nios® II SBT には適用できません)。
注記:
この記事で紹介する方法はメーカー推奨の手順とは異なります。ここで紹介する方法でセットアップした環境でトラブルが生じる場合は、標準のインストール手順に従ってセットアップした環境にてご確認ください。