2010-06-25 63 views
1

如果有人告诉我需要为某个产品(比如游戏控制器)创建驱动程序,那么我将如何去创建驱动程序?这是你可以在C/C++中正常使用的东西吗?创建驱动程序和固件

而外部设备的固件连接到USB呢?这是如何创建的?这也是用C/C++或者一些低级语言来完成的吗?

谢谢!

回答

1
1

你可以用任何语言与界面进行交谈。如果需要直接戳端口或地址,则使用汇编或C语言。如果有更高级别的接口(如libusb),则可以使用几乎任何您喜欢的语言。

2

桌面计算机操作系统的设备驱动程序通常用C或C++编写。您要实现的操作系统将具有某种形式的框架或设备驱动程序开发环境。通常这些开发工具包可以免费获得。

有许多书籍可用于Windows,Linux和MacOS X(以及其他),详细介绍了创建设备驱动程序的过程。

如果您的驱动程序与特定硬件总线(PCI,PCI-X,USB,SCSI,SATA等)上的设备相关,则还可以获取有关该特定技术的书籍。了解该硬件系统可以极大地促进您的驱动程序的设计。

另一个很好的资源是类似设备的开源代码。您可以从Linux内核源代码或FreeBSD源代码获得该代码,并研究如何实现您的设备类型的某些方面。

编辑:我几乎忘记提及您还需要数据手册,原理图和/或关于设备本身的操作信息的理论。