当前位置: 技术问答>linux和unix
关于驱动程序移植到MIPS平台!
来源: 互联网 发布时间:2016-04-01
本文导语: 本人写了一个最简单的.c文件,然后又写了一个最简单的Makefile文件。 先是在虚拟机上的Linux中hai.c和Makefile所在的文件夹中Make all, 编译通过后,下载到开发板上后运行出现kernel-module version mismatch的错误! 板上跑...
本人写了一个最简单的.c文件,然后又写了一个最简单的Makefile文件。
先是在虚拟机上的Linux中hai.c和Makefile所在的文件夹中Make all,
编译通过后,下载到开发板上后运行出现kernel-module version mismatch的错误!
板上跑的是linux 2.4.20-celf3.
在网上查的是Linux版本不匹配的问题,后来在虚拟机上Linux上用改version.h(在usr/include/linux下)的方法可以解决在redhat中这样的问题。
可是移植到MIPS平台上时却不行。
把/home/mipseltools-gcc331-lnx24/mipsel-linux/include/linux/中的version.h中的
2.4.20-dev改成了linux 2.4.20-celf3. 还是不行!
hai.c内容如下:
//#define MODULE
#include
#include //for printk
MODULE_LICENSE("GPL");
int init_module(void)
{
printk("hellon");
return 0;
}
void cleanup_module(void)
{
printk("byen");
}
Makefile文件内容:
SOURCE=/home/celinux-040503/include
//celinux-040503针对mips平台的,而且我在celinux-040503目录中发现Makefile文件中发现其版本也是2.4.20-celf3.的
//celinux-040503是从网上下的,解压到home目录下的
#SOURCE=/usr/src/linux-2.4.20-8/include
CC=mipsel-linux-gcc
#CC=gcc
CFLAGS = -D__KERNEL__ -DMODULE -O -Wall -I$(SOURCE)
OBJS = hai.o
all: $(OBJS)
$(OBJS):hai.c /home//mipseltools-gcc331-lnx24/mipsel-linux/include/linux/version.h
$(CC) $(CFLAGS) -c $
先是在虚拟机上的Linux中hai.c和Makefile所在的文件夹中Make all,
编译通过后,下载到开发板上后运行出现kernel-module version mismatch的错误!
板上跑的是linux 2.4.20-celf3.
在网上查的是Linux版本不匹配的问题,后来在虚拟机上Linux上用改version.h(在usr/include/linux下)的方法可以解决在redhat中这样的问题。
可是移植到MIPS平台上时却不行。
把/home/mipseltools-gcc331-lnx24/mipsel-linux/include/linux/中的version.h中的
2.4.20-dev改成了linux 2.4.20-celf3. 还是不行!
hai.c内容如下:
//#define MODULE
#include
#include //for printk
MODULE_LICENSE("GPL");
int init_module(void)
{
printk("hellon");
return 0;
}
void cleanup_module(void)
{
printk("byen");
}
Makefile文件内容:
SOURCE=/home/celinux-040503/include
//celinux-040503针对mips平台的,而且我在celinux-040503目录中发现Makefile文件中发现其版本也是2.4.20-celf3.的
//celinux-040503是从网上下的,解压到home目录下的
#SOURCE=/usr/src/linux-2.4.20-8/include
CC=mipsel-linux-gcc
#CC=gcc
CFLAGS = -D__KERNEL__ -DMODULE -O -Wall -I$(SOURCE)
OBJS = hai.o
all: $(OBJS)
$(OBJS):hai.c /home//mipseltools-gcc331-lnx24/mipsel-linux/include/linux/version.h
$(CC) $(CFLAGS) -c $