为ARM开发的linux驱动程序,应该怎么编译得到.o文件

[复制链接]
查看11 | 回复3 | 2010-6-9 19:40:02 | 显示全部楼层 |阅读模式
现在有一个.c的驱动源文件,我想要用这个文件生成.o文件挂到系统上,我应该怎么写生成.o文件的这个Makefile
我现在用的是这么写的
obj-m := weke-leds.o
KERNELDIR := /weke/kernel/s3c2410_kernel2.4.18_rel/include/linux
PWD := (shell pwd)
default :

make -C $(KERNELDIR) M=$(PWD) modules
clean :

make -C $(KERNELDIR) M=$(PWD) clean
可是执行make后有错误
提示 Nothing to be done for ‘modules’
我错在哪里了,应该怎么改??
我编译出来的驱动要挂到ARM板上跑,怎么能用gcc编译呢,应该应交叉编译吧
我知道还有一种是用arm-linux-gcc 编译的,可是一是错误一大堆,如果用那个的话,这个makefile文件又怎么写
回 touchao1
我用的是板子里给带的内核源码我并没有对内核进行编译过,我应该怎么对这个内核进行交叉编译呢,我是新手啊 ,还不会,望指点,谢谢,问题解决,会继续加分

回复

使用道具 举报

千问 | 2010-6-9 19:40:02 | 显示全部楼层
编译驱动是要和内核相关的,你的这个Mafefile是没问题,你查查你的/weke/kernel/s3c2410_kernel2.4.18_rel那个内核有没有交叉编译过内核里面有Makefile,所以你编译驱动的时候指定内核路径后,会用编译内核的交叉编译工具编译,然后你试一下make default
回复

使用道具 举报

千问 | 2010-6-9 19:40:02 | 显示全部楼层
编译一个hello.o试试先http://linux.chinaunix.net/techdoc/develop/2008/10/08/1036714.shtml感觉很多时候是因为KERNELDIR没有设置好
回复

使用道具 举报

千问 | 2010-6-9 19:40:02 | 显示全部楼层
是使用 gcc 来编译的吧,查下gcc的命令。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行