【问题标题】:Mac driver developmentMac驱动开发
【发布时间】:2010-11-03 08:03:35
【问题描述】:

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

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

【问题讨论】:

    标签: macos kernel driver


    【解决方案1】:

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

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

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

    • USB Sample Code - 用于开发 USB 设备和访问它们的软件的资源。

    • FireWire Sample Code - 用于开发 FireWire 设备和访问它们的软件的资源。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

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

        Kernel Extensions

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

        【讨论】:

          【解决方案4】:

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

          【讨论】:

            猜你喜欢
            • 2010-09-15
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-09-09
            • 2012-10-10
            • 2017-07-18
            相关资源
            最近更新 更多