
驱动程序的makefile怎么写啊,要在arm上运行的,编译成内核模块。
ifneq($(KERNELRELEASE),)obj-m:=hello.oelseKDIR:=/lib/modules/2.6.18-53.el5/buildall:m...
ifneq ($(KERNELRELEASE),)
obj-m := hello.o
else
KDIR := /lib/modules/2.6.18-53.el5/build
all:
make -C $(KDIR) M=$(PWD) modules
clean:
rm -f *.ko *.o *.mod.o *.mod.c *.symvers
endif
以上是国嵌视频中提供的,只能在pc上加载,要在arm上加载,应该怎么改。 展开
obj-m := hello.o
else
KDIR := /lib/modules/2.6.18-53.el5/build
all:
make -C $(KDIR) M=$(PWD) modules
clean:
rm -f *.ko *.o *.mod.o *.mod.c *.symvers
endif
以上是国嵌视频中提供的,只能在pc上加载,要在arm上加载,应该怎么改。 展开
2个回答
展开全部
将 KDIR := /lib/modules/2.6.18-53.el5/build
直接指向你的Linux源码(mini2440改好的)所在的文件夹,再指定对ARM平台编译即可。注意这个Linux版本要与你ARM上跑的要一致,可在超级终端下用uname -r查看。
比如说你查看的是 2.6.32.2-FriendlyARM,那你只要改两句:
KDIR := /。。。。。。/Linux-2.6.32.2/
all:
make -C $(KDIR) M=$(PWD) modules ARCH=arm CROSS_COMPILE=arm-linux-
不过之前我先编译了内核,然后编译模块一次成功,不知道有影响么,共同学习吧。(*^__^*)
直接指向你的Linux源码(mini2440改好的)所在的文件夹,再指定对ARM平台编译即可。注意这个Linux版本要与你ARM上跑的要一致,可在超级终端下用uname -r查看。
比如说你查看的是 2.6.32.2-FriendlyARM,那你只要改两句:
KDIR := /。。。。。。/Linux-2.6.32.2/
all:
make -C $(KDIR) M=$(PWD) modules ARCH=arm CROSS_COMPILE=arm-linux-
不过之前我先编译了内核,然后编译模块一次成功,不知道有影响么,共同学习吧。(*^__^*)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询