edriver
驱动小牛
驱动小牛
  • 注册日期2002-03-04
  • 最后登录2006-09-15
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3399回复:13

application如何与driver进行交互?

楼主#
更多 发布于:2003-04-16 12:40
在windows和liunx下面的driver都是把device当做file来操作,在application里面直接调用open,write等函数就可以直接和driver交互数据,可是在Mac OS X是如何实现的呢?我在Mac OS X下面用I/O Kit开发了一个简单的PCI driver,我想请教一下,那么如何来安装我的driver,同时如何来和application交互数据呢?
paranoid
驱动牛犊
驱动牛犊
  • 注册日期2003-02-13
  • 最后登录2004-12-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-04-17 10:15
大概得实现一个user client吧
MacWin
驱动中牛
驱动中牛
  • 注册日期2002-12-16
  • 最后登录2009-05-27
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望44点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-04-17 18:14
yes.paranoid may be right .I use user clint to talk to my usb device.
Chen
edriver
驱动小牛
驱动小牛
  • 注册日期2002-03-04
  • 最后登录2006-09-15
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-04-21 09:16
macWin,你能不能把你的实现原理,给我讲讲,如果能把你的代码email给我,那就太好了。3x
paranoid
驱动牛犊
驱动牛犊
  • 注册日期2003-02-13
  • 最后登录2004-12-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-04-21 09:56
你可以先参照苹果网站上的例子simpleuserclient,simpledataqueue
MacWin
驱动中牛
驱动中牛
  • 注册日期2002-12-16
  • 最后登录2009-05-27
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望44点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-04-21 11:05
paranoid is right!
参照苹果网站上的例子simpleuserclient
Chen
edriver
驱动小牛
驱动小牛
  • 注册日期2002-03-04
  • 最后登录2006-09-15
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-04-22 17:04
paranoid,这两个例子实在是太好了。可是我有个问题:既然user client也是运行在kernel上,那么如何安装user client呢?是不是安装driver的时候也就已经安装上了user client呢?或者说user client就是driver的一部分?
MacWin
驱动中牛
驱动中牛
  • 注册日期2002-12-16
  • 最后登录2009-05-27
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望44点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-04-22 17:29
You are right ! The user client is a part of driver . It will be loaded when driver loaded .
Chen
edriver
驱动小牛
驱动小牛
  • 注册日期2002-03-04
  • 最后登录2006-09-15
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-04-22 17:56
多谢macwin回答。
我还想问问你,你是否用过POSIX里的device file来实现过和driver交互过数据吗?就象在liunx下的driver一样?我觉得用user client来实现有点复杂,是不是?
MacWin
驱动中牛
驱动中牛
  • 注册日期2002-12-16
  • 最后登录2009-05-27
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望44点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-04-23 09:32
You may be right . I am always looking for a simple way to
commute data between AP and Driver .And I known little about device file  .
Chen
paranoid
驱动牛犊
驱动牛犊
  • 注册日期2003-02-13
  • 最后登录2004-12-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-04-23 09:55
苹果网站上有两个pdf是关于app和driver之间的通信的
AccessingHardware,WritingDeviceDriver
按照她的文档来讲,当前只有storage,serial,network devices可以通过使用device file这种形式的接口来通信。
而pci,文当中说There are no device interface for PIC and AGP devices.看来只能自力更生了。
edriver
驱动小牛
驱动小牛
  • 注册日期2002-03-04
  • 最后登录2006-09-15
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2003-04-23 11:23
多谢二位的回答,决定放分了! :D :D :D
MacWin
驱动中牛
驱动中牛
  • 注册日期2002-12-16
  • 最后登录2009-05-27
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望44点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2003-04-23 11:32
To paranoid : I am writting a utility to send vendor command (like scsi cmd format) to the U Disk on Mac OS X.
I use use client. But It runs not stable enough . I want to find a way like device file to send scsi command to the U disk . Do u have some idear about that ? Thanks .
Chen
paranoid
驱动牛犊
驱动牛犊
  • 注册日期2003-02-13
  • 最后登录2004-12-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2003-04-23 13:23
简单的情形下可以使用setProperties,这样接口比较简单,不易出错。方法为在user client端实现setProperties函数,app中调用IOConnectSetCFProperties传递你的消息


To paranoid : I am writting a utility to send vendor command (like scsi cmd format) to the U Disk on Mac OS X.
I use use client. But It runs not stable enough . I want to find a way like device file to send scsi command to the U disk . Do u have some idear about that ? Thanks .
游客

返回顶部