2011年9月1日 星期四

linux driver sample : only init

Makefile:
===============================================================
KDIR :=/work/kernel/android-2.6.35
PWD := $(shell pwd)
ARCH=arm
CROSS_COMPILE=/work/tools/arm-2010q1/bin/arm-none-linux-gnueabi-
CC=$(CROSS_COMPILE)gcc
LD=$(CROSS_COMPILE)ld

obj-m := foo.o

all:
$(MAKE) -C $(KDIR) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) M=$(PWD) modules

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


source code:
===============================================================

#include "linux/module.h"
#include "linux/kernel.h"
#include "linux/init.h"

static int __init foo_init(void)
{
printk("foo module init !!! \n");
return 0;
}
static void __exit foo_exit(void)
{
printk("foo module exit !!!! \n");
}

module_init(foo_init);
module_exit(foo_exit);

===============================================================

沒有留言:

張貼留言