OSQZSS

オープンソース準天頂衛星(QZSS)受信機

ZyboでPetalinux

2022-12-10 19:30:55 | SDR
Zedboard+AD-FMCOMMS3でPetalinuxが起動することは確認できたので、
サンプルにモジュールやアプリケーションの追加ができるよう、
このあたりを参考にPetalinuxを基礎から学びます。

1. ZYBO (Zynq) 初心者ガイド (8) Linux起動する
2. Virtual Box上でZybo用にLinuxをビルドする

OSはUbuntu 18.04.6 LTS、VivadoとPetalinuxのバージョンは2021.1です。
ターゲットは、Zybo Z7-20になります。

まずは、DigilentのサイトからVivado Board Filesをダウンロードして、newの
board_filesのフォルダを、/tools/Xilinx/Vivado/2021.1/data/board/にコピーします。

https://github.com/Digilent/vivado-boards

次に、Vivadoを起動し、新規プロジェクトを作成します。
プロジェクト名はデフォルトのままproject_1とします。

Project TypeにはRTL Projectを選択し、Do not specify sources at this timeにチェック。

Default Partでは、Boardタブから先ほどダウンロードしたdigilentint.comのZybo Z7-20を選択。
現時点で、File Versionは1.1、Board RevはB.2となっています。

Projectが作成されたら、Flow NavigatorのIP INTEGRATORから、Create Block Designを起動。
Design nameはデフォルトのまま、design_1とします。

BLOCK DESIGNパネルのDiagramに、Zynqを追加。
Run Block AutomationをクリックしてZynqだけのブロックを作成します。

SoucesタブのDesign Sourcesから、design_1を右クリックし、Create HDL Wrapperを実行。
Optionsには、Let Vivado manage wrapper and auto-updateを選択します。

続いて、Flow NavigatorのPROGRAM AND DEBUGからGenerate Bitstreamを起動します。

ビットストリームが生成されたら、Fileメニューから、Export -> Export Hardwareを選択します。
Outputには、Include bitstreamをチェック。
XSA file nameは、デフォルトのままdesign_1_wrapperとします。
これで、プロジェクトフォルダに、ハードウェア定義ファイルであるdesign_1_wrapper.xsaが生成されます。



Vivadoでの作業はここまで。次は、Petalinuxのプロジェクトを生成します。
ここでは、プロジェクト名をzybo_linuxにしました。

続いて、ハードウェア定義ファイルのdesign_1_wrapper.xsaがあるフォルダを指定し、
Petalinuxの設定をします。



前回同様に、Yocto SettingsのEnable Network sstate feedsをdisableします。



それ以外はデフォルトのままで、Petalinuxのビルドを実行します。



かれこれ1時間ほどで、ビルドが無事に完了。
image/linuxフォルダに、Linuxシステムのイメージファイルが生成されます。



最後に、bootイメージファイル(BOOT.bin)を生成します。



次に、起動用のSDカードを準備します。
GPartedを使い、次のようなBOOTとrootfsのパーティションを作りました。



BOOTフォルダに、image.ub、BOOT.bin、boot.scrをコピーします。



SDカードをZyboのスロットに挿入し、bootのジャンパをSDに切り替え、電源を入れると、
無事にPetalinuxが起動してくれました。



ここまでは順調。次は、GPIOやUARTを追加してみよう。

P.S. Petalinuxのビルドがとにかく遅いので、少しでも速くなるかなと、この動画を参考に
sstateキャッシュとdownloadsファイルをすべてローカルにダウンロードしてみました。

Youtube: PetaLinux 101 - Getting Started Quickly

Petalinuxの設定で、ダウンロードしたファイルのフォルダを指定。









実験的に新しいプロジェクトを作成して、ビルドしてみたところ、さほど改善は見られず。
ネットワークの回線速度よりも、圧倒的にコンパイルが遅い。
ローカルのディスク容量を圧迫するだけなので、利点はなさそうです。
コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« PetalinuxのBoot | トップ | rootfs on SD card »
最新の画像もっと見る

コメントを投稿

SDR」カテゴリの最新記事