11

我正在考虑将 Windows 驱动程序迁移到 OS X 中。现在我刚刚开始四处查看可用的内容,并且有很多关于目标 C 和可可的内容。似乎语言和可可框架是高级 API,我是否正确假设?

我有很强的 C++ 技能,我将它们用于内核开发,我可以将相同的技能用于 Mac 驱动程序开发(我想答案是肯定的)。Macintosh 是否有任何类型的应用程序/开发环境来构建驱动程序?

4

4 回答 4

18

Apple Hardware & Drivers 页面包含大量有关 Mac 驱动程序开发的信息。这应该足以让你开始。一些亮点:

  • Getting Started - 为刚接触 Mac OS X 的硬件和驱动程序开发人员提供的指导学习路径。

  • 框架- 由框架组织的 API 参考。

  • USB 示例代码- 用于开发 USB 设备和软件以访问它们的资源。

  • FireWire 示例代码- 用于开发 FireWire 设备和访问它们的软件的资源。

于 2009-06-16T13:10:43.370 回答
1

从这里开始http://developer.apple.com/documentation/Darwin/Conceptual/KernelProgramming/About/About.html

Mac 开发通常使用 Xcode 完成,因为它处理各种 Mac 特定的概念,如包和框架。您很可能使用纯 C 语言工作。您不会使用 Cocoa 进行驱动程序开发,因为它是一个面向应用程序的框架。

于 2009-06-16T13:13:32.133 回答
0

首先,C++ 工作得很好,尽管 Objective C 并不是那么难学。如果你有 Windows 驱动程序的背景,你就会知道一些要点——内存管理很重要,时间很重要,等等。

您可能会使用 IOKit。我建议从这里开始,逐步介绍如何让驱动程序工作。

内核扩展

有一些事情似乎不像他们所说的那样工作,我试图弄清楚是否真的不可能在单台机器上调试驱动程序,但它比大多数 Apple 文档要好。

于 2011-06-13T23:35:36.313 回答
0

如果您的目标是 Catalina 或更高版本,您还应该考虑DriverKit

于 2020-04-06T21:16:51.360 回答