QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1508|回复: 4

如何编译(检查)驱动程序?

[复制链接]
发表于 2004-6-14 10:11:32 | 显示全部楼层 |阅读模式
s3c4510b+uclinux(2.4.1
  我终于可以识别到外部中断0了。
  不过,我还有一个问题想请教各位:
  我编写的驱动程序ad.c一定要和内核配置一起才能进行编译吗?如果每修改一次驱动程序都要进行内核编译,很花时间(我的机子编译内核直到生成image.rom都要半小时)
  于是,我想到是不是可以写一个Makefile,来编译一下我的驱动程序(或者至少可以检查出中的大部分错误),我的Makefile如下:
CFLAGS  = -Wall -Os -Dlinux -D__linux__ -Dunix -D__uClinux__ -DEMBED
LDFLAGS = -Wl, -elf2flt
CC      =arm-elf-gcc
LD        =arm-elf-gcc
TARGT   =ad
OBJ     =$(TARGT).o
SRC     =$(TARGT).c
all : $(TARGT)
%.o : %.c
        $(CC)  $(CFLAGS) -c $< -o $@
$(TARGT): $(OBJ)
        $(CC) $(CFLAGS) $(LDFLAGS)  -o $@ $(OBJ)
clean :
        rm -f $(TARGT)  *.elf *.gdb *.o *.elf2flt
   可是,我make之后,显示...#error "Configuration error:No CPU defined“.
这是为什么?可能是我的这种做法不对吧?
但是,还有什么更好的不用配置内核就可以编译(或者检查错误)驱动程序的方法吗?
发表于 2004-6-14 22:53:35 | 显示全部楼层
可以做成modules 编译呀
回复

使用道具 举报

发表于 2004-6-15 08:18:27 | 显示全部楼层
可是,uClinux不支持模块的动态加载,怎么办啊?
回复

使用道具 举报

发表于 2004-6-15 11:51:04 | 显示全部楼层
哦,是uClinux
你可以把你的要编译的文件加到别的目录下,比如drivers/net,并把你的文件加入drivers/net/Makefile,
不用新写个makefile,只要简单的加个ad.o,然后你可以执行
make drivers/net/ad.o
回复

使用道具 举报

发表于 2004-6-15 19:40:26 | 显示全部楼层
编译进内核
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-21 21:59 , Processed in 0.045721 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表