<tbody id="csoip"><input id="csoip"></input></tbody>
<form id="csoip"><tr id="csoip"></tr></form>
<strong id="csoip"><pre id="csoip"></pre></strong>
    1. <tbody id="csoip"><track id="csoip"></track></tbody>
      
      
      <rp id="csoip"></rp><legend id="csoip"><center id="csoip"><dl id="csoip"></dl></center></legend>

      <dd id="csoip"></dd>
    2. <em id="csoip"></em> <tbody id="csoip"><pre id="csoip"></pre></tbody>

    3. <em id="csoip"></em>

    4. <dd id="csoip"></dd>
      <tbody id="csoip"></tbody>

      當前位置: 首頁 > 原創圖書 >精通Linux 設備驅動程序開發圖書介紹

      精通Linux 設備驅動程序開發圖書介紹
      • 圖書名稱 :    精通Linux 設備驅動程序開發
      • 作       者 :    華清遠見
      • 出版單位 :    人民郵電出版社
      • 叢書名稱 :    圖靈程序設計叢書 操作系統
      • 出版日期 :    2010年6月
      編輯推薦

      · 全面深入的Linux設備驅動程序名著
      · 世界級Linux技術大師力作
      · 大量底層技術內幕首次公開

      圖書簡介

            本書是Linux設備驅動程序開發領域的權威著作。全書基于2.6內核,不僅透徹講解了基本概念和技術,更深入探討了其他書沒有涵蓋或淺嘗輒止的許多重要主題和關鍵難點,如PCMCIA、I2C和USB等外部總線以及視頻、音頻、無線連網和閃存等驅動程序的開發,并講解了相關的內核源碼文件,給出了完整的開發實例。
            本書適合中高級Linux開發人員閱讀。

      圖書目錄

      精通Linux 設備驅動程序開發章節:
      第1章 引言 1
      1.1 演進 1
      1.2 GNU Copyleft 2
      1.3 kernel.org 2
      1.4 郵件列表和論壇 3
      1.5 Linux發行版 3
      1.6 查看源代碼 4
      1.7 編譯內核 7
      1.8 可加載的模塊 8
      1.9 整裝待發 9
      第2章 內核 11
      2.1 啟動過程 11
      2.1.1 BIOS-provided physical RAM map 12
      2.1.2 758MB LOWMEM available 14
      2.1.3 Kernel command line: ro
      root=/dev/hda1 14
      2.1.4 Calibrating delay...1197.46
      BogoMIPS (lpj=2394935) 15
      2.1.5 Checking HLT instruction 16
      2.1.6 NET: Registered protocol family 2 17
      2.1.7 Freeing initrd memory: 387k freed 17
      2.1.8 io scheduler anticipatory
      registered (default) 18
      2.1.9 Setting up standard PCI resources 18
      2.1.10 EXT3-fs: mounted filesystem 19
      2.1.11 INIT: version 2.85 booting 19
      2.2 內核模式和用戶模式 20
      2.3 進程上下文和中斷上下文 20
      2.4 內核定時器 21
      2.4.1 HZ和Jiffies 21
      2.4.2 長延時 22
      2.4.3 短延時 24
      2.4.4 Pentium時間戳計數器 24
      2.4.5 實時鐘 25
      2.5 內核中的并發 26
      2.5.1 自旋鎖和互斥體 26
      2.5.2 原子操作 30
      2.5.3 讀—寫鎖 31
      2.5.4 調試 32
      2.6 proc文件系統 32
      2.7 內存分配 33
      2.8 查看源代碼 34
      第3章 內核組件 37
      3.1 內核線程 37
      3.1.1 創建內核線程 37
      3.1.2 進程狀態和等待隊列 41
      3.1.3 用戶模式輔助程序 42
      3.2 輔助接口 43
      3.2.1 鏈表 44
      3.2.2 散列鏈表 49
      3.2.3 工作隊列 49
      3.2.4 通知鏈 51
      3.2.5 完成接口 54
      3.2.6 kthread輔助接口 56
      3.2.7 錯誤處理助手 57
      3.3 查看源代碼 58
      第4章 基本概念 61
      4.1 設備和驅動程序介紹 61
      4.2 中斷處理 63
      4.2.1 中斷上下文 63
      4.2.2 分配IRQ號 64
      4.2.3 設備實例:導航桿 65
      4.2.4 softirq和tasklet 68
      4.3 Linux設備模型 71
      4.3.1 udev 71
      4.3.2 sysfs、kobject和設備類 73
      4.3.3 熱插拔和冷插拔 76
      4.3.4 微碼下載 76
      4.3.5 模塊自動加載 77
      4.4 內存屏障 78
      4.5 電源管理 79
      4.6 查看源代碼 79
      第5章 字符設備驅動程序 81
      5.1 字符設備驅動程序基礎 81
      5.2 設備實例:系統CMOS 82
      5.2.1 驅動程序初始化 83
      5.2.2 打開與釋放 86
      5.2.3 數據交換 88
      5.2.4 查找 92
      5.2.5 控制 94
      5.3 檢測數據可用性 95
      5.3.1 輪詢 95
      5.3.2 Fasync 98
      5.4 和并行端口交互 99
      5.5 RTC子系統 108
      5.6 偽字符驅動程序 109
      5.7 混雜驅動程序 110
      5.8 字符設備驅動程序注意事項 115
      5.9 查看源代碼 115
      第6章 串行設備驅動程序 118
      6.1 層次架構 119
      6.2 UART驅動程序 121
      6.2.1 設備實例:手機 122
      6.2.2 RS-485 132
      6.3 TTY驅動程序 132
      6.4 線路規程 134
      6.5 查看源代碼 141
      第7章 輸入設備驅動程序 143
      7.1 輸入事件驅動程序 144
      7.2 輸入設備驅動程序 150
      7.2.1 serio 150
      7.2.2 鍵盤 150
      7.2.3 鼠標 152
      7.2.4 觸摸控制器 157
      7.2.5 加速度傳感器 158
      7.2.6 輸出事件 158
      7.3 調試 159
      7.4 查看源代碼 160
      第8章 I2C協議 161
      8.1 I2C/SMBus是什么 161
      8.2 I2C核心 162
      8.3 總線事務 164
      8.4 設備實例:EEPROM 164
      8.4.1 初始化 165
      8.4.2 探測設備 167
      8.4.3 檢查適配器的功能 169
      8.4.4 訪問設備 169
      8.4.5 其他函數 170
      8.5 設備實例:實時時鐘 171
      8.6 i2c-dev 174
      8.7 使用LM-Sensors監控硬件 174
      8.8 SPI總線 174
      8.9 1-Wire總線 176
      8.10 調試 176
      8.11 查看源代碼 176
      第9章 PCMCIA和CF 179
      9.1 PCMCIA/CF是什么 179
      9.2 Linux-PCMCIA子系統 181
      9.3 主機控制器驅動程序 183
      9.4 PCMCIA核心 183
      9.5 驅動程序服務 183
      9.6 客戶驅動程序 183
      9.6.1 數據結構 184
      9.6.2 設備實例:PCMCIA卡 185
      9.7 將零件組裝在一起 188
      9.8 PCMCIA存儲 189
      9.9 串行PCMCIA 189
      9.10 調試 191
      9.11 查看源代碼 191
      第10章 PCI 193
      10.1 PCI系列 193
      10.2 尋址和識別 195
      10.3 訪問PCI 198
      10.3.1 配置區 198
      10.3.2 I/O和內存 199
      10.4 DMA 200
      10.5 設備實例:以太網—調制解調器卡 203
      10.5.1 初始化和探測 203
      10.5.2 數據傳輸 209
      10.6 調試 214
      10.7 查看源代碼 214
      第11章 USB 216
      11.1 USB體系架構 216
      11.1.1 總線速度 218
      11.1.2 主機控制器 218
      11.1.3 傳輸模式 219
      11.1.4 尋址 219
      11.2 Linux-USB子系統 220
      11.3 驅動程序的數據結構 221
      11.3.1 usb_device結構體 221
      11.3.2 URB 222
      11.3.3 管道 223
      11.3.4 描述符結構 223
      11.4 枚舉 225
      11.5 設備實例:遙測卡 225
      11.5.1 初始化和探測過程 226
      11.5.2 卡寄存器的訪問 230
      11.5.3 數據傳輸 233
      11.6 類驅動程序 236
      11.6.1 大容量存儲設備 236
      11.6.2 USB-串行端口轉換器 241
      11.6.3 人機接口設備 243
      11.6.4 藍牙 243
      11.7 gadget驅動程序 243
      11.8 調試 244
      11.9 查看源代碼 245
      第12章 視頻驅動程序 247
      12.1 顯示架構 247
      12.2 Linux視頻子系統 249
      12.3 顯示參數 251
      12.4 幀緩沖API 252
      12.5 幀緩沖驅動程序 254
      12.6 控制臺驅動程序 265
      12.6.1 設備實例:手機 266
      12.6.2 啟動logo 270
      12.7 調試 270
      12.8 查看源代碼 271
      第13章 音頻驅動程序 273
      13.1 音頻架構 273
      13.2 Linux聲音子系統 275
      13.3 設備實例:MP3播放器 277
      13.3.1 驅動程序函數和結構體 278
      13.3.2 ALSA編程 287
      13.4 調試 288
      13.5 查看源代碼 289
      第14章 塊設備驅動程序 291
      14.1 存儲技術 291
      14.2 Linux塊I/O層 295
      14.3 I/O調度器 295
      14.4 塊驅動程序數據結構和方法 296
      14.5 設備實例:簡單存儲控制器 298
      14.5.1 初始化 299
      14.5.2 塊設備操作 301
      14.5.3 磁盤訪問 302
      14.6 高級主題 304
      14.7 調試 306
      14.8 查看源代碼 306
      第15章 網絡接口卡 308
      15.1 驅動程序數據結構 308
      15.1.1 套接字緩沖區 309
      15.1.2 網絡設備接口 310
      15.1.3 激活 311
      15.1.4 數據傳輸 311
      15.1.5 看門狗 311
      15.1.6 統計 312
      15.1.7 配置 313
      15.1.8 總線相關內容 314
      15.2 與協議層會話 314
      15.2.1 接收路徑 314
      15.2.2 發送路徑 315
      15.2.3 流量控制 315
      15.3 緩沖區管理和并發控制 315
      15.4 設備實例:以太網NIC 316
      15.5 ISA網絡驅動程序 321
      15.6 ATM 321
      15.7 網絡吞吐量 322
      15.7.1 驅動程序性能 322
      15.7.2 協議性能 323
      15.8 查看源代碼 324
      第16章 Linux無線設備驅動 326
      16.1 藍牙 327
      16.1.1 BlueZ 328
      16.1.2 設備實例:CF卡 329
      16.1.3 設備實例:USB適配器 330
      16.1.4 RFCOMM 331
      16.1.5 網絡 332
      16.1.6 HID 334
      16.1.7 音頻 334
      16.1.8 調試 334
      16.1.9 關于源代碼 334
      16.2 紅外 335
      16.2.1 Linux-IrDA 335
      16.2.2 設備實例:超級I/O芯片 337
      16.2.3 設備實例:IR Dongle 338
      16.2.4 IrCOMM 340
      16.2.5 聯網 340
      16.2.6 IrDA套接字 341
      16.2.7 LIRC 341
      16.2.8 查看源代碼 342
      16.3 WiFi 343
      16.3.1 配置 343
      16.3.2 設備驅動程序 346
      16.3.3 查看源代碼 347
      16.4 蜂窩網絡 347
      16.4.1 GPRS 347
      16.4.2 CDMA 349
      16.5 當前趨勢 350
      第17章 存儲技術設備 352
      17.1 什么是閃存 352
      17.2 Linux-MTD子系統 353
      17.3 映射驅動程序 353
      17.4 NOR芯片驅動程序 358
      17.5 NAND芯片驅動程序 359
      17.6 用戶模塊 361
      17.6.1 塊設備模擬 361
      17.6.2 字符設備模擬 361
      17.6.3 JFFS2 362
      17.6.4 YAFFS2 363
      17.7 MTD工具 363
      17.8 配置MTD 363
      17.9 XIP 364
      17.10 FWH 364
      17.11 調試 367
      17.12 查看源代碼 367
      第18章 嵌入式Linux 369
      18.1 挑戰 369
      18.2 元器件選擇 370
      18.3 工具鏈 371
      18.4 Bootloader 372
      18.5 內存布局 374
      18.6 內核移植 375
      18.7 嵌入式驅動程序 376
      18.7.1 閃存 377
      18.7.2 UART 377
      18.7.3 按鈕和滾輪 378
      18.7.4 PCMCIA/CF 378
      18.7.5 SD/MMC 378
      18.7.6 USB 378
      18.7.7 RTC 378
      18.7.8 音頻 378
      18.7.9 觸摸屏 379
      18.7.10 視頻 379
      18.7.11 CPLD/FPGA 379
      18.7.12 連接性 379
      18.7.13 專用領域電子器件 380
      18.7.14 更多驅動程序 380
      18.8 根文件系統 380
      18.8.1 NFS掛載的根文件系統 381
      18.8.2 緊湊型中間件 382
      18.9 測試基礎設施 383
      18.10 調試 383
      18.10.1 電路板返工 384
      18.10.2 調試器 385
      第19章 用戶空間的驅動程序 386
      19.1 進程調度和響應時間 387
      19.1.1 原先的調度器 387
      19.1.2 O(1)調度器 387
      19.1.3 CFS 388
      19.1.4 響應時間 388
      19.2 訪問I/O區域 390
      19.3 訪問內存區域 393
      19.4 用戶模式SCSI 395
      19.5 用戶模式USB 397
      19.6 用戶模式I2C 400
      19.7 UIO 401
      19.8 查看源代碼 402
      第20章 其他設備和驅動程序 403
      20.1 ECC報告 403
      20.2 頻率調整 407
      20.3 嵌入式控制器 408
      20.4 ACPI 408
      20.5 ISA與MCA 410
      20.6 火線 410
      20.7 智能輸入/輸出 411
      20.8 業余無線電 411
      20.9 VoIP 411
      20.10 高速互聯 412
      20.10.1 InfiniBand 413
      20.10.2 RapidIO 413
      20.10.3 光纖通道 413
      20.10.4 iSCSI 413
      第21章 調試設備驅動程序 414
      21.1 kdb 414
      21.1.1 進入調試器 415
      21.1.2 kdb 415
      21.1.3 kgdb 417
      21.1.4 gdb 420
      21.1.5 JTAG調試器 421
      21.1.6 下載 423
      21.2 內核探測器 423
      21.2.1 kprobe 423
      21.2.2 jprobe 427
      21.2.3 返回探針 429
      21.2.4 局限性 431
      21.2.5 查看源代碼 431
      21.3 kexec與kdump 431
      21.3.1 kexec 432
      21.3.2 kdump與kexec協同工作 432
      21.3.3 kdump 433
      21.3.4 查看源代碼 437
      21.4 性能剖析 437
      21.4.1 利用OProfile剖析內核性能 438
      21.4.2 利用gprof剖析應用程序性能 440
      21.5 跟蹤 441
      21.6 LTP 444
      21.7 UML 444
      21.8 診斷工具 444
      21.9 內核修改配置選項 444
      21.10 測試設備 445
      第22章 維護與發布 446
      22.1 代碼風格 446
      22.2 修改標記 446
      22.3 版本控制 447
      22.4 一致性檢查 447
      22.5 構建腳本 448
      22.6 可移植代碼 450
      第23章 結束語 451
      23.1 流程一覽表 451
      23.2 下一步該做什么 452
      附錄A Linux匯編 453
      附錄B Linux與BIOS 457
      附錄C seq文件 461

      亚洲午夜国产精品无码中文字