我正在考虑将Windows驱动程序迁移到OS X.现在我开始环顾四周看看有什么可用,并且有很多关于目标C和可可的内容。似乎语言和cocoa框架是高级API,我是否正确地假设?
我有很强的C ++技能,我将它们用于内核开发,我可以使用相同的技能进行Mac驱动程序开发(我想答案是肯定的)。 Macintosh是否有用于构建驱动程序的任何类型的应用程序/开发环境?
答案 0 :(得分:15)
Apple Hardware & Drivers page有很多关于Mac驱动程序开发的信息。它应该足以让你开始。一些亮点:
Getting Started - 适用于Mac OS X新手的硬件和驱动程序开发人员的指导学习路径。
Frameworks - 按框架组织的API参考。
USB Sample Code - 用于开发USB设备和访问它们的软件的资源。
FireWire Sample Code - 用于开发FireWire设备和软件以访问它们的资源。
答案 1 :(得分:1)
从这里开始http://developer.apple.com/documentation/Darwin/Conceptual/KernelProgramming/About/About.html
Mac开发通常使用Xcode完成,因为它处理各种特定于Mac的概念,如bundle和frameworks。你最有可能在纯C中工作。你不会使用Cocoa进行驱动程序开发,因为那是一个面向应用程序的框架。
答案 2 :(得分:0)
首先,C ++工作得很好,尽管Objective C并不是那么难学。如果您有Windows驱动程序的背景知识,那么您需要了解一些基本要素 - 内存管理至关重要,时间至关重要等等。
您可能正在使用IOKit。我建议从这里开始一个好的,一步一步的介绍让驱动程序工作。
有一些东西似乎没有像他们说的那样工作,我试图弄清楚是否真的不可能在一台机器上调试驱动程序,但它比大多数都好Apple文档。
答案 3 :(得分:0)
如果您定位到Catalina或更高级别,则还应考虑使用DriverKit。