Разработка драйверов для Mac
Вопрос
Я подумываю о переносе драйвера Windows в OS X.Сейчас я только начинаю осматриваться, чтобы увидеть, что доступно, и там много информации о объекте C и какао.Кажется, что язык и платформа какао являются API высокого уровня, прав ли я, полагая это?
У меня хорошие навыки C++, и я использую их для разработки ядра. Могу ли я использовать те же навыки для разработки драйверов для Mac (думаю, ответ — да).Есть ли у Macintosh какая-либо среда приложений/разработки для создания драйверов?
Решение
А Страница «Оборудование и драйверы Apple» содержит много информации о разработке драйверов для Mac.Этого должно быть достаточно, чтобы начать.Некоторые из основных моментов:
Начиная - Управляемый курс обучения для разработчиков оборудования и драйверов, впервые работающих с Mac OS X.
Рамки - Ссылки на API, организованные по платформам.
Пример кода USB - Ресурсы для разработки USB-устройств и программного обеспечения для доступа к ним.
Пример кода FireWire - Ресурсы для разработки устройств FireWire и программного обеспечения для доступа к ним.
Другие советы
Начните здесь http://developer.apple.com /documentation/Darwin/Conceptual/KernelProgramming/About/About.html р>
Разработка Mac обычно выполняется с использованием Xcode, так как она обрабатывает различные концепции Mac, такие как пакеты и фреймворки. Скорее всего, вы будете работать в чистом C. Вы не будете использовать Cocoa для разработки драйверов, так как это ориентированная на приложения инфраструктура.
Во-первых, C ++ работает просто отлично, хотя Objective C не так сложен в освоении. Если у вас есть опыт работы с драйверами Windows, вы знаете, что некоторые из основных элементов управления критически важны, время критично и т. Д.
Возможно, вы будете использовать IOKit. Я предлагаю начать с хорошего пошагового введения в работу драйвера. Р>
Есть несколько вещей, которые, кажется, не работают так, как они говорят, и я пытаюсь выяснить, действительно ли невозможно отладить драйвер на одной машине, но это лучше, чем большинство Документация Apple.