阅读:1070回复:8
要作PCI9054驱动,用DS完成后,应该结合实际修改那些函数语句?
老板逼着这个周末拿出程序,我才把书看了一半。急死我了。。昨晚还熬了一个通宵。
老板说只需要修改几个地方就可以了。请教各位大侠,用DS生成后,需要修改哪那些函数(只需要实现DMA功能)? 先谢过了! |
|
最新喜欢:jackyw... |
沙发#
发布于:2003-07-08 21:26
你的源程序?
|
|
板凳#
发布于:2003-07-09 15:47
StartDevice吧,好像,
|
|
|
地板#
发布于:2003-07-10 11:54
教你一个办法,你老板不是很清楚吗?问他好了,呵呵。
|
|
地下室#
发布于:2003-07-10 18:57
好好的看9054的芯片介绍和DS的DMA模型。感觉好象就是一些寄存器的 设置
|
|
|
5楼#
发布于:2003-07-10 19:55
我在DS中没有找到关于DMA的模型啊?
请大侠帮我指出路径。 |
|
6楼#
发布于:2003-07-10 20:42
好好看DS的帮助文件,里面有DS的DMA模型,很死板。还有,进行DMA传输的那两个类,怎么封装的DDK函数,在DS的目标文件的SOURCE文件夹下有!
|
|
|
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。这两个也需要修改,如果你要用中断的话。 |
|
8楼#
发布于:2003-07-13 22:20
lamxu,谢谢你的指点,给了我很多帮助。
遗憾的是分数已经给出了,无法再改动。若再有机会,一定把这次分数补上 |
|