环境配置好了之后,就是开始编写程序了,
驱动程序分为两个部分,
一个是源文件。也就是.c .h文件,这些是运行的代码。
一个是makefile,用来编译程序的,毕竟每次输入那么长的命令用来编译程序还是很累,直接写成一个makefile文件方便多了,
make -C 、/home/wxc/linux-2.6.32 M=
pwd
modules
而且清除多余的文件也不方便,所以,makefile是最好的选择,当然,你也可以写成shell脚本
下面是makefile的代码
obj-m := hello.o
KDIR := /home/wxc/linux-2.6.32
PWD :=$(shell pwd)
modules:
$(MAKE) -C $(KDIR) M=$(PWD) modules
这就是makefile,写好之后和源代码放在一起,然后就可以执行make命令编译代码了,
下面是hello.c的代码
#include <linux/module.h>
#include <linux/init.h>
MODULE_LICENSE("Dual BSD/GPL");
static int hello_int(void)
{
printk(KERN_ALERT "hello linux \n");
return 0;
}
static void hello_exit(void)
{
printk(KERN_ALERT "bey linux\n");
}
module_inti(hello_int);
module_exit(hello_exit);
没什么好说的,基本的代码,看下书就会了的,,
然后把编译出来的.ko文件拷贝到arm上,
在上面执行下面的代码
chmod 777 hello.ko
insmod hello.ko
lsmod hello.ko
rmmod hello
就可以看到全部的代码了,
insmod是安装驱动,安装之后可以在
/proc/modules
/sys/modules
在这里面看到hello的信息,也就是驱动挂载的点,以后加入了设备号之后,会主要关注这方面的信息。