當(dāng)前位置: 首頁(yè) > 原創(chuàng)圖書(shū) >Linux那些事兒之我是USB
· 多年嵌入式人才培養(yǎng)及項(xiàng)目研發(fā)經(jīng)驗(yàn)總結(jié)
· 數(shù)百家企業(yè)嵌入式研發(fā)崗位人才需求匯總
· 數(shù)十所嵌入式專業(yè)大學(xué)院校教學(xué)現(xiàn)狀調(diào)研
· 側(cè)重實(shí)踐及案例分析并輔以代碼加以講解
本書(shū)基于2.6.22內(nèi)核,對(duì)USB子系統(tǒng)的大部分源代碼逐行進(jìn)行分析,系統(tǒng)地闡釋了Linux內(nèi)核中USB子系統(tǒng)是如何運(yùn)轉(zhuǎn)的,子系統(tǒng)內(nèi)部的各個(gè)模塊之間是如何互相協(xié)作互相配合的。
本書(shū)使用幽默詼諧的筆調(diào)對(duì)Linux內(nèi)核中的USB子系統(tǒng)源代碼進(jìn)行了分析,形象且詳盡地介紹了USB在Linux中的實(shí)現(xiàn)。本書(shū)從U盤(pán)、Hub、USB Core直到主機(jī)控制器覆蓋了USB實(shí)現(xiàn)的方方面面,被一些網(wǎng)友譽(yù)為USB開(kāi)發(fā)的“圣經(jīng)”。
對(duì)于Linux初學(xué)者,可以通過(guò)本書(shū)掌握學(xué)習(xí)內(nèi)核、瀏覽內(nèi)核代碼的方法;對(duì)于Linux驅(qū)動(dòng)開(kāi)發(fā)者,可以通過(guò)本書(shū)對(duì)設(shè)備模型有形象深刻的理解;對(duì)于USB開(kāi)發(fā)者,可以通過(guò)本書(shū)全面的理解USB在一個(gè)操作系統(tǒng)中的實(shí)現(xiàn);對(duì)于Linux內(nèi)核開(kāi)發(fā)者,也可以通過(guò)本書(shū)學(xué)習(xí)到很多Linux高手開(kāi)發(fā)維護(hù)一個(gè)完整子系統(tǒng)時(shí)的編程思想。
Linux那些事兒之我是USB章節(jié):
第1篇 Linux那些事兒之我是USB Core
1.引子 2
2.它從哪里來(lái) 2
3.PK 3
4.漫漫辛酸路 3
5.我型我秀 4
6.我是一棵樹(shù) 5
7.我是誰(shuí) 9
8.好戲開(kāi)始了 11
9.不一樣的core 13
10.從這里開(kāi)始 17
11.面紗 20
12.模型,又見(jiàn)模型 22
13.繁華落盡 26
14.接口是設(shè)備的接口 28
15.設(shè)置是接口的設(shè)置 32
16.端點(diǎn) 35
17.設(shè)備 37
18.配置 45
19.向左走,向右走 48
20.設(shè)備的生命線(一) 53
21.設(shè)備的生命線(二) 56
22.設(shè)備的生命線(三) 61
23.設(shè)備的生命線(四) 67
24.設(shè)備的生命線(五) 73
25.設(shè)備的生命線(六) 80
26.設(shè)備的生命線(七) 88
27.設(shè)備的生命線(八) 94
28.設(shè)備的生命線(九) 100
29.設(shè)備的生命線(十) 104
30.設(shè)備的生命線(十一) 109
31.驅(qū)動(dòng)的生命線(一) 122
32.驅(qū)動(dòng)的生命線(二) 127
33.驅(qū)動(dòng)的生命線(三) 131
34.驅(qū)動(dòng)的生命線(四) 135
35.字符串描述符 138
36.接口的驅(qū)動(dòng) 147
37.還是那個(gè)match 150
38.結(jié)束語(yǔ) 155
第2篇 Linux那些事兒之我是HUB
1.引子 157
2.跟我走吧,現(xiàn)在就出發(fā) 157
3.特別的愛(ài)給特別的Root Hub 158
4.一樣的精靈不一樣的API 160
5.那些隊(duì)列,那些隊(duì)列操作函數(shù) 164
6.等待,只因曾經(jīng)承諾 169
7.最熟悉的陌生人——probe 171
8.蝴蝶效應(yīng) 174
9.While You Were Sleeping(一) 178
10.While You Were Sleeping(二) 183
11.While You Were Sleeping(三) 185
12.While You Were Sleeping(四) 191
13.再向虎山行 194
14.樹(shù),是什么樣的樹(shù) 198
15.沒(méi)完沒(méi)了的判斷 201
16.一個(gè)都不能少 206
17.蓋茨家對(duì)Linux代碼的影響 215
18.八大重量級(jí)函數(shù)閃亮登場(chǎng)(一) 220
19.八大重量級(jí)函數(shù)閃亮登場(chǎng)(二) 223
20.八大重量級(jí)函數(shù)閃亮登場(chǎng)(三) 225
21.八大重量級(jí)函數(shù)閃亮登場(chǎng)(四) 237
22.八大重量級(jí)函數(shù)閃亮登場(chǎng)(五) 241
23.是月亮惹的禍還是spec的錯(cuò) 249
24.所謂的熱插拔 251
第3篇 Linux那些事兒之我是UHCI
1.引子 256
2.開(kāi)戶和銷戶 258
3.PCI,我們來(lái)了! 262
4.I/O內(nèi)存和I/O端口 270
5.傳說(shuō)中的DMA 275
6.來(lái)來(lái),我是一條總線,線線線線線線 281
7.主機(jī)控制器的初始化 285
8.有一種資源,叫中斷 293
9.一個(gè)函數(shù)引發(fā)的故事(一) 295
10.一個(gè)函數(shù)引發(fā)的故事(二) 298
11.一個(gè)函數(shù)引發(fā)的故事(三) 303
12.一個(gè)函數(shù)引發(fā)的故事(四) 309
13.一個(gè)函數(shù)引發(fā)的故事(五) 311
14.寂寞在唱歌 313
15.Root Hub的控制傳輸(一) 321
16.Root Hub的控制傳輸(二) 327
17.非Root Hub的批量傳輸 339
18.傳說(shuō)中的中斷服務(wù)程序(ISR) 345
19.Root Hub的中斷傳輸 362
20.非Root Hub的中斷傳輸 364
21.等時(shí)傳輸 375
22.“脫”就一個(gè)字 381
第4篇 Linux那些事兒之我是U盤(pán)
1.小城故事 388
2.Makefile 389
3.變態(tài)的模塊機(jī)制 390
4.想到達(dá)明天現(xiàn)在就要啟程 392
5.外面的世界很精彩 394
6.未曾開(kāi)始卻似結(jié)束 395
7.狂歡是一群人的孤單 396
8.總線、設(shè)備和驅(qū)動(dòng)(上) 397
9.總線、設(shè)備和驅(qū)動(dòng)(下) 398
10.我是誰(shuí)的他 400
11.從協(xié)議中來(lái),到協(xié)議中去(上) 401
12.從協(xié)議中來(lái),到協(xié)議中去(中) 403
13.從協(xié)議中來(lái),到協(xié)議中去(下) 405
14.夢(mèng)開(kāi)始的地方 406
15.設(shè)備花名冊(cè) 411
16.冰凍三尺非一日之寒 412
17.冬天來(lái)了,春天還會(huì)遠(yuǎn)嗎?(一) 416
18.冬天來(lái)了,春天還會(huì)遠(yuǎn)嗎?(二) 422
19.冬天來(lái)了,春天還會(huì)遠(yuǎn)嗎?(三) 425
20.冬天來(lái)了,春天還會(huì)遠(yuǎn)嗎?(四) 427
21.冬天來(lái)了,春天還會(huì)遠(yuǎn)嗎?(五) 431
22.通往春天的管道 436
23.傳說(shuō)中的URB 440
24.彼岸花的傳說(shuō)(一) 443
25.彼岸花的傳說(shuō)(二) 445
26.彼岸花的傳說(shuō)(三) 448
27.彼岸花的傳說(shuō)(四) 451
28.彼岸花的傳說(shuō)(五) 453
29.彼岸花的傳說(shuō)(六) 457
30.彼岸花的傳說(shuō)(七) 460
31.彼岸花的傳說(shuō)(八) 463
32.彼岸花的傳說(shuō)(The End) 467
33.SCSI命令之我型我秀 468
34.迷霧重重的批量傳輸(一) 472
35.迷霧重重的批量傳輸(二) 476
36.迷霧重重的批量傳輸(三) 479
37.迷霧重重的批量傳輸(四) 484
38.迷霧重重的批量傳輸(五) 489
39.迷霧重重的批量傳輸(六) 493
40.迷霧重重的批量傳輸(七) 495
41.跟著感覺(jué)走(一) 500
42.跟著感覺(jué)走(二) 503
43.有多少愛(ài)可以胡來(lái)?(一) 509
44.有多少愛(ài)可以胡來(lái)?(二) 513
45.當(dāng)夢(mèng)醒了天晴了 518
46.其實(shí)世上本有路,走的人多了,也便沒(méi)了路 522
附錄 Linux那些事兒之我是sysfs
1.sysfs初探 526
2.設(shè)備模型 527
2.1 設(shè)備底層模型 528
2.2 設(shè)備模型上層容器 532
2.3 示例一:usb子系統(tǒng) 535
2.4 示例二:usb storage驅(qū)動(dòng) 541
3.sysfs文件系統(tǒng) 547
3.1 文件系統(tǒng) 547
3.2 sysfs 553
3.3 file_oprations 557