2017/01/21

[nfc]OM5578/PN7150S来たる (4)

PDFに従い、make defconfigして.configを作った。
menuconfigするのが面倒だったので、.configをPNで検索して書き換えた。

CONFIG_NFC_NXP_PN5XX=m

そして、zImage, modules dtbsする。
時間がかかってビルドできたので、書いてあるようにSDカードにコピーする。
私はBash on Windowsでやったので、適当にtgzに固めて、scpでコピーしてRaspi上で書き換えた。

起動!
・・・だめだ、koファイルはできているのだが、読込んでくれる気配がない。。。

 

問題は、DTSファイルの方ではないだろうか?

試しに、arch/arm/boot/dts/に、"Hello!"と書いたaaaaa.dtsファイルを置いて、make dtbsしてみた。
エラーにも何もならない。。。
読んでくれてすらいないということか。


じゃあ、今動いているkernelはどうやってるんだろうか。
もしかして、=mじゃなくて、=yしてkernelに入れ込んでるんじゃなかろうか?
だからといってDTSファイルが不要だとは思わないけど、kernelに組み込んでいるからdtbに入っている、とかか?
それだったらoverlaysに入っているのかもしれんが、そういう訳でもない。
DTSがわかってないのに、適当にやろうとするのが間違いなのか。。。

 

まあいい。
まずは、動いているkernelと同じconfig設定にしよう。

Raspberry Pi 2で現在のカーネルのコンフィグを確認する - 組み込みの人。

これでconfig.gzを取り出して、見てみた。

CONFIG_NFC_NXP_PN5XX=y

ビルドし直して動かしたが、そういう話ではなさそうだ。


動いている環境のdtbを見直したが、pn7120の部分はi2c@7e804000というところの中に入っているのだ。
入れ子になっているから、includeとかしてるんじゃないだろうか?

適当の書き換えて、raspi2のdtsにincludeしたら、それっぽいdtbファイルになった。


とにかく、アプリを動かさないと分からない。

https://github.com/NXPNFCLinux/linux_libnfc-nci

git-coreをapt installし、上記をgit cloneして、./bootstrapして足りないものをapt installして、

$ sudo apt install git-core bc automake autoconf libtool
$ ./configure --enable-pn7150
$ make
$ ./nfcDemoApp

立ち上がりはするのだが、SNEPのコールバック関数登録ができないというログが出るし、なによりタグをかざしても反応がない。

失敗だ!

 

/dev/を見ると、/dev/pn544がない。
lsmodではpn5xx_i2cが見えるのだが、あればよいというわけではないのか。
configを見比べたが、動いている方でもNFCは有効<m>になっているものの、CONFIG_NFC_NCIなどは未設定になっている。
CONFIG_NFC_PN533は<m>だけど、これは関係ないよなぁ。
CONFIG_BCM2708_GPIOが今回のconfigにないのがあやしい気もするのだけど、そもそもPDFではkernelの設定については触れられていないので、さっぱりわからん。。。

$ dmesg
....
pn544: probe of 1-0028 failed with error -22
...

あー、ドライバでエラーが出てるんだ。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。

注: コメントを投稿できるのは、このブログのメンバーだけです。