我应该如何开始使用设备驱动程序

时间:2010-08-04 11:41:46

标签: device-driver

我想在Windows XP / VISTA / 7中使用C语言编写驱动程序,虽然我觉得它很难。我可以得到一些关于如何开始或书籍的提示吗?驱动程序可以从我的USB端口/ PCI / PCI Express到PC!

我知道在哪里可以搜索书籍,我想知道我应该从哪些基本知识开始。我是否需要具备硬件知识,哪些特定书籍对我这样的新手有用?

2 个答案:

答案 0 :(得分:3)

第一步是从Microsoft下载WDK

WDK包含许多示例驱动程序和内核API的大量文档。此外,构建环境和用于驱动程序的编译器。

有了这个,您可以选择使用哪种驱动程序模型,遵循哪种API ...等等。

网络上的一个很好的来源是osronline,其中包含许多文章和社区,可以在Windows下找到有关驱动程序开发的具体问题的答案。


具体问题应该是您的基本知识。

  • 熟练掌握C
  • 使用build(makefile)系统
  • 多线程互斥/自旋锁/并发
  • 对OS原则的全面了解(例如虚拟/物理内存,分页,消息队列之间的差异......)
  • 您想要深入研究的区域的具体知识。 (例如,USB设备的注册接口/关于文件系统/等的知识)

(与硬件本身不一样,因为大多数Windows会隐藏你的低级硬件细节)

答案 1 :(得分:0)

首先像微控制器一样在较低级别上工作会更容易。这将让您了解硬件在软件方面的表现。