《Linux驱动》最简单的驱动编写与makefile

来源:互联网 发布:驴友用的gps软件 编辑:程序博客网 时间:2024/06/06 09:39
#include <linux/init.h>/*包含初始化宏定义的头文件,代码中的module_init和module_exit在此文件中*/#include <linux/module.h>/*包含初始化加载模块的头文件,代码中的MODULE_LICENSE在此头文件中*/MODULE_LICENSE("Dual BSD/GPL");/*声明是开源的,没有内核版本限制*/MODULE_AUTHOR("iTOPEET_dz");/*声明作者*/static int hello_init(void){    printk(KERN_EMERG "Hello World enter!\n");    /*打印信息,KERN_EMERG表示紧急信息*/    return 0;}static void hello_exit(void){    printk(KERN_EMERG "Hello world exit!\n");}module_init(hello_init);/*初始化函数*/module_exit(hello_exit);/*卸载函数*/

MAKEFILE:

#!/bin/bash#通知编译器我们要编译模块的哪些源码#这里是编译itop4412_hello.c这个文件编译成中间文件mini_linux_module.oobj-m += mini_linux_module.o #源码目录变量,这里用户需要根据实际情况选择路径#作者是将Linux的源码拷贝到目录/home/topeet/android4.0下并解压的KDIR := /home/topeet/android4.0/iTop4412_Kernel_3.0#当前目录变量PWD ?= $(shell pwd)#make命名默认寻找第一个目标#make -C就是指调用执行的路径#$(KDIR)Linux源码目录,作者这里指的是/home/topeet/android4.0/iTop4412_Kernel_3.0#$(PWD)当前目录变量#modules要执行的操作all:        make -C $(KDIR) M=$(PWD) modules#make clean执行的操作是删除后缀为o的文件clean:        rm -rf *.o
0 0
原创粉丝点击