linux 字符设备驱动测试,测试源码 - 简单的Linux字符设备驱动_Linux编程_Linux公社-Linux系统门户网站...

//------------------------------测试源码---------------------------------------

#include

#include

#include

#include

int main (void)

{

int fd;

//    char buff[]="Ta ti ta ti";

char buff[200];

int i;

for(i=200; i > 0; i--) {

if(i < 128){

buff[i]=i;

}

else {

buff[i] = '2';

}

}

printf("test.c:\n %s\n\n", buff);

fd = open ("/dev/caogos_hello",O_RDWR);

if (fd < 0) {

printf ("fd open failed\n");

exit(0);

}

printf ("\n/dev/hello opened, fd=%d\n",fd);

printf ("Write returns %d\n", write (fd, buff, sizeof(buff)));

close (fd);

printf ("/dev/hello closed :)\n");

return 0;

}

//-----------------------------------Makefile---------------------------------------

KERNELDIR ?= /source/kernel/linux-2.6.22.6-worked

PWD := $(shell pwd)

obj-m   += hello.o

modules:

$(MAKE) -C $(KERNELDIR) M=$(PWD) modules

clean:

rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions

这里驱动模块的makefile和应用程序的makefile有些不同,这里只需要指定(用于嵌入式的)linux内核的路径,并将这个路径赋给变量KERNELDIR;然后make自动会调用交叉编译器(比如arm-linux-gcc)来编译驱动模块(比如这里是hello.c)。0b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值