温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Windows驱动程序开发前期准备

发布时间:2020-09-15 20:07:44 来源:网络 阅读:203 作者:Lee_1985 栏目:编程语言

要开发一个windows驱动程序,需要先掌握C语言相关知识,并理解一些操作系统知识,然后搭建windows driver开发环境,以及准备一些必要的工具。

驱动程序与普通应用程序的区别

我们知道,windows系统程序分为四个运行级别:R0,R1,R2,R3,其中,R3运行应用程序,权限最低;R0运行内核代码,管理硬件设备及运行驱动程序,权限最高,也就是说,一旦我们的驱动代码被OS内核加载,那么我们的驱动程序就具备了最高权限,这是一件很开心的事情,也是一件很可怕的事情,开心在于我们可以实现更高级的功能,可怕的是,一旦产生错误,系统就会蓝屏。R1,R2两个级别被Windows系统弃用,我们不必理会。

NT、WDM、WDF的区别

对于一个驱动程序开发新手,包括我自己,其实很纠结。首先我们分不清三者之间的关系和区别,其次,不知道到底该学哪个。其实三者并无本质区别,学哪个都行,当你遇到问题,需要解决问题的时候,就自然掌握和理解了。
NT:没有电源管理和即插即用到处模块
WDM:有电源管理和即插即用,可实现inf文件安装
WDF:WDF框架是为了减少开发者因为自身水平的限制而出现的不必要蓝屏错误,WDF框架将操作准化,相当于把简答题变成了填空题,降低了出错概率。

常用工具

Visual Studio 20xx:开发工具
Windows SDK:开发库
WDK:驱动开发库
DebugViewer:调试内核,查看内核打印输出
DriverMonitor:驱动加载工具,省去了手动安装过程,非常方便
PcHunter:windows信息查看软件,比OS自带的任务管理器显示内容更多
DeviceTree:查看设备列表
WinObj:windows对象查看
IDA Pro:反编译工具(暂时用不到)
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI