请问版主,
helper2416开发板,驱动里面调用class_create创建设备节点失败,是因为根文件系统里面不支持udev文件系统吗?谢谢。
加载驱动后,自己创建设备节点,驱动都可以正常工作的。
我用的自己重新编译的2.6的内核(HELPER2416-KERNEL2.6.21-V100.tar)和jyx提供的root-qtopia.img镜像。
我们用的是mdev,也会自动创建节点,不好意思,最近不常上论坛,回复晚了。。。
My dreams will go on...
http://www.jyxtec.com
谢谢斑竹回复,我继续调试,发现是class_create成功返回,但是device_create(first_drv_class, NULL, MKDEV(first_drv_major, 0), NULL, "xxx");这一句就出错了。
说是内核指针指到了空指针。具体是这个:
Unable to handle kernel paging request at virtual address 335e3220
Backtrace:
[] (vsnprintf+0x0/0x544) from [] (device_create+0x78/0xb4)
我重新编译内核,烧写内核和rootfiles都还是这样。还请斑竹帮忙指导,谢谢了。
不好意思,我找到原因了,要用这个接口创建设备:
class_device_create(first_drv_class, NULL, MKDEV(first_drv_major, 0), NULL, "xxx");
既然新接口编译能过,却不能用,有点疑惑。。。