petalinuxをインストールしたので、petalinuxをビルドして、ultra96で、起動まで確認してみた。
主に、ug1144-petalinux-tools-reference-guideを参考にした。
最初に、petalinuxのツールの環境を設定する。インストールしたディレクトリにシェルがあるはずだ。
source /opt/pkg/petalinux/2020.2/settings.sh
そして、適当な場所で、プロジェクトを作成する。
petalinux-create --type project --template zynqMP --name ultra96_2020
そうすると、実行したディレクトリに、ultra96_2020というディレクトリが作成される
次に、そのディレクトリに移動する。このディレクトリがプロジェクトのディレクトリになる。
cd ultra96_2020
そして、petalinuxの設定をするのだが、前々回に作成したHWのファイルxsaファイルを使用する。
以下のブログで、xsaファイルを作成している
HWのファイル(xsa)を取り込んで設定する
petalinux-config --get-hw-description /home/y/project2/design_1_wrapper.xsa
Linuxのカーネルの設定画面が表示される。ultra96だと、uart0→uart1に変更するのが最低限必要だと思う。↓キーで、Subsystem AUTO Hardware Settingに移動して、リターンを入力する
次に、↓キーで、Serial Settingに移動して、リターンを入力する
PMUFW、FSBL、ATF、DTGのシリアルポートをpsu_uart_0からpsu_uart_1に変更する。最初に、PMU_Serialにカーソルがあった状態で、リターンを入力する
↑キーを押して、psu_uart_1にカーソルを合わせて、リターンを押す。
PMUFWがpsu_uart_1になっている。
同じように、FSBL、ATF、DTGもpsu_uart_1に変更する
設定を終了するので、→キーを入力して、Exitにカーソルを合わせて、リターンを入力する
もう一度、Exitにカーソルがあった状態でリターンを入力する。
もう一度、Exitにカーソルがあった状態でリターンを入力する
設定をセーブするかと言われるので、Yesにカーソルがあった状態でリターンを入力する
これで、設定がおわった。次は、ビルドを実行する。
petalinux-build
このコマンドは、1時間ぐらいかかった。また、3回失敗したが、気にせず、petalinux-buildを実行をすると、少しづつ、先に進み、最終的には、petalinux-buildが最後まで実行できた。
最後のコンソールのメッセージは以下ような感じだった。
ブートイメージを作成する。
petalinux-package --boot --u-boot --format BIN
prebuildを実行する。前々回にVivadoで作成したビットストリームファイルも一緒につかう。
前々回のブログは以下になる
作成したビットストリームファイル(*.bit)を引数で設定する
petalinux-package --prebuilt --fpga /home/y/project/ultra96_2020/ultra96_2020.run/impl_1/design_1_wrapper.bit
そうすると、pre-builtというディレクトリができている。
SDカードをFAT32にフォーマットしておき、pre-built/linux/imagesのboot.scr、BOOT.BIN、image.ubの3つのファイルをSDカードにコピーする。
Linuxのコンソールが表示されるように、gtktermを起動しておく。
sudo gtkterm
ultra96をSDカード起動にDIPSWで設定しておき、電源Onすると、Linuxが起動した!
ユーザー名、パスワードは、root、rootだ。