如果有人告訴我需要爲某個產品(比如遊戲控制器)創建驅動程序,那麼我將如何去創建驅動程序?這是你可以在C/C++中正常使用的東西嗎?創建驅動程序和固件
而外部設備的固件連接到USB呢?這是如何創建的?這也是用C/C++或者一些低級語言來完成的嗎?
謝謝!
如果有人告訴我需要爲某個產品(比如遊戲控制器)創建驅動程序,那麼我將如何去創建驅動程序?這是你可以在C/C++中正常使用的東西嗎?創建驅動程序和固件
而外部設備的固件連接到USB呢?這是如何創建的?這也是用C/C++或者一些低級語言來完成的嗎?
謝謝!
我會添加到Amardeep的很好的答案與下面的書籍,這將有助於你對上下文的設備驅動程序在運作,他們是如何結構:
的Linux: http://www.amazon.com/Understanding-Linux-Kernel-Third-Daniel/dp/0596005652
你可以用任何語言與界面進行交談。如果需要直接戳端口或地址,則使用匯編或C語言。如果有更高級別的接口(如libusb),則可以使用幾乎任何您喜歡的語言。
桌面計算機操作系統的設備驅動程序通常用C或C++編寫。您要實現的操作系統將具有某種形式的框架或設備驅動程序開發環境。通常這些開發工具包可以免費獲得。
有許多書籍可用於Windows,Linux和MacOS X(以及其他),詳細介紹了創建設備驅動程序的過程。
如果您的驅動程序與特定硬件總線(PCI,PCI-X,USB,SCSI,SATA等)上的設備相關,則還可以獲取有關該特定技術的書籍。瞭解該硬件系統可以極大地促進您的驅動程序的設計。
另一個很好的資源是類似設備的開源代碼。您可以從Linux內核源代碼或FreeBSD源代碼獲得該代碼,並研究如何實現您的設備類型的某些方面。
編輯:我幾乎忘記提及您還需要數據手冊,原理圖和/或關於設備本身的操作信息的理論。