ZYBOの続きです。
Petalinuxでユーザアプリケーションの作成
今回もいつもの参考サイトの手順に従います。
ZYBO (Zynq) 初心者ガイド (11) LinuxユーザアプリケーションでLチカ - Qiita
Petalinuxのプロジェクトディレクトリに移動してから、以下のコマンドで、ユーザアプリケーション(myapp)を作成します。
petalinux-create -t apps --template c --name myapp --enable
ちなみに、ここでrootfsの設定を見てみると、
petalinux-config -c rootfs
Configuration ---> apps
の中にmyappが追加されていて、チェックが付いています。
こうなっているため、ビルドをするとmyappも一緒にパッケージされます。
とりあえずはデフォルトのmyappでパッケージして、SDに書いて動かしてみます。
petalinux-build -x package
必要なのはimage.ubだけのようなので、これをSDにコピーします。 ※やってみると、rootfsも必要でした。(ルートファイルシステムをSDに置く設定にしているため)
cd sudo mount /dev/sda1 ./sd sudo cp work/Petalinux/Zybo-base-linux-peta/images/linux/image.ub sd sudo dd if=./work/Petalinux/Zybo-base-linux-peta/images/linux/rootfs.ext4 of=/dev/sda2
このSDをZYBOに入れて、ZYBOの電源を入れると、myappが存在して、ちゃんと動くことが確認できます。
root@Zybo-base-linux-peta:~# ls /usr/bin | grep myapp myapp root@Zybo-base-linux-peta:~# myapp Hello World! root@Zybo-base-linux-peta:~#
myappのカスタマイズ
先ほど動かしたmyappは、デフォルトの内容でした。
これを、前回シェルでやったLEDチカチカに書き換えてビルドします。
参考サイトでは何パターンかのコードが説明されていますが、SysFsを使用するものを使わせてもらいます。 なお、前回確認したように、今回のZynq設定ではMIO7がGPIO900に割り当てられているので、その辺は変更しておきます。
myappのコードは、project-spec/meta-user/recipes-apps/myapp/files/myapp.c
となっているので、
まずこれを編集しておきます。(変更内容は参考サイトを参照)
この後、myappのビルドを行います。
petalinux-build -c myapp -x do_clean petalinux-build -c myapp -x do_install petalinux-build -x package
これらのコマンドの中にも不要なものがあったりするかもしれません。
おいおい精査していこうと思います。
この後、先ほどと同様にSDにimage.ubとrootfsをコピーして、ZYBOで動かしてみると、 LEDチカチカしました。
以上
まだまだチュートリアルを追っているだけですが、だんだんZYBOを使えるようになってきた気がします。