加载驱动报Unknown symbol device_create错误解决(ZYNQ-7010)

加载驱动报Unknown symbol device_create错误解决(ZYNQ-7010)

发现最近随便转载的很多啊,未经授权禁止转载!抄袭!!否则转载者死全家!!另外这是我的笔记,不是教程,难免会有错误,不具有很高的参考性,望周知。

今天根据正点原子的教程编写newchrdev驱动时,在使用modprobe命令加载ko文件时,报了Unknown symbol device_create错误:

1
2
3
4
5
6
7
root@ACZ702_System:/# modprobe leddev
leddev: loading out-of-tree module taints kernel.
leddev: disagrees about version of symbol device_create
leddev: Unknown symbol device_create (err -22)
leddev: disagrees about version of symbol device_destroy
leddev: Unknown symbol device_destroy (err -22)
modprobe: can't load module leddev (leddev.ko): Invalid argument

经过查找,找到原因是开发板使用的内核与编译驱动时的内核不是同一个,虽然版本相同,所以之前加载其他驱动时没有报错,加载这个驱动就报找不到符号的错误。解决方法就是再将这个内核编译一遍,然后让开发板使用新编译的内核就解决了

经过内核替换之后,使用相同的命令加载驱动,就会发现错误已经没有了,驱动可以正常加载:

1
2
root@ACZ702_System:/lib/modules# modprobe newchrled.ko
newcheled major=245,minor=0

坚持原创技术分享,您的支持是我前进的动力!