トップ 一覧 Farm 検索 ヘルプ RSS ログイン

Diary/2023-8-27の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!PYNQのビルド

https://wasa-labo.com/wp/?p=612 がだいぶ古かったのでアップデート
https://pynq.readthedocs.io/en/latest/pynq_sd_card.html が元ネタ

::Vivadoのインストール
Vivado 2022.1をインストールして,2022.1.1と2022.1.2までアップデートしておく.
/tools/Xilinx/Vivado/2022.1 とかにインストールされていると仮定.
Vivado 2019.1を必要とするPYNQ v2.5以降はSDxは不要になっている(というか,なくなった).

::VirtualBoxのインストール
ドキュメント通りVagrant使うのがいいのかもしれないけど,手動でセットアップ.
VirtualBoxをインストールして,Ubuntu 20.04.6環境をセットアップ.
ドキュメントのサポートOSには20.04.3までしか記載されてないけど20.04.6.
なお,好みでserver版を選択.
ホストOSの /tools を /tools にマウントするなど,開発環境を共有できるようにしておく.

::PYNQのビルド準備
リポジトリクローンして,セットアップスクリプトを実行.
 git clone https://github.com/Xilinx/PYNQ.git
 cd PYNQ/sdbuild
 ./scripts/setup_host.sh
途中で
 E: Unable to locate package zlib1g:i386
とか言われたら
 sudo dpkg --add-architecture i386
 sudo apt update
してやりなおし.他にも途中でエラーがでたらインストールしてやりなおし.
自分の環境では,
 sudo apt install libncurses-dev
が必要だった.
PYNQのLinuxイメージには事前ビルド済みのアーカイブっを利用する.
[pynq.io|http://www.pynq.io/board.html]から,[PYNQ rootfs arm v3.0.1|https://bit.ly/pynq_arm_v3_1] と [Prebuilt PYNQ source distribution binary v3.0.1|https://bit.ly/pynq_sdist_v3_0_1] をダウンロードして,
それぞれ
 cp jammy.arm.3.0.1.gz ./prebuilt/pynq_rootfs.arm.tar.gz
 cp pynq-3.0.1.tar.gz ./prebuilt/pynq_sdist.tar.gz
としてコピーする.
最後にPetaLinux 2022.1をインストール.たとえば,
 chmod 755 petalinux-v2022.1-04191534-installer.run
 ./petalinux-v2022.1-04191534-installer.run -d /opt/xilinx/petalinux-v2022.1-04191534
とか.
最後に,Vivadoの実行に必要なライブラリで不足してるものをインストール.手元では,
 sudo apt install libtinfo-dev libtinfo5
が必要だった.

::ビルド
環境変数を読み込んで
 source /tools/Xilinx/Vivado/2022.1/settings64.sh
 source /opt/xilinx/petalinux-v2022.1-04191534/settings.sh
試しにPYNQ-Z1だけビルドしてみる.Makefileに
 ALLBOARDS ?= $(basename $(notdir $(wildcard $(BOARDDIR)/*/*.spec)))
 BOARDS ?= $(ALLBOARDS)
とあるので
 BOARDS=Pynq-Z1 make
としてPynq-Z1向けだけのビルドを実行.
途中で sudo でパスワード求められるので注意が必要.