博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux之hello驱动编写
阅读量:4025 次
发布时间:2019-05-24

本文共 1335 字,大约阅读时间需要 4 分钟。

## CentOS下搭建编译驱动的环境

S1、yum install kernel  和 yum install kernel-devel

S2、修改软连接

         /lib/modules/$(uname -a)/build 指向的软连接 

        查看默认的ll build指向的软连接,如果不正确,编译会报错,如下:

        make: *** /lib/modules/2.6.32-431.29.2.el6.x86_64/build: No such file or directory.  Stop.

S3、执行S1步骤之后,在/usr/src/kernels目录之下将生成对应的安装包,然后让S2中build目录指向该目录,如下

         ln  -s  /usr/src/kernels/2.6.32-573.8.1.el6.centos.plus.x86_64   /lib/modules/2.6.32-431.29.2.el6.x86_64/build

## hello_driver.c

#include 
#include
#include
static int __init hello_init(void){ printk(KERN_ALERT "hello driver init!\n"); return 0;}static void __exit hello_exit(void){ printk(KERN_ALERT "hello driver exit\n");}module_init(hello_init);module_exit(hello_exit);
## Makefile

ifneq ($(KERNELRELEASE),)	obj-m :=hello_driver.oelse	KERNELDIR ?=/lib/modules/$(shell uname -r)/buildPWD       := $(shell pwd)modules:	$(MAKE) -C $(KERNELDIR) M=$(PWD) modulesendifclean:    rm -rf *.o *~ .depend .* .

## printk的权限定义(1-7输出信息到 /var/log/message,0输出信息到终端)

linux/kernel.h#define KERN_EMERG     "<0>"#define KERN_ALERT    "<1>"#define KERN_CRIT      "<2>"#define KERN_ERR       "<3>"#define KERN_WARNING   "<4>"#define KERN_NOTICE    "<5>"#define KERN_INFO      "<6>"#define KERN_DEBUG     "<7>"

## 驱动ko使用

insmod hello_driver.kormmod hello_driver.kolsmod | grep hello_driver   //检查

## 驱动测试

转载地址:http://pjvbi.baihongyu.com/

你可能感兴趣的文章
hibernate中get 与 load 区别
查看>>
JSP文件下载及getOutputStream() has already been的解决
查看>>
Tomcat 6.0 开发配置小结
查看>>
FusionCharts 使用手记
查看>>
Struts,Spring,Hibernate优缺点
查看>>
用Spring更好地处理Struts动作三种整合
查看>>
spring中配置二级缓存
查看>>
Hibernate 查询语句HQL基本语法
查看>>
HIbernate查询
查看>>
小技巧要你命三千之:checkbox radio select 只读效果
查看>>
Android开发(一)Android搭建、HelloWorld
查看>>
Android开发(一)拨打电话程序
查看>>
Android开发(一)发送短信程序
查看>>
Android(二)数据存储和访问 之文件
查看>>
Android(三)数据存储之XML解析技术
查看>>
Android(三) 数据存储之二 SharedPreferences
查看>>
Android(三)数据存储之三SQLite嵌入式数据库
查看>>
Android(四)数据存储之四ContentProvider
查看>>
Android(四)数据存储之四网络
查看>>
Android(五)数据存储之五网络数据交互
查看>>