This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Beaglebone板子CAN驱动模块加载问题



在beaglebone中开发CAN驱动,我采用内核默认的配置,参考文档是“Sitara Linux Software Developer’s Guide”,内核用的是linux-3.1.0-psp04.06.00.03.sdk,

将编译好的.ko文件拷贝到lib相应的目录下。

加载驱动后出现如下问题:

root@am335x-evm:/# modprobe d_can  

[95.548096] d_can: version magic '3.1.0 mod_unload modversions ARMv5 ' should be '3.1.0 mod_unload modversions ARMv7 '

FATAL: Error inserting d_can (/lib/modules/3.1.0/kernel/drivers/net/d_can.ko): Invalid module format

该如何解决呢?

说明:CAN模块是和所用的内核同时编译,编译的命令依次为:

(1)make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- mrproper

(2)make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- tisdk_am335x-evm_defconfig

(3)make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- uImage

(4)make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- modules

还有:我看像blooth等的驱动模块加载内核的时候就一并加进去了,为什么can的还得自己加进去呢?

还有:我将CAN模块设置成静态的编译内核,总会导致电脑突然断电,郁闷呐!