私はザイリンクスZynqアプリケーションにPetalinuxを使用しています。私はカーネルドライバ開発を初めて行っています。デバイスツリーからの情報でプラットフォームデバイスを登録する
AXI FIFOインターフェイス用のプラットフォームドライバ用のカーネルモジュールを作成しました。デバイスは、cat /proc/iomem
で予約された正しいメモリスペースを見ることができるので、デバイスツリーから.of_match_tableを使って認識されているようです。
私は、ドライバ名XXXを検索する場合、私は
./lib/modules/4.4.0-xilinx/extra/xxx.ko
./sys/bus/platform/drivers/xxx
./sys/module/xxx
./sys/module/xxx/drivers/platform:xxx
を取得し、私は/sys/bus/platform/devices/43c00000.axi_xxxx
の下でデバイスを見つけましたが、まだそれにアクセスしたり、/dev/
の下でそれを見ることができません。
デバイスを登録してユーザースペースアプリから開くことができますか?
メモリを割り当ててから、
platform_device_register(pdev)
を使用して新しいデバイスを登録する必要がありますか?あなたが作成したデバイスファイルを取得するためのフレームワークでデバイスを登録する必要があり
おかげ
おかげでのLinuxカーネルドライバの開発とデバイスモデルの詳細を読むことができ、これは助け - あなたはおそらく[リンク]を参照しています( http://free-electrons.com/doc/training/linux-kernel/linux-kernel-slides.pdf)。私はこれをさらに発展させます。 – gavenant
確かに、リンクを修正しました –