2
我嘗試實例化一個uio(driver/uio/uio_pdrv_genirq.c)字符設備 以捕獲用戶空間中的一些gpio中斷。/dev/uio0字符設備節點未顯示
似乎安裝正確,/ sys/class/uio/uio0 /和/ proc/interrupts 顯示我的中斷已註冊。
但是我想念的是/ dev/uio0條目。
我通過驅動程序/ UIO/uio.c踩:__ uio_register_device()和 device_create()不會成功,所以我不知道爲什麼的/ dev/uio0犯規 出現。我無法使用mknod,因爲主號碼是由驅動程序/ uio/uio.c分配的動態 。
是否有一些額外的內核配置我需要啓用,以便自動出現/ dev/uio0 或我缺少什麼?我沒有啓用CONFIG_DEVTEMPFS,這是否需要這樣/ dev/uio0會自動出現?
你是否使用了dts覆蓋來使'/ sys/class/uio/uio0'成爲?嘗試在RPI0上使用'uio_pdrv_genirq',但沒有創建正確的dts覆蓋文件的運氣...... – sharpener
您需要啓用驅動程序,但也需要指定要使用哪個「兼容」標記。您可以通過cmdline選項執行此操作,例如:uio_pdrv_genirq.of_id = generic-uio。然後,您可以在dtb中添加「compatible = generic-uio」,並將驅動程序與設備進行匹配。 –