I/O Kit 驅(qū)動(dòng)開發(fā)設(shè)計(jì)指南

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?

3拴袭、The IOService API

概述了 所有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ù)傳遞蒸眠。

5、Kernel-User Notification

描述你該如何使用Kernel-User Notification Center杆融。

6楞卡、Debugging Drivers

用于調(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)行激况。

9作彤、Document Revision History

本文檔更新的歷史記錄列表膘魄。

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ī)范和討論捍岳。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末富寿,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子锣夹,更是在濱河造成了極大的恐慌页徐,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,204評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件银萍,死亡現(xiàn)場離奇詭異变勇,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)砖顷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門贰锁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人滤蝠,你說我怎么就攤上這事豌熄。” “怎么了物咳?”我有些...
    開封第一講書人閱讀 164,548評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵锣险,是天一觀的道長。 經(jīng)常有香客問我览闰,道長芯肤,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,657評(píng)論 1 293
  • 正文 為了忘掉前任压鉴,我火速辦了婚禮崖咨,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘油吭。我一直安慰自己击蹲,他們只是感情好署拟,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著歌豺,像睡著了一般推穷。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上类咧,一...
    開封第一講書人閱讀 51,554評(píng)論 1 305
  • 那天馒铃,我揣著相機(jī)與錄音,去河邊找鬼痕惋。 笑死区宇,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的值戳。 我是一名探鬼主播萧锉,決...
    沈念sama閱讀 40,302評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼述寡!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起叶洞,我...
    開封第一講書人閱讀 39,216評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤鲫凶,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后衩辟,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體螟炫,經(jīng)...
    沈念sama閱讀 45,661評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評(píng)論 3 336
  • 正文 我和宋清朗相戀三年艺晴,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了昼钻。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,977評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡封寞,死狀恐怖然评,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情狈究,我是刑警寧澤碗淌,帶...
    沈念sama閱讀 35,697評(píng)論 5 347
  • 正文 年R本政府宣布,位于F島的核電站抖锥,受9級(jí)特大地震影響亿眠,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜磅废,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評(píng)論 3 330
  • 文/蒙蒙 一纳像、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧拯勉,春花似錦竟趾、人聲如沸憔购。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽倦始。三九已至,卻和暖如春山卦,著一層夾襖步出監(jiān)牢的瞬間鞋邑,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評(píng)論 1 270
  • 我被黑心中介騙來泰國打工账蓉, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留枚碗,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,138評(píng)論 3 370
  • 正文 我出身青樓铸本,卻偏偏與公主長得像肮雨,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子箱玷,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評(píng)論 2 355