Apple官方原文鏈接?(官方文檔已經(jīng)不再更新,最新的Apple SDK信息請?jiān)L問Apple開發(fā)者文檔)
開發(fā)一個(gè)I/O Kit 設(shè)備驅(qū)動(dòng)需要很多的技能,比如說打包安裝材诽,語言和圖片的國際化處理键闺,需要用戶決策時(shí)彈框提示,還有除非你能一次搞定,不然你還需要學(xué)習(xí)如何調(diào)試你的驅(qū)動(dòng)程序走搁。
如果你是要開發(fā)在OS X系統(tǒng)上運(yùn)行的驅(qū)動(dòng)程序独柑,你需要閱讀學(xué)習(xí)本文檔。本文檔假定你熟悉基本I / O Kit概念和術(shù)語私植,因此先閱讀 IOKit Fundamentals是個(gè)好主意忌栅。它也有助于熟悉面向?qū)ο蟮木幊蹋貏e是C ++編程曲稼。
如果你要開發(fā)連接設(shè)備的應(yīng)用索绪,那么你應(yīng)該去閱讀Accessing Hardware From Applications。如果你覺得這份文檔也對(duì)你有幫助贫悄,請注意一點(diǎn)瑞驱,OC不提供I/O Kit 或者是BSD APIs。不過這些接口是C的APIs窄坦,你可以通過Cocoa 應(yīng)用調(diào)用唤反。
文檔結(jié)構(gòu)(I/O Kit 設(shè)備驅(qū)動(dòng)指南有以下章節(jié))
1、Organization of This Document
主要描述了 libkern?
2嫡丙、libkern Collection and Container Classes
描述 libkern?
概述了 所有I/O Kit 驅(qū)動(dòng)的基類 IOService的定義和用法。包含了驅(qū)動(dòng)程序的匹配曙博,發(fā)送和接收通知拥刻,客戶端和驅(qū)動(dòng)的通信,電源管理父泳,內(nèi)存映射和中斷處理方法的說明般哼。本章是開發(fā)者開發(fā)自己I/O Kit系列驅(qū)動(dòng)的必讀材料。
4惠窄、Making Hardware Accessible to Applications
開始討論驅(qū)動(dòng)和用戶層應(yīng)用間的關(guān)聯(lián)和數(shù)據(jù)傳遞蒸眠。
描述你該如何使用Kernel-User Notification Center杆融。
用于調(diào)試I / O Kit設(shè)備驅(qū)動(dòng)程序的一系列技巧和技巧。
7脾歇、Testing and Deploying Drivers
討論了驅(qū)動(dòng)程序測試的策略蒋腮,并提供了有關(guān)打包和部署設(shè)備驅(qū)動(dòng)程序的指導(dǎo)。藕各。
8池摧、Developing a Device Driver to Run on an Intel-Based Macintosh
提供有關(guān)開發(fā)內(nèi)核中設(shè)備驅(qū)動(dòng)程序的提示,以便在基于PowerPC或基于Intel的Macintosh計(jì)算機(jī)中運(yùn)行激况。
本文檔更新的歷史記錄列表膘魄。
10、Glossary
定義本文檔中使用的關(guān)鍵術(shù)語竭讳。
也可以看看
除了I / O Kit設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)指南之外创葡,Apple開發(fā)人員文檔還包括幾個(gè)涵蓋OS X內(nèi)核,一般I / O Kit以及特定設(shè)備驅(qū)動(dòng)程序開發(fā)的文檔代咸。其中一些文件列在下面蹈丸。
內(nèi)核編程指南高級(jí)描述了OS X核心操作系統(tǒng)的架構(gòu)和設(shè)施,包括Mach呐芥,BSD,虛擬文件??系統(tǒng)奋岁,網(wǎng)絡(luò)思瘟,虛擬內(nèi)存和內(nèi)核服務(wù)。此外闻伶,它還討論了內(nèi)核程序員感興趣的主題滨攻,例如性能,安全性和編碼約定蓝翰。
IOKit Fundamentals描述了I / O Kit的功能光绕,體系結(jié)構(gòu),類和一般機(jī)制畜份,包括驅(qū)動(dòng)程序匹配和加載诞帐,事件處理,內(nèi)存管理和電源管理的討論爆雹。
內(nèi)核擴(kuò)展編程主題包含一系列教程停蕉,向您介紹開發(fā)工具,并指導(dǎo)您完成創(chuàng)建钙态,調(diào)試和打包內(nèi)核擴(kuò)展和I / O Kit驅(qū)動(dòng)程序所需的步驟慧起。它還包括有關(guān)內(nèi)核擴(kuò)展的其他方面的信息。
硬件和驅(qū)動(dòng)程序參考庫中提供了有關(guān)為特定設(shè)備系列編寫驅(qū)動(dòng)程序的深入信息的文檔册倒。
除了這些Apple出版物之外蚓挤,您還可以瀏覽BSD手冊頁以獲取有關(guān)BSD和POSIX API的更多信息。您可以通過在終端窗口(例如驻子,man gdb)中鍵入manfunction_name或在OS X Man Pages中鍵入HTML來查看BSD和POSIX函數(shù)和工具的文檔灿意。
當(dāng)然,您始終可以瀏覽I / O Kit附帶的頭文件拴孤,這些頭文件安裝在Kernel.framework / Headers / iokit(內(nèi)核駐留)和IOKit.framework / Headers(用戶空間)中脾歧。
您還可以在Xcode中查看開發(fā)人員文檔。為此演熟,請從Xcode菜單中選擇“幫助”鞭执,然后單擊“顯示文檔窗口”司顿。
如果您準(zhǔn)備創(chuàng)建設(shè)備驅(qū)動(dòng)程序的通用二進(jìn)制版本以在基于Intel的Macintosh中運(yùn)行,請參閱通用二進(jìn)制編程指南兄纺,第二版大溜。通用二進(jìn)制編程指南描述了Intel和PowerPC體系結(jié)構(gòu)之間的差異,并提供了開發(fā)通用二進(jìn)制文件的技巧估脆。
Apple維護(hù)著幾個(gè)網(wǎng)站钦奋,開發(fā)人員可以在這些網(wǎng)站上獲取有關(guān)Darwin和OS X的一般信息和技術(shù)信
Darwin開源網(wǎng)站(http://developer.apple.com/darwin/)包含Darwin和Apple維護(hù)的其他開源項(xiàng)目的信息和資源。
Apple Developer Connection:OS X(http://developer.apple.com/devcenter/mac)提供SDK疙赠,發(fā)行說明付材,產(chǎn)品說明和新聞以及與OS X相關(guān)的其他資源和信息。
AppleCare支持網(wǎng)站(http://www.apple.com/support)提供搜索功能圃阳,使您可以找到有關(guān)OS X和其他領(lǐng)域的技術(shù)文章厌衔,手冊,規(guī)范和討論捍岳。