linux驱动入门-hello设备驱动程序编写
创建一个hello.c文件
[luxibao@centos ~]$ mkdir hello
[luxibao@centos ~]$ ls
dropbear-0.53.1 fl2440 公共的 视频 文档 音乐
dropbear-0.53.1.tar.bz2 hello 模板 图片 下载 桌面
[luxibao@centos ~]$ cd hello/
[luxibao@centos hello]$ ls
[luxibao@centos hello]$ vim hello.c
/******************************************************************************
}
MODULE_LICENSE("Dual BSD/GPL");
* Copyright: (C) 2016 luxibao<864809344@qq.com>
* All rights reserved.
*
* Filename: hello.c
* Description: This file
*
* Version: 1.0.0(2016年07月26日)
* Author: luxibao <864809344@qq.com>
* ChangeLog: 1, Release initial version on "2016年7月26日10时8分00秒"
*
*
*******************************************************************************/
#include <linux/init.h>
#include <linux/module.h>
MODULE_LICENSE("Dual BSD/GPL");
static int hello_init(void)
{
printk(KERN_ALERT "Hello, luxibao\n");
return 0;
}
static void hello_exit(void)
{
printk(KERN_ALERT "Goodbye, luxibao\n");
}
module_init(hello_init);
module_exit(hello_exit);
这个模块定义了两个函数,其中一个在模块被装载打到内核是调用(hello——init),而另一个则是在模块被移除时调用(hello_exit)。
特殊宏(MODULE_LICENSE)用来告诉内核,该模块采取自由许可证,如果没有这样的声明,内核在装载该模块时会产生抱怨。
[luxibao@centos hello]$ ls
hello.c
Hello 驱动的Makefile编写:
适用于Linux操作系统:
在hello.c