tracera
论坛版主
论坛版主
  • 注册日期2006-01-09
  • 最后登录2016-04-05
  • 粉丝8
  • 关注0
  • 积分1092分
  • 威望1241点
  • 贡献值0点
  • 好评度625点
  • 原创分1分
  • 专家分0分
阅读:19320回复:112

驱动新手必看

楼主#
更多 发布于:2007-05-23 10:41
驱动开发新手入门指南

学习,工作有计划才能事半功倍。这里只提供一些对驱动开发的建议。而不涉及太多的技术细节。
1。开发工具的使用
下载方式有很多的,主要是ddk ifsddk ds windbg.新手最好严格对应自己的操作系统和ddk(2000-2000ddk)至于其中的测试工具网上已经有了
很多说明的。
2。编译方式
安装出来的编译环境首先build -cz将所有的都编译一遍。以后每次你的修改代码目录build就可以了。至于ddk+ds有书讲解的很详细了。最好买书来看看。当然也有一个ppt讲解这个的在文件过滤版块自己找找吧
3。安装驱动
设备驱动安装就是使用操作系统提供的机制完成,文件驱动可以右击其inf文件install安装
4。学习驱动
既然是学习就是没有工作压力和时间的自由。这时最好买本书来参照学习。贵在坚持下去。另外象现在比较流行的sfilter filemon filedisk
ctrl2cap都是必须了解的。
5。驱动开发工作
这时,时间个成果很重要。按部就班就不太好了。1》你需要具有一般的驱动编译,测试的能力。2》在网上查找类似的代码,文档拿来做参考,
驱动网上各个版块就有很多前人提供的例子很有参考价值的。3》参考微软提供的一些模型开发。
6。关于开发时间和计划
时间具体是多少,我想这里面有几点:1》实际的工作的难度,新手的任务一般不会太难的。(3个月够了)2》任务的细节要求,是演示,还是实际
发布版本(这里面的时间差距还是很大)3》你的工作的努力和方法。是不是会自己加班,是不是会仔细思考,找解决的方法。
7。下面是我最近开发的一个键盘驱动的步骤:
任务的目的:在我们公司的xpe的系统上有某个程序A,启动会就不能在使用ctrl+alt+del。最开始我的考虑是最简单的fbfilter稍微修改加上跟应用程序
通讯就ok了,(我们的xpe系统可以自己制作组件安装的),可后来领导说我们不能随便添加设备驱动的,没有办法就搞了hook,(我不怎么同意的),
但是必须听领导的。3。我考虑在了在ctrl2cap的基础上实现,可这时需要每次重起机器才能起作用。也被否定了。4。在ctrl2cap的基础上动态卸载
加上了计数器,这样也被否定了。5。最后只好自己发irp,这样才达到了比较好的卸载效果。
8.对于驱动需要的使用makefile,source等等算是标准文件,这些DDK或是msdn上有详细的说明,自己好好找找。
9.网上的一些资料代码
1》就是一些电子书籍,我的意见是先看代码遇到问题在找相似资料查。要不看半天就忘记了,英文更是如此。
2》楚大虾的教程。很有参考价值,尤其是第二版。
3》WDM驱动开发入门,在网上找这个,从可以学到一些驱动的模式话的流程和格式。驱动与应用程序通讯。(驱动也可以跟服务通讯,方法类似)
4》sfilter比较典型的过滤驱动。隐藏,禁止写,禁止删除,修改名字等等很多用处
5》安装ddk后的一些源代码,其中event,moufiltr从各个不同角度阐述了驱动开发中会用到的技术。
6》文件驱动开发版块提供的一些代码,只说比较简单有用的roll your own IRP很值得新手看看。
7》USB版块有人提供的USB设备只读代码。
8》filedisk ramdisk从两个方面阐述了虚拟的一些概念。使用很简单的,真要做一些比如动态分配大小,自动格式化还是有些东西的
10。开发中的一些建议
1》把你需要的类似的版块的精华帖子先看看,多搜索。
2》确定你的开发目标,方向。
3》问人为辅,自己为主。
4》多找找外国的资料,尤其是微软提供的
5》找一些 blog,最近从上面收益不少。
11。我认为最好先做出一些效果出来,可以很明显的看到,使的你的学习,工作很有奔头。
1》sfilter,WDM驱动开发入门等等非设备驱动都可以加一些打印语句在drivermonitor或是softice中看到
2》对于硬件设备,我只接触过USB,那些还是公司的,个人一般买不起的,可以实验u盘只读。
上面是我的一些建议,也许有不对的地方。现在我主要在学习WinCE的开发了,所以现在没有多少时间学习驱动了。得到一些的热心的热心帮助,所以在写一些学习的心得,希望给新手一些提示,更好的快速入门。


呵呵,没有什么,搜索一下吧.这些概念一定要清楚的.

最新喜欢:

baiytaobaiyta...
WinCE 与其临渊慕鱼,不如退而结网
pangzhitao
驱动牛犊
驱动牛犊
  • 注册日期2006-08-18
  • 最后登录2007-07-30
  • 粉丝0
  • 关注0
  • 积分60分
  • 威望7点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-05-24 09:59
说的太好了,受鼓舞!鼓掌!!
生活还是要继续!!
qiweixue
驱动小牛
驱动小牛
  • 注册日期2004-07-21
  • 最后登录2011-12-19
  • 粉丝0
  • 关注0
  • 积分1006分
  • 威望274点
  • 贡献值0点
  • 好评度268点
  • 原创分1分
  • 专家分0分
板凳#
发布于:2007-05-24 10:36
不错,参考,参考....

搞这东东,不容易,准备好吐血心里
 
plk_xiaowei
驱动牛犊
驱动牛犊
  • 注册日期2007-02-18
  • 最后登录2010-04-24
  • 粉丝0
  • 关注0
  • 积分297分
  • 威望82点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-05-24 16:09
十分不错
The.Cjw
ns_lidy
驱动牛犊
驱动牛犊
  • 注册日期2007-03-29
  • 最后登录2008-03-21
  • 粉丝0
  • 关注0
  • 积分310分
  • 威望32点
  • 贡献值0点
  • 好评度31点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-05-25 09:48
谢谢,终于有些信心了
baisix
驱动牛犊
驱动牛犊
  • 注册日期2007-01-19
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分17分
  • 威望114点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-05-26 13:24
有没有程序和驱动通讯的例子
mengfeixiang
驱动牛犊
驱动牛犊
  • 注册日期2007-06-02
  • 最后登录2008-06-04
  • 粉丝0
  • 关注0
  • 积分210分
  • 威望22点
  • 贡献值0点
  • 好评度21点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-06-03 00:29
xiexie henhao
Adayuer
驱动牛犊
驱动牛犊
  • 注册日期2001-03-23
  • 最后登录2010-11-04
  • 粉丝0
  • 关注0
  • 积分340分
  • 威望60点
  • 贡献值0点
  • 好评度33点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2007-06-06 15:55
楼主能不能把自己常去的blog地址贴贴,不会算打广告吧
wangfuhong
驱动牛犊
驱动牛犊
  • 注册日期2007-06-12
  • 最后登录2007-06-15
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2007-06-14 08:55
好东西!!谢谢了
carwin
驱动牛犊
驱动牛犊
  • 注册日期2007-05-27
  • 最后登录2010-03-15
  • 粉丝0
  • 关注0
  • 积分304分
  • 威望71点
  • 贡献值0点
  • 好评度30点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2007-06-14 11:00
说的很好,我事新手,以前编的事WIN32程序,现在老板要我搞驱动,很恼火,看了后,受到鼓舞了,可以留给邮箱么今后多指教:我的EMAIL:yunfandayi@163.com
sxd229
驱动牛犊
驱动牛犊
  • 注册日期2007-06-15
  • 最后登录2007-06-18
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2007-06-15 15:30
很感谢为我们新手写一些东西

不过有一个小小的建议,既然是为新手写的,那么在提到一些专业词汇时,最好能注明一下

简单的介绍一下,也好方便我们理解,那就不甚感激了
pengsj315
驱动牛犊
驱动牛犊
  • 注册日期2007-06-21
  • 最后登录2008-02-19
  • 粉丝0
  • 关注0
  • 积分180分
  • 威望19点
  • 贡献值0点
  • 好评度18点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2007-06-22 10:24
是啊,和楼上的有同感!
自强不息
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝15
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
12楼#
发布于:2007-07-09 18:18
good
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
yzxwx
驱动牛犊
驱动牛犊
  • 注册日期2007-07-12
  • 最后登录2007-10-08
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2007-07-13 11:50
讲的很好,对于新手很有参考意义
pebble001pebble
驱动牛犊
驱动牛犊
  • 注册日期2007-07-18
  • 最后登录2007-07-31
  • 粉丝0
  • 关注0
  • 积分50分
  • 威望6点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2007-07-23 10:18
讲得好
xiejinfeng
驱动牛犊
驱动牛犊
  • 注册日期2007-07-25
  • 最后登录2011-03-10
  • 粉丝0
  • 关注0
  • 积分51分
  • 威望86点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2007-07-25 10:20
大家好,我是准备学习作驱动的,可不知道从何下手,是否能提供一些好书呢,谢谢各位大侠了
mrzhouhao
驱动牛犊
驱动牛犊
  • 注册日期2007-06-26
  • 最后登录2007-09-05
  • 粉丝0
  • 关注0
  • 积分60分
  • 威望7点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2007-08-02 08:35
fantasysun
驱动牛犊
驱动牛犊
  • 注册日期2007-07-25
  • 最后登录2009-09-02
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2007-08-04 17:34
不错 虚心学习
ProPlayboy
驱动大牛
驱动大牛
  • 注册日期2005-07-07
  • 最后登录2014-01-30
  • 粉丝0
  • 关注0
  • 积分1016分
  • 威望811点
  • 贡献值0点
  • 好评度719点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2007-08-05 11:23
人不靓仔心灵美,版头不正红花仔!
hanfengyuhui
驱动牛犊
驱动牛犊
  • 注册日期2007-08-04
  • 最后登录2007-08-05
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望5点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2007-08-05 22:04
版主好,我们单位的领导准备让我开发一个基于ce的导航设备,我以前是通信专业毕业的,没有编过驱动程序和应用程序(现在努力的学习中),就我现在的状况你能给我提几点建议吗?比如从那方面入手之类的,总之你认为对我有帮助的都可以。谢谢了
上一页
游客

返回顶部