阅读:2346回复:21
新手请教ddk的初级问题
初学ddk开发,几个问题请教大家,谢谢:
(1)书上说,开发驱动需要两台机器,一台用于开发,一台用于调试, 为什么不能在同一台(只有一个CPU)机器上开发,编译,调试? (2)ddk中使用的那些古怪的,名字特长的函数,都是哪来的,是操作 系统内核中的吗,存在于那些系统文件中? (3)单纯的用ddk来开发driver,是不是可在任何编辑器下写代码,再 用build命令编译就可以生成sys文件了? (4)我现在只有一台pc机,ddk自带的那些例子,对于初学者先研究那 些比较合适? 谢谢!!! |
|
沙发#
发布于:2004-08-19 13:41
一台就可以,不过调试驱动是一件很郁闷的事情,经常重启甚至系统崩溃,所以那些大侠们才建议咱们最好用两台
一般都是ddk + vc6.0了,使用及生成驱动的方法你可以先去学习一些资料,推荐Windows Driver Model(WDM)经典好书 ddk的函数有ddk的帮助文档可以学习,重要的是了解驱动的框架 例子你找简单的先看呗 |
|
板凳#
发布于:2004-08-19 13:48
一台机器+DRIVERSTUDIO+DDK足以。。。。
|
|
|
地板#
发布于:2004-08-19 15:57
谢谢两位!
to ohmygod_zl: 驱动的框架是怎样的,那有资料? 谢谢!! |
|
地下室#
发布于:2004-08-19 16:05
请问 DRIVERSTUDIO 是否只能在WIN 2000 上使用,我试在WIN ME 和WIN98 下安装总是提示出错.
|
|
|
5楼#
发布于:2004-08-19 16:21
to tjs:
sorry,我也只在w2k pro上安装过DRIVERSTUDIO |
|
6楼#
发布于:2004-08-19 16:37
你看看我推荐的那本书,再看一些简单的例子就知道了
不少人都是这样的 不用着急,这东东要耐心学 |
|
7楼#
发布于:2004-08-19 16:40
据说是在98下可以装的,当然首先要装98ddk(先装vc,再装ddk,最后装ds),还有安装ds时一些选项根2000的不一样
不过我本人没有装过:) |
|
8楼#
发布于:2004-08-19 17:07
谢谢大家,再问个问题:
用build编译生成*.sys文件后,通过控制面板安装,如果 修改了源代码,重新用build.exe编译,是不是还需要通过 控制面板安装一遍,还是直接拷贝覆盖\system32\driver\ 下的同名sys文件就行了?? 还有就是ddk for w2k 自带的example中,哪一个可以通过简单 的修改,再编译安装,再通过测试程序就可以看到修改后的效果, 我大体看了一下\src\general\portio 例子,也不知如何修改 代码genport.c,请指教!! 再就是用什么工具可以输出调试信息DebugPrint("..."); #define DebugPrint(_x_) \ DbgPrint ("PortIo:"); \ DbgPrint _x_; 一下又提了这么多问题,麻烦大家了,谢谢!!! |
|
9楼#
发布于:2004-08-19 17:15
我是用ds做的驱动不是用ddk直接写的,在程序里加打印输出语句,用DriverMonitor可以看到,我试过的。
我的驱动还装不上,正郁闷呢,请教一下你装的步骤? 例子bulkusb有人用过可以,我就在做这个,不过没用ddk的例子,用ds生成的框架 [编辑 - 8/19/04 by ohmygod_zl] |
|
10楼#
发布于:2004-08-19 17:38
谢谢ohmygod_zl
以下是ddk的portio example带的说明文档: To install the driver: 1.Double-click the Add/Remove Hardware Wizard applet in Control Panel. 1.Select Add/Troubleshoot a Device. 3.Select Add a new device. 4.Select No, I Want to Select the Hardware from a list. 5.Select Other Devices and then click Next. 6.Click Have Disk and point to the directory that contains genport.inf file. 我想和usb的不一定相同! |
|
11楼#
发布于:2004-08-19 18:39
一样的,我都试过了,结果就出现了我在另一个帖子里描述的情况:
1. 在设备管理器中找到我的usb设备所连的那个hub,选更新设备驱动,然后安装我写的驱动,出错:“指定位置不包括有关硬件的信息” 2. 在设备管理器中找到我的usb设备所连的那个hub,卸载了操作系统自带的驱动,然后设备就被删除了,然后添加新硬件,系统又自动装上驱动了 反正是装不上郁闷不知道什么原因 |
|
12楼#
发布于:2004-08-20 16:16
to ohmygod_zl :
我也是新手,你的问题我也不明白,只能帮你up了,希望 早日解决,也教教我,谢谢你的帮助! upupupup!!! |
|
13楼#
发布于:2004-08-20 16:19
to ohmygod_zl:
你都看什么驱动开发的书, 是如何入门的,可否推荐一下, 谢谢! |
|
14楼#
发布于:2004-08-20 20:22
以前说过的那本经典书是必看的
我还看了《操作系统》(个人感觉用处不大) 我做usb,还看了usb的规范 还看了ddk文档里关于bulkusb的一篇文章,还不错 我也只是接触驱动程序不到一个月 对那些名字古怪的函数还是感觉头疼 函数大概知道功能就可以吧我觉得 像我做的wdm的驱动研究一下DriverEntry和AddDevice,再看看pnp,power,read,write等就知道个大概了 反正我觉得每行代码都自己写就没必要也太难了 现在大家做东西了解原理以后拿一些现成的修改一下就ok :) 我比较懒啊 |
|
15楼#
发布于:2004-08-20 22:34
刚开始学,你得有个目标,想学习哪方面的驱动编程,没有目的是什么都学不会的.
|
|
16楼#
发布于:2004-08-20 22:36
两台机器调试驱动是较好的做法,
个人经历: 曾经用单台机器调试驱动,结果把硬盘上文件都毁了, 欲哭无泪呀!!!!! |
|
17楼#
发布于:2004-08-20 23:38
老大说的对,没有目的是什么都学不会的
|
|
18楼#
发布于:2004-08-23 09:34
谢谢Sundsea和ohmygod_zl
最近可能要做pci板卡(数据采集)的驱动开发,想请教各位大侠 做pci板卡的驱动开发有哪些难点,有什么好的文档或例程可以 借鉴一下? 谢谢! 这几天通过学习ddk,知道了驱动入口是DriveEntry,知道了IRP, 知道了Dispatch等,但没有什么项目做,也就不知道再研究些 什么了! 还想请教各位,在ddk自带的那些example中,那些不需要硬件 的支持就可以测试,我想找一个典型的入门级的例子研究一 下! 我编译安装了\NTDDK\src\general\portio哪个例子,但用 gpdwrite.exe和gpdread.exe测试出现: C:\ddd>gpdwrite -b 1 a Wrote data a to port 1 C:\ddd>gpdread -b 1 Read from port 1 returned ff 为什么向port1写入a,但读出的是ff 我真不知道如何去调试这种程序, 请指教!!! |
|
19楼#
发布于:2004-08-23 20:33
有硬件才好!
要结合硬件才学的快! 拿着硬件入手做吧! 最好的学习过程莫过于动手实践! |
|
上一页
下一页