質問
WindowsドライバーをOS Xに移行することを考えています。現在、利用可能なものを確認するために見回し始めています。客観的なCとココアについてはたくさんあります。言語とcocoaフレームワークは高レベル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のドキュメント。