Linux驱动 HelloWorld

一个简单的驱动代码示例 :

#include<linux/init.h> // 模块出入口宏的声名头文件
#include<linux/module.h> //模块声名信息宏所需要的头文件

MOULE_LICENSE("GPL"); //声名驱动遵循GPL协议
MOULE_ARUTHOR("www.bytekits.com"); // 驱动作者
MODULE_DESCRIPTOTR("hello bytekits.com"); // 驱动描述

//入口函数
static int hello_init(void)
{
    printf(KERN_INFO,"hello bytekits\n");
    return 0;
}

//出口函数
static void hell_exit(void)
{
    printf(KERN_INFO,"bye bye bytekits\n")
}

module_init(hello_init); //模块入口
module_exit(hello_exit); //模块退出

makefile文件如下:

#编译中间文件为.o文件
obj-m += hello_module.o

#指定linux kernel源码的目标变量
KDIR := ~/src/kenel/tc4_kenel_3.8

#当前目录
PWD ?=$( shell pwd)

#make -C 就是指调用执行的路径
#modules 示示将驱动编译成模块,最终生成.ko文件

all:
    make -C $(KDIR)  M=$(PWD) modules

clean:
    rm -rf *.o  *.mod.*  *.order  *.symvers

使用如下命令来安装驱动:

insmod hello_module.ko

执行完成上面的命令后,控制台输出:

hello bytekits

然后我们可以使用如下命令卸载驱动:

rmmod hello_module

控制台输出:

bye bye bytekits
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

Powered by bytekits.com,汇天下文字,成非凡梦想!!!