《Linux那些事儿之我是USB》

图书作者:肖林甫 肖季东 任桥伟 丛书名称: 华清远见系列图书 出版日期:2010年7月 PDF电子版免费下载

编辑推荐理由

推荐评分:5.0分

多年嵌入式人才培养及项目研发经验总结

数百家企业嵌入式研发岗位人才需求汇总

数十所嵌入式专业大学院校教学现状调研

侧重实践及案例分析并辅以代码加以讲解

图书简介

本书基于2.6.22内核,对USB子系统的大部分源代码逐行进行分析,系统地阐释了Linux内核中USB子系统是如何运转的,子系统内部的各个模块之间是如何互相协作互相配合的。 本书使用幽默诙谐的笔调对Linux内核中的USB子系统源代码进行了分析,形象且详尽地介绍了USB在Linux中的实现。本书从U盘、Hub、USB Core直到主机控制器覆盖了USB实现的方方面面,被一些网友誉为USB开发的“圣经”。 对于Linux初学者,可以通过本书掌握学习内核、浏览内核代码的方法;对于Linux驱动开发者,可以通过本书对设备模型有形象深刻的理解;对于USB开发者,可以通过本书全面的理解USB在一个操作系统中的实现;对于Linux内核开发者,也可以通过本书学习到很多Linux高手开发维护一个完整子系统时的编程思想。

图书目录

  • ※第1篇 Linux那些事儿之我是USB Core

  • 1.引子 2
  • 2.它从哪里来 2
  • 3.PK 3
  • 4.漫漫辛酸路 3
  • 5.我型我秀 4
  • 6.我是一棵树 5
  • 7.我是谁 9
  • 8.好戏开始了 11
  • 9.不一样的core 13
  • 10.从这里开始 17
  • 11.面纱 20
  • 12.模型,又见模型 22
  • 13.繁华落尽 26
  • 14.接口是设备的接口 28
  • 15.设置是接口的设置 32
  • 16.端点 35
  • 17.设备 37
  • 18.配置 45
  • 19.向左走,向右走 48
  • 20.设备的生命线(一) 53
  • 21.设备的生命线(二) 56
  • 22.设备的生命线(三) 61
  • 23.设备的生命线(四) 67
  • 24.设备的生命线(五) 73
  • 25.设备的生命线(六) 80
  • 26.设备的生命线(七) 88
  • 27.设备的生命线(八) 94
  • 28.设备的生命线(九) 100
  • 29.设备的生命线(十) 104
  • 30.设备的生命线(十一) 109
  • 31.驱动的生命线(一) 122
  • 32.驱动的生命线(二) 127
  • 33.驱动的生命线(三) 131
  • 34.驱动的生命线(四) 135
  • 35.字符串描述符 138
  • 36.接口的驱动 147
  • 37.还是那个match 150
  • 38.结束语 155
  • ※第2篇 Linux那些事儿之我是HUB

  • 1.引子 157
  • 2.跟我走吧,现在就出发 157
  • 3.特别的爱给特别的Root Hub 158
  • 4.一样的精灵不一样的API 160
  • 5.那些队列,那些队列操作函数 164
  • 6.等待,只因曾经承诺 169
  • 7.最熟悉的陌生人——probe 171
  • 8.蝴蝶效应 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.树,是什么样的树 198
  • 15.没完没了的判断 201
  • 16.一个都不能少 206
  • 17.盖茨家对Linux代码的影响 215
  • 18.八大重量级函数闪亮登场(一) 220
  • 19.八大重量级函数闪亮登场(二) 223
  • 20.八大重量级函数闪亮登场(三) 225
  • 21.八大重量级函数闪亮登场(四) 237
  • 22.八大重量级函数闪亮登场(五) 241
  • 23.是月亮惹的祸还是spec的错 249
  • 24.所谓的热插拔 251
  • ※第3篇 Linux那些事儿之我是UHCI

  • 1.引子 256
  • 2.开户和销户 258
  • 3.PCI,我们来了! 262
  • 4.I/O内存和I/O端口 270
  • 5.传说中的DMA 275
  • 6.来来,我是一条总线,线线线线线线 281
  • 7.主机控制器的初始化 285
  • 8.有一种资源,叫中断 293
  • 9.一个函数引发的故事(一) 295
  • 10.一个函数引发的故事(二) 298
  • 11.一个函数引发的故事(三) 303
  • 12.一个函数引发的故事(四) 309
  • 13.一个函数引发的故事(五) 311
  • 14.寂寞在唱歌 313
  • 15.Root Hub的控制传输(一) 321
  • 16.Root Hub的控制传输(二) 327
  • 17.非Root Hub的批量传输 339
  • 18.传说中的中断服务程序(ISR) 345
  • 19.Root Hub的中断传输 362
  • 20.非Root Hub的中断传输 364
  • 21.等时传输 375
  • 22.“脱”就一个字 381
  • ※第4篇 Linux那些事儿之我是U盘

  • 1.小城故事 388
  • 2.Makefile 389
  • 3.变态的模块机制 390
  • 4.想到达明天现在就要启程 392
  • 5.外面的世界很精彩 394
  • 6.未曾开始却似结束 395
  • 7.狂欢是一群人的孤单 396
  • 8.总线、设备和驱动(上) 397
  • 9.总线、设备和驱动(下) 398
  • 10.我是谁的他 400
  • 11.从协议中来,到协议中去(上) 401
  • 12.从协议中来,到协议中去(中) 403
  • 13.从协议中来,到协议中去(下) 405
  • 14.梦开始的地方 406
  • 15.设备花名册 411
  • 16.冰冻三尺非一日之寒 412
  • 17.冬天来了,春天还会远吗?(一) 416
  • 18.冬天来了,春天还会远吗?(二) 422
  • 19.冬天来了,春天还会远吗?(三) 425
  • 20.冬天来了,春天还会远吗?(四) 427
  • 21.冬天来了,春天还会远吗?(五) 431
  • 22.通往春天的管道 436
  • 23.传说中的URB 440
  • 24.彼岸花的传说(一) 443
  • 25.彼岸花的传说(二) 445
  • 26.彼岸花的传说(三) 448
  • 27.彼岸花的传说(四) 451
  • 28.彼岸花的传说(五) 453
  • 29.彼岸花的传说(六) 457
  • 30.彼岸花的传说(七) 460
  • 31.彼岸花的传说(八) 463
  • 32.彼岸花的传说(The End) 467
  • 33.SCSI命令之我型我秀 468
  • 34.迷雾重重的批量传输(一) 472
  • 35.迷雾重重的批量传输(二) 476
  • 36.迷雾重重的批量传输(三) 479
  • 37.迷雾重重的批量传输(四) 484
  • 38.迷雾重重的批量传输(五) 489
  • 39.迷雾重重的批量传输(六) 493
  • 40.迷雾重重的批量传输(七) 495
  • 41.跟着感觉走(一) 500
  • 42.跟着感觉走(二) 503
  • 43.有多少爱可以胡来?(一) 509
  • 44.有多少爱可以胡来?(二) 513
  • 45.当梦醒了天晴了 518
  • 46.其实世上本有路,走的人多了,也便没了路 522
  • ※附录 Linux那些事儿之我是sysfs

  • 1.sysfs初探 526
  • 2.设备模型 527
  • 2.1 设备底层模型 528
  • 2.2 设备模型上层容器 532
  • 2.3 示例一:usb子系统 535
  • 2.4 示例二:usb storage驱动 541
  • 3.sysfs文件系统 547
  • 3.1 文件系统 547
  • 3.2 sysfs 553
  • 3.3 file_oprations 557