很简单的字符驱动 hello.c #define __KERNEL__ #include <linux/module.h> #include <linux/kernel.h>
int init_module(void) { printk(KERN_DEBUG "hello world!\n"); return 0; }
void cleanup_module(void) { printk(KERN_DEBUG "goodbye cruel world !\n"); }
Makefile如下:
CROSS =/tools/3.4.1/bin/arm-linux-gcc INCPATH =/tools/2.6.8.1/include all:hello hello : $(CROSS) -I$(INCPATH) -c hello.c -o hello.o clean : rm -rf hello *.o
我的内核版本是2.6.8.1,gcc版本是3.4.1,安装路径是tools/3.4.1 执行make后只生成hello.o文件,没有生成hello.ko文件, 最后下载到开发板的内核中产生如下错误: No module found in object insmod: cannot insert 'hello.o':Invalid module format (-1):Exec format error
上网查了好多也没个结果。 请高手指教了。 |