字符设备驱动程序设计

字符设备驱动程序设计

ID:39487390

大小:85.00 KB

页数:7页

时间:2019-07-04

字符设备驱动程序设计_第1页
字符设备驱动程序设计_第2页
字符设备驱动程序设计_第3页
字符设备驱动程序设计_第4页
字符设备驱动程序设计_第5页
资源描述:

《字符设备驱动程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验七字符设备驱动程序设计实验目的掌握字符设备驱动程序编写的框架;掌握设备驱动相关的知识;实验原理参考本周大课课件《字符设备驱动程序.PPT》。实验步骤建立一个工作目录,我们的驱动程序模块程序保存在这个目录下;#mkdirfirst_drv#cdfirst_drv1自己编写一个字符设备驱动程序,程序格式参考下面;#include#include#include#include#include

2、inux/types.h>#include#include//(1)编写硬件底层操作函数实现open,release,write,read......//(2)创建一个file_operations结构......staticint__initxxx_init(void){//(3)申请设备号........//(4)初始化cdev结构........//(5)注册cdev结构........return0;}staticvoid__exitXXX

3、_exit(void){//注销cdev结构........//注销设备号}module_init(.......);module_exit(.......);MODULE_LICENSE(......);注意:要求底层函数要实现open,release,write,read方法。2编写Makefile文件内容格式,参考如下:obj-m+=模块程序文件名.oall:make-C内核源码路径M=`pwd`modules#这一行要以TAB键开头clean:make-C内核源码路径M=`pwd`modulescle

4、an#这一行要以TAB键开头3编译模块,拷贝到根文件系统中编译内核模块,直接使用make命令就可以了;#make编译没有错误时,将模块拷贝到跟文件系统中;#cpxxx.ko/opt/rootfs/lib/modules/3.5.0-yyy/4启动开发板,进入linux系统后,在开发板上加载和卸载模块加载:#insmod/lib/modules/3.5.0-yyy/xxxx.ko查看系统分配的设备号#cat/proc/devices手动添加设备文件(设备节点)#mknod/dev/first_drvc主设备号次

5、设备号5交叉编译应程序,打开设备文件进行读写操作实验成功后,叫老师查看实验结果,作为平时考察成绩;first_drv:#include#include#include#include#include#include#include#include#include

6、o.h>staticintfirst_drv_open(structinode*in,structfile*fp){printk("firstdriveropencalled!");return0;}staticintfirst_drv_release(structinode*in,structfile*fp){printk("firstdriverreleasecalled!");return0;}staticintdata=0;staticssize_tfirst_drv_write(struct

7、file*fp,constchar__user*buf,size_tlen,loff_t*offset){copy_from_user((void*)&data,buf,sizeof(int));printk("firstdriverwritecalled!datais%d",data);returnsizeof(int);}staticssize_tfirst_drv_read(structfile*fp,char__user*buf,size_tlen,loff_t*offset){data=data

8、+1;copy_to_user(buf,&data,sizeof(int));printk("firstdriverreadcalled!");returnsizeof(int);}staticstructfile_operationsfirst_fops={.owner=THIS_MODULE,.open=first_drv_open,.release=first_drv_release,.w

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。