当前位置:  技术问答>linux和unix

请教高手,有关字符设备驱动程序问题

    来源: 互联网  发布时间:2016-07-26

    本文导语:  我们的上机实验要编写一个简单的模块化字符设备驱动程序  实验指导书上是这样写的:  (1)编写初始化和注销函数:scull_init() 和 scull_exit();  (2)编写5个基本的设备接口函数,包括scull_open(),scull_write(),scull_rea...

我们的上机实验要编写一个简单的模块化字符设备驱动程序 
实验指导书上是这样写的: 


(1)编写初始化和注销函数:scull_init() 和 scull_exit(); 

(2)编写5个基本的设备接口函数,包括scull_open(),scull_write(),scull_read(),scull_ioctl()和scull_release(); 

(3)编写一个测试程序来测试所编写的字符设备驱动程序。 

除了上面这三句,其他的什么也没有,我看到半天也没看懂是什么。 
字面上理解,这几个函数应该是初始设备,注销设备, 打开设备  读设备  设备io控制  释放设备 
可这到底怎样写呢?redhat9 linux下的设备驱动程序到底是怎样的结构呢? 是怎样控制设备的呢? 
怎样检验所写的驱动程序能正确的控制设备呢? 

我初学linux真搞不懂这东西怎样弄,在线等各位高手帮我解答一下,谢谢!

|
看《LDD》第3版,书中有现成的例子,源代码都有下
URL: http://lwn.net/Kernel/LDD3/

|
本帖最后由 wenxy1 于 2009-12-30 11:57:46 编辑
设备驱动程序,实际上对寄存器操作, 响应硬件中断.
驱动一般要实现以下接口.
init();
open();/* 在这里注册IRQ */
ctrl();
read();
write();
close();/* 注销IRQ */
release();

当系统运行后,我们可以用系统调用 fopen()来打开设备文件(/dev/下全部为设备文件),不过网络通讯要用socket API,而不是文件系统API,读写也是文件系统API, 这点跟我们访问正规文件是一样的.

    
 
 

您可能感兴趣的文章:

  • 请教!关于linux字符驱动程序
  • 请教各位大大 怎样编写LINUX触摸屏的驱动程序?
  • 菜鸟请教,应用程序如何判断驱动程序已经挂载成功
  • 请教关于linux开发驱动程序的方向
  • 请教如何安装内猫的驱动程序
  • sql server数据库有没有专门的jdbc驱动程序,若有,请教怎样获得?
  • 请教单片机驱动程序开发
  • 请教一下在驱动里怎么调用应用程序
  • 请教:修改Linux内核时,需要调用驱动程序的函数,头文件也包含了,但是编译时候说头文件找不到!
  • 请教:Linux驱动程序中的llseek函数
  • 请教:linux的驱动程序如何调用动态连接库?
  • 请教一个关于驱动测试程序的问题
  • 请教高手:如何把USB驱动程序从Linux2.4内核移植到2.6
  • 请教谁有在DOS下用程序驱动CD-ROM播放CD的资料,多谢了
  • 请教一句话:hash、表驱动、cache是程序设计中唯一伟大的三种技术。
  • 请教下,应用程序使用通过驱动程序使用设备的过程
  • 请教nvidia GeForce2 64M的显卡驱动程序在redhat linux上怎样安装
  • 高分请教,驱动程序中的几个概念问题
  • 关于驱动程序的编译.初学,请教几个问题!
  • 我用的是atmel一个成熟的开发板。有一个触摸屏驱动程序,以<M>的方式编译为模块,编译时提示某个外部函数没有定义,但如果以<*>的方式编译进内核,则不会出错。请教下可能是什么原因?
  • 请教:什么命令可以把一个文件中的某个字符用另一个字符替换
  • 请教:怎么在sh中替换一个字符串中的某个字符
  • 请教,有关16进制字符串形成2进制字符串的问题!
  • 怎样取得字符串中的字符?高分请教!!!
  • 请教一个查找字符的脚本。急用!!
  • 请教一个字符编码转换问题
  • 高分请教字符串编码问题
  • 请教一个shell中字符和数值的问题。
  • 请教高手AIX中怎么删除行尾的字符^M
  • 请教如何更改rh7.2(字符模式)下机器的名字?
  • 请教UNIX字符界面开发问题~
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请教有关linux驱动开发,按关机键关机时,驱动应作哪些结束工作?
  • 请教!linux设备驱动
  • 请教用户空间编写设备驱动
  • Linux新手请教声卡驱动!!!!!!!!!!!
  • 请教Linux设备驱动的具体应用(基于PC)
  • 请教linux驱动复杂,庞大的结构
  • 高分相送,请教cs5530芯片组声卡驱动的问题
  • 请教:怎么安装声卡驱动?
  • 巨难请教网卡驱动
  • 请教一个显卡问题:我是u5的机器,它的显卡是集成的吗?需要安装驱动吗?
  • 《DCAD-620U ADSL Modem》linux下没有驱动怎么办?高分请教(是usb的adsl modem)
  • 高分请教一个串口驱动模块加载的问题
  • 请教ldd3的驱动挂载问题!
  • 请教一个驱动编译的问题
  • 请教高手:Linux安装驱动
  • 新手请教:我的声卡所附光盘提供了下面的这些文件,我怎么安装驱动?
  • 请教,如何知道内存中某个驱动模块是否已经被加载??
  • 请教个驱动移植问题
  • 请问一下,关于arm下的嵌入式linux驱动相关问题请教是应该发在哪个讨论区?
  • 神州数码DCAD-620U ADSL调制解调器<usb>官方网站没有<linux>驱动怎么办?请教~
  • 请教,请教,这个问题是为什么????
  • 请教本地硬盘安装问题请教本地硬盘安装问题
  • ■请教■请教redhat最基本的问题!
  • 请教一个 shell 问题,我用下面这个 shell 语句总是失败,请教
  • 高分请教,各位大侠,请教一个问题,理论高手请进??谢谢
  • 请教Linux下pgadmin3-1.0.2的编译和安装!!高分请教!
  • 各位大虾,请教装了REDHAT9操作系统后,启动时无法引导到LINUX,请教该如何解决啊
  • 请教,请教,,,一定要看!!一定要看!!
  • 请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • :请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • 请教象我这样的硬盘应如何安装Linux,我昨天试装了,但有问题。(老问题了,也看了前面的帖子,但还是来请教,请多指教)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3