stephen80320
驱动小牛
驱动小牛
  • 注册日期2003-07-01
  • 最后登录2003-12-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1070回复:8

要作PCI9054驱动,用DS完成后,应该结合实际修改那些函数语句?

楼主#
更多 发布于:2003-07-07 18:21
老板逼着这个周末拿出程序,我才把书看了一半。急死我了。。昨晚还熬了一个通宵。

老板说只需要修改几个地方就可以了。请教各位大侠,用DS生成后,需要修改哪那些函数(只需要实现DMA功能)?

先谢过了!

最新喜欢:

jackywangwenjackyw...
huaching
驱动牛犊
驱动牛犊
  • 注册日期2003-07-06
  • 最后登录2003-08-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-07-08 21:26
你的源程序?
CYoung
驱动中牛
驱动中牛
  • 注册日期2003-06-10
  • 最后登录2005-01-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-07-09 15:47
StartDevice吧,好像,
答得好的话,请兄弟们加点分,那是对我的肯定
lamxu
驱动牛犊
驱动牛犊
  • 注册日期2003-04-11
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-07-10 11:54
教你一个办法,你老板不是很清楚吗?问他好了,呵呵。

libin2309
驱动大牛
驱动大牛
  • 注册日期2002-11-20
  • 最后登录2005-12-29
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-07-10 18:57
好好的看9054的芯片介绍和DS的DMA模型。感觉好象就是一些寄存器的 设置
我是一只小小鸟,永远也飞也飞不高,但我永远在飞!
stephen80320
驱动小牛
驱动小牛
  • 注册日期2003-07-01
  • 最后登录2003-12-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-07-10 19:55
我在DS中没有找到关于DMA的模型啊?
请大侠帮我指出路径。
libin2309
驱动大牛
驱动大牛
  • 注册日期2002-11-20
  • 最后登录2005-12-29
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-07-10 20:42
 好好看DS的帮助文件,里面有DS的DMA模型,很死板。还有,进行DMA传输的那两个类,怎么封装的DDK函数,在DS的目标文件的SOURCE文件夹下有!
我是一只小小鸟,永远也飞也飞不高,但我永远在飞!
lamxu
驱动牛犊
驱动牛犊
  • 注册日期2003-04-11
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-07-11 09:23
well,I told you。Because the 1 score of you.

KDriver一般不需要修改,除非你想放一点初始化的值到注册表里。

KPnpDevice里面有三类例程:

1。Pnp例程和power例程,缺省为7个。主要处理IRP_MN_START_DEVICE,IRP_MN_STOP_DEVICE,IRP_MN_REMOVE_DEVICE,IRP_MN_SETPOWER等这样的消息,一般来说也不需要修改。根据你的情况,一些全局变量可以在KPnpDevice::OnStartDevice()里面初始化。

2。读写例程,缺省为7个。主要是响应应用层程序的调用,其中KPnpDevice::Close()、KPnpDevice::Read()、KPnpDevice::Write()、KpnpDevice::DeviceControl()需要根据实际情况修改。如果设置了中断,则中断里产生相关的信息可以通过DeviceControl通知应用程序,例如通过一个消息通知应用程序来读数据。

3。中断例程,有两个PSCDevice::Isr_Irq和PSCDevice::DpcFor_Irq。这两个也需要修改,如果你要用中断的话。



stephen80320
驱动小牛
驱动小牛
  • 注册日期2003-07-01
  • 最后登录2003-12-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-07-13 22:20
lamxu,谢谢你的指点,给了我很多帮助。
遗憾的是分数已经给出了,无法再改动。若再有机会,一定把这次分数补上
游客

返回顶部