收录日期:2019/01/17 21:34:22 时间:2016/05/20 18:27:28 标签:驱动开发/核心开发
在操作系统中,我们都知道,数据传送控制方式有四种:
1)程序直接控制方式
就是由用户进程来直接控制内存或CPU和外围设备之间的信息传送
2)中断方式
是为了减少程序直接控制方式中CPU等待时间以及提高系统的并行工作程度,采用中断方式来控制外围设备和内存与CPU之间的数据传送
3)DMA方式
DMA方式是在要求转送的数据块全部传送结束时要求CPU进行中断处理
4)通道控制方式
数据的传送方向,存放数据的内存始址以及传送的数据址长度等都由专管输入输出的硬件——通道来控制。

而我在很多驱动程序的书中,只看到程序控制方式和DMA方式。

我的问题是:
是否驱动程序中就只有这两种传输方式?其它两种传输方式都可以并入到DMA方式中去?

比如 我现在正在给一个PCI9054写一个驱动程序,该板子是采用一般中断控制方式的(即上面的第二种传输方式)。请问是否可以采用所有驱动程序书中所介绍的DMA方式,还是必须写一个一般中断控制方式的驱动程序?

请高手指教!


应该是四种常用的:(还有一些特殊的)
中断方式与通道方式是不可少的,但在家用PC中通道技术(方式)与DMA技术(方式)有一些类同,不同的是通道方式一般不占有总线是在CPU管理下的数据传送

是否用DMA或其它主要看你的应用对象如果你对数据传送的量大且有速度要求则可以用DMA
"是否驱动程序中就只有这两种传输方式?其它两种传输方式都可以并入到DMA方式中去?"
不同意!
四种方式中用哪一种,视情况而定,没有谁包含谁的说法
DMA方式时直接内存访问,因此不占用CPU资源,一般适用于外围低速设备和内存之间的数据传输,数据传输时是以块形式传输。
大家说了这么多,可是我在各种开发驱动的书中只看到程控方式和DMA方式。
而该硬件是中断控制传输方式。我不知道怎么写驱动?各位能不能给点提示?
看看windows 设备驱动程序(VXD与WDM)开发实务,可能有帮助。好像这本书中也是讲的DMA ,在这方面我跟你一样 也不是很了解
惨的是我的板子并没有实用DMA传输方式啊:(
楼上说的是什么板子呀,PC机板上会没有----难道你用的是工控机的母板

VxWorsk报出Uninitialized Interrupt !Vector number 47的错误!怎么办???? 见鬼了!! 请教树的遍历的最优算法... FastReport3在delphi 控件頁面上有一個頁面fastscrip這些控件有什麼用? 请问在用C#编写的程序中,怎样调用jsp文件,并得到返回值 DELPHI源代码反向生成PD中的类结构,已经完成,欢迎试用 不用水晶报表跟excel,怎么分级打印 晕了 关于jdk1.5 的配置问题 过年,放假,回家---爽 C#在实际的开发中起到什么作用? 求解奇怪的问题。。。。。 大家来评评这个网站啊:http://love.yinsha.com 大家帮帮我写个select 语句! 大侠们,帮忙解决个报表分组后问题哦! 异步IO求救,急! 在线消息即时提示,每隔10秒访问一下数据库,几千人是否回出现拥挤的问题? 问一个关于map得问题 tlistview...问题 关于菜单最小化后出现的问题 高手请留下MSN,不是也可以留下,大家互相学习啊! 请问如何捕捉DBNavigator按了那个按键? 有什么好的办法可以消除一些自动生成HTML代码的软件生成的冗余代码,比如说:FrontPage生成的页面? asp.net打印 People.EditItemIndex = -1 怎么自动发邮件 游标和动态SQL的问题,盼热心人能帮我修改好,在线等,急需~~!! 过年了,散高分50,请高手们进来替小弟解决这个问题 救命呀~!!卖血救命呀~!!调用jacob的问题 想投诉联想,听听大家意见? 关于调用word问题