2019年9月28日土曜日

PetaLinux(3)

今回でこの学習シリーズは終わり。




この回は、ZYBOのボードファイルの定義ミスによってLANが使えなかったという記事。PYNQ-Z1ボードではこの事象はなかったのでほとんどスルー。




この回の記事は、TCF機能を使ってLAN経由でボードのデバッグを行う方法だった。これは参考になった。

Windows側のSDKツールでプロジェクトを作成する前に、petalinux側でsysrootをビルドしておき、それをWindows側へ持ってくる必要があった。この点の記述がなかったので調べたりして分かるまでに時間がかかった。
まず、以下のコマンドを実行する

petalinux-build -s
petalinux-package --sysroot
そして以下のように出来上がったファイルをzip化し、Windows側へ持ってくる必要があった。
zip -r sysroot.zip  work/peta//images/linux/sdk/sysroots/cortexa9t2hf-neon-xilinx-linux-gnueabi
SDKのプロジェクト作成時に、zipを展開したフォルダーsysrootを追加指定する。

これはLinuxを知っていれば分かることなのでスキップ。

またPSの記事なのでパス。

これもPSの記事。しかも私が最終的にやりたいFPGAマイニングではデバイスドライバは必要ないのでこれもパス。

この記事も上記と同様の理由でパス。
「IoT化」は面白そうなので、別な機会があればやってみたい。



以上、最後は記事を読んで終わりだった。
そもそもマイニングが目的で始めた学習だったので必要のない部分はパスでも問題なし。(笑)

ということで次はFPGAマイニングボードの構築にかかるぞ。

2019年9月8日日曜日

PetaLinux(2)

VirutualBoxに不慣れなのと、petalinuxツールの仕様が変わってきているのか、説明通りになかなか進めないでモタついている。

■「ZYBO(Zynq)初心者ガイド」の9回目:Linuxカーネルを少しカスタマイズする。

ここでVirtualBoxからUSBを使えるようにした。

ポイントは、SDカードをWindows本体に差し込むとWindowsが自動的にドライブとしてアクセスできるようにしてしまうのだが、この状態だとVirtualBox側からUSBにアクセスできない。
だから、WindowsのエクスプローラーからSDカードを取り出した状態にしておいて、SDカードは取り出さずにVirtualBoxのUSBアイコンからUSB機器のリストを出して対象を選択する。
赤い矢印のところのUSBアイコンを選択

リストからSDカードを選択
これが分かるまでに少し苦労した。

この後、
> sudo fdisk -l
とすると、SDカードのドライブレターが分かる。
 /dev/sdb1  FAT32
 /dev/sdb2  ext4
そして、マウントする
> sudo mount -t msdos /dev/sdb1 /media/usb
> sudo mount -t ext4 /dev/sdb2 /mnt
マウントしたSDカードにツールでビルドしたイメージファイルをコピーする。
> cd ~/work/peta/SimplePS/
> sudo cp images/linux/BOOT.BIN /media/usb/
> sudo cp images/linux/image.ub /media/usb/
> sudo dd if=images/linux/rootfs.ext4 of=/dev/sdb2


■「ZYBO(Zynq)初心者ガイド」の10回目:Linuxのrootfsをカスタマイズする / PythonでHello World

PYNQボード上のPetaLinuxで python と gdb を利用できるようにするのだが、説明通りだとなぜか結果が異なる。ツールの使い方が微妙に変わったのかもしれない。

VirtualBox上のubuntuで
> petalinux-config -c rootfs
でpythonとgdbのライブラリを追加する。このあとビルド。
> petalinux-build
単純にこうした方が良いようだ。「petalinux -x package」を実行しただけではイメージファイルが更新されなかったし、当然pythonも動かない。
それから、rootfsの設定を変えているので、イメージファイルもrootfs.ext4のサイズが65MBから101MBにアップしていたのは納得がいく。この点が記事の記述と異なった。私のやっていることが、何か間違っているのかもしれない。
しかし、これでpythonが動いたのでこれで良しとしておこう。


■「ZYBO(Zynq)初心者ガイド」の11回目:LinuxユーザアプリケーションでLチカ

「3回目:PSのGPIOでLチカ」でも書いたが、PYNQ-Z1ボードはPSから操作できるLEDが割り当てられていないので、ここでも記事の前半部分はスキップ。

後半部分のPLからLチカはできた。


■「ZYBO(Zynq)初心者ガイド」の12回目:LinuxカーネルモジュールでLチカ

このカーネルモジュールは、PSのGPIOでLチカと同じようなのでスキップ。


あと、残り6回分。予定より時間がかかっているので少し頑張らないと。