動かん(4)の続き。
前回は、BOOT.BINやimage.ubを作るところまで。
今回は、ドライバを作るところだ。
Solved: How to write a petalinux device driver - Community Forums
The XDMA Framework For The DMA330 DMA Engine - drivers-sessions1-2-public.pdf
古いのかもしれないが、PDFのp.20にコマンドが書かれていた。
"petalinux-create -t modules -n <名前> --enable"で作るようだ。
このコマンドは、PetaLinuxのプロジェクト内で実行しないとエラーになる。
名前を「led8drv」にしたら、project-spec/meta-user/recipes-modules/led8drv、というところを用意してくれた。
この辺りはPDFと違うところだな。
今回はInterface誌のzybo_gpio.cをそのまま使うことにする。
Makefilとled8drv.bbに載っているファイル名を書き換えた。
あとはビルドなのだが・・・petalinux-buildすることにした。
単体でもできるのかもしれんが、petalinux-buildすればimage.ubに入ってくれるんじゃないの?
入ってくれんかった。
createで作ってくれたテンプレートの中にREADMEもあったので、読もう。
まず、rootfsのbuildがいるようだ。
$ petalinux-build -c rootfs
そうするとmenuconfig画面が出てきて、"modules"を見ると今回作ったドライバが入っていた。
あとは、順番に実行せんといかんのか。
$ petalinux-build -c kernel
$ petalinux-build -c rootfs/led8drv
エラーになる。
ERROR: Nothing PROVIDES 'rootfs/led8drv'
ファイルを置き換えるだけではダメなのかと思ったが、元に戻してもエラーが出る。
既にあるGPIOのドライバと重複したからかもと考えたが、それだったらこういうメッセージにはならんよなぁ。
うーん・・・。
今週はこれでおしまいだ。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。