Ultra96v2の開発環境をDocker上に構築する1


先日Ultra96v2を購入しLinuxとXilinxの環境構築に挑戦してみました。ので久しぶりにQiitaで記事を書いてみます。記事は随時更新予定です。予定としては、Ubuntu20.04LTSにDockerをインストールし、その上にXilinxの開発環境を構築していきます。

購入編

AVNETさんから下記を購入しました。

No. Avnet Part No 説明
1 AES-ULTRA96-V2-G Ultra96V2ボード本体です。
2 AES-ACC-U96-JTAG JTAG基板です。USBシリアル接続ができます。
3 送料が600円ほどかかります。

その他最低限下記が必要です。

  • ACアダプター:DC12V 2A以上。
  • ACアダプターのプラグφ1.7への変換ケーブル:標準プラグからUltra96V2用のプラグへ変換します。
  • Micro USB(USB A-MicroB)ケーブル:Ultra96V2へシリアル接続するのに使います。
  • SDカード用USBリーダーライター:Panasonic BN-SDCKP3など。PCからのSDカードアクセスに使用します。
  • USB 有線イーサ―ネットアダプタ:BUFFALO LUA3-U2-ATXなど。Ultra96V2のWifiが不安定な時にあると良いです。

私の場合、DC12Vは手持ちのUSB PDからUSB-PD_Adapterを使用して12Vを取り出し直接φ1.7のプラグへ接続しました。

上図の12V電源ケーブルのXH2ピンコネクタは赤黒の電線付きが千石電商等で売っていますので利用すると良いです。が、赤がプラスで黒がマイナスのシキタリがありますのでコンタクトを細い千枚通し等で外して反対にします。ACアダプターのプラグはセンタープラスです。

その他、Ultra96 基本講座:Unboxing編はじめてのUltra96 必要なもの を参考に揃えてください。

開封の儀

届いたら内容物を確認し、取り合えずLチカをすると良いです。Ultra96基本講座:Lチカ編等が参考になりました。
箱の中にXilinxのライセンス登録書も入っていました。ですが、どこで使うのか分からないので未だ登録していません。

Ultra96V2 環境構築 先行調査編

Xilinxの高位合成ツールのVitisを使用してC言語から回路を作成して、Ultra96V2で動作させる事を目指します。とりあえず、先行している情報を調べてまとめてみました。

所感:大変苦労しそうな予感がヒシヒシと伝わってきます。

Ultra96V2開発機器の説明

  • 開発ホスト:Ubuntu20.04をインストールした10年モノのパソコンです。参考ですがスペックはCore2Quadマシンに16GBytesメモリと512GBytesSSDと10TBytesHDDを搭載してあります。今では弱々パソコンです。ヘッドレスで使用しています。
  • Ultra96V2:今回のターゲットです。
  • パソコン:Windows10をインストールしたごく普通のパソコンです。開発ホストへのリモートデスクトップ接続や、Ultra96V2へMobaXtermからシリアル接続&イーサネット接続する時に使用しています。

開発ホストのみで環境構築可能です。しかしWindows10からリモートデスクトップやSSH接続で開発ホストやターゲット側にアクセスする方が何かと便利なので分けています。WSL2も検討したのですが、パソコン上のVMWareと共存できないのでアキラメました。

Ubuntu20.04のインストール

開発ホストにUbuntuをインストールします。RDPのインストールまで、キーボードとマウスとモニターを開発ホストに接続して操作をします。
Ubuntu Desktop 日本語 Remix Ubuntu20.04を使用しました。
ファイル名: ubuntu-ja-20.04-desktop-amd64.iso
インストール後、GUIから初期設定をします。

  • 右上▽設定→日付と時刻→タイムゾーン(O) JST(日本,Tokyo)
  • 右上▽設定→地域と言語→フォーマット(F) 日本
  • 左上アクティビティ→検索でU→ソフトウェアの更新
  • デスクトップ上で右クリック→端末で開く

開いた端末(gnome-terminal)の、左上の+アイコンをクリックするとタブウィンドウが開きます。CTRL-Dで閉じます。
LinuxのVersionは下記でした。

bash
$uname-a
Linux ubuntu 5.4.0-47-generic #51-Ubuntu SMP Fri Sep 4 19:50:52 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

次に画面左上のアクティビティから検索にUを入力して、ソフトウェアの更新を開きます。この更新が終わるのを待ちます。再起動を求められた時は再起動します。

SSH Serverのインストール

apt
$sudo apt install -y openssh-server

RDPのインストール

第621回 Ubuntu 20.04 LTSでxrdpを使用するを参照しながらxrdpをインストールします。インストール後に、

  • 右上▽設定→地域と言語→インストールされている言語の管理

から、日本語をシステム全体に適用してください。地域フォーマットも同様に全体に適用してください。
下図赤丸のボタンです。

やらなかった場合には、リモートデスクトップ接続時に日付がせぷてんばぁーになる事があります。

最後に確認のため、Windows10のパソコンからUbuntuの開発ホストにリモートデスクトップ接続をします。日付、左のサイドバー、マウス右クリックで端末を開ける事を確認してください。その後、GUIからログアウトします。
以降はリモート接続で操作可能です。開発ホストからキーボード、ビデオ、マウスを外してヘッドレス運用へ移行します。

Dockerのインストール

開発ホストにDockerを入れます。

docker_install1
sudo apt install -y curl
curl https://get.docker.com > install.sh

念のため、install.shの内容を確認します。installには管理者権限が必要です。OKなら

docker_install2
chmod +x install.sh
./install.sh
sudo usermod -aG docker $USER

でインストールします。なお、sudo機能はデフォルトで5分間、sudoで別のコマンドをパスワード無しで実行する事ができます。

つづく