Linux驅動入門(簡體書)
商品資訊
系列名:嵌入式技術與應用叢書
ISBN13:9787121224614
出版社:電子工業出版社
作者:魏清
出版日:2014/03/01
裝訂/頁數:平裝/308頁
規格:23.5cm*16.8cm (高/寬)
版次:1
商品簡介
目次
商品簡介
本書主要是從Linux內核、Linux匯流排和Linux子系統三個角度對Linux驅動進行介紹的,然後對字元設備、塊設備和網路設備也分別做了大致介紹。從內容上來講,本書包括4個部分:Linux內核部分(第1~6章),主要包括Linux進程調度與進程管理、中斷機制、定時機制、併發與同步機制及記憶體管理,通過對本篇內容的學習,讀者可以掌握Linux內核的基本概念;Linux匯流排部分(第7~13章),主要包括Platfrom匯流排、單匯流排、I2C匯流排、串口匯流排、PCI匯流排、SPI匯流排和USB匯流排,通過對本篇內容的學習,讀者可以掌握設備是如何掛載到Linux內核匯流排上的;Linux子系統部分(第14~19章),主要包括Keyboard子系統,LED子系統、RTC子系統、Input子系統、Backlight子系統、Hwmon子系統,通過對本篇內容的學習,讀者可以掌握如何使用內核中現有的子系統,給設備編寫驅動;Linux驅動部分(第20~24章),主要包括看門狗驅動、LCD驅動、觸控式螢幕驅動、塊設備驅動和網路設備驅動,通過對本篇內容的學習,讀者可以掌握具體的設備驅動程式的設計方法。
目次
目 錄
第1章 內核基礎 1
1.1 Linux內核組成 1
1.2 Linux內核的引導 2
1.3 處理器 3
1.4 存儲器 4
第2章 進程管理 5
2.1 進程調度 5
2.2 Linux調度的實現 5
2.3 搶占和上下文切換 6
2.4 進程概念 6
2.5 進程上下文 7
2.6 進程與線程的創建 7
2.7 孤兒進程 8
2.8 系統調用 8
2.9 內核設計系統調用 9
第3章 中斷處理 11
3.1 中斷和中斷處理 11
3.2 中斷的下半部分 11
3.3 中斷下半部分的實現 12
第4章 定時計數 14
4.1 定時器基本概念 14
4.2 動態定時器的使用 15
第5章 并發同步 16
5.1 內核同步與死鎖問題 16
5.2 解決并發同步的方法 17
第6章 內存管理 19
6.1 內存管理中基本概念 19
6.2 申請內存的幾種方法 19
6.3 內核棧 20
6.4 進程地址空間的基本概念 21
6.5 創建和撤銷內存區域 22
6.6 頁表 22
6.7 頁高速緩存與頁回寫 23
第7章 Platform總線 25
7.1 Platform設備驅動概念 25
7.1.1 Platform總線 25
7.1.2 Platform設備 26
7.1.3 Platform驅動 29
7.2 平臺設備的資源 29
7.2.1 平臺數據和私有數據的區別 29
7.2.2 Platform設備資源的讀取 30
7.3 平臺設備驅動測試 30
7.3.1 Platform設備模塊代碼 31
7.3.2 Platform驅動模塊代碼 32
7.3.3 應用層測試代碼 37
第8章 單總線 39
8.1 單總線驅動概述 39
8.2 單總線驅動移植 39
8.3 單總線驅動內核代碼分析 40
8.3.1 master驅動分析 40
8.3.2 slave驅動分析 48
8.4 單總線驅動測試 52
8.5 脫離子系統的DS18B20驅動 53
第9章 I2C總線 58
9.1 系統理論 58
9.1.1 I2C驅動體系概述 58
9.1.2 驅動工程師需要做的事 58
9.2 內核代碼 58
9.2.1 內核/drivers/i2c目錄下文件分析 58
9.2.2 I2C核心 59
9.2.3 I2C總線驅動 59
9.2.4 I2C設備驅動 73
9.3 測試代碼 80
第10章 串口總線 83
10.1 系統理論 83
10.2 串口內核配置 83
10.3 UART層內核代碼 85
10.4 TTY層內核代碼 88
10.5 線路規程內核代碼 97
10.6 串口測試代碼 103
第11章 PCI總線 109
11.1 PCI總線理論 109
11.1.1 PCI總線的特點 109
11.1.2 PCI設備概述 109
11.1.3 查詢PCI總線和設備的命令 110
11.1.4 PCI總線架構 110
11.2 PCI驅動 111
11.2.1 PCI尋找空間 111
11.2.2 PCI總線支持的設備 112
11.2.3 PCI驅動其他API 112
11.3 PCI驅動模型 112
11.4 PCI設備的枚舉過程 114
第12章 SPI總線 132
12.1 SPI理論介紹 132
12.2 SPI驅動移植 132
12.3 SPI設備和驅動的注冊 135
12.3.1 SPI主控設備的注冊 135
12.3.2 SPI接口設備的添加 136
12.3.3 SPI主控設備驅動的注冊 137
12.3.4 SPI接口設備的注冊 137
12.3.5 SPI接口設備驅動的注冊 138
12.4 SPI內核代碼分析 139
12.5 SPI測試代碼 159
第13章 USB總線 162
13.1 USB總線理論 162
13.1.1 USB概述 162
13.1.2 USB主機控制器 162
13.1.3 USB設備與USB驅動的匹配 162
13.1.4 USB設備的邏輯結構和端點的傳輸方式 163
13.1.5 USB的URB請求塊 163
13.1.6 USB的枚舉過程 164
13.2 USB總線驅動分析 164
13.2.1 USB驅動框架usb-skeleton.c 164
13.2.2 USB鼠標驅動 usbmouse.c 174
13.2.3 USB鍵盤驅動usbkbd.c 178
13.2.4 U盤驅動分析 183
13.3 U盤驅動測試 197
第14章 Keyboard子系統 198
14.1 Keyboard子系統移植與分析 198
14.2 Keyboard驅動測試 200
第15章 LED子系統 201
15.1 LED子系統移植與分析 201
15.2 LED驅動測試 205
第16章 RTC子系統 206
16.1 RTC子系統的移植與分析 206
16.2 RTC驅動測試 210
第17章 Input子系統 211
17.1 Input子系統系統理論 211
17.1.1 Input子系統概述 211
17.1.2 Input子系統幾個重要數據結構 211
17.1.3 Input子系統核心層和事件處理層函數概述 214
17.2 內核代碼 214
17.2.1 輸入子系統設備驅動層 214
17.2.2 輸入子系統核心層 224
17.2.3 輸入子系統事件處理層 227
17.3 測試代碼 229
17.3.1 設備驅動層代碼 230
17.3.2 應用層測試代碼 232
17.3.3 測試過程和結果 233
第18章 Backlight背光子系統 234
18.1 Backlight背光子系統概述 234
18.2 PWM核心驅動 234
18.3 Backlight核心驅動 239
18.4 基于PWM&Backlight的蜂鳴器驅動 242
18.5 驅動測試 246
第19章 Hwmon子系統 247
19.1 Hwmon子系統概述 247
19.2 ADC核心驅動 247
19.3 Hwmon核心驅動 251
19.4 基于ADC&Hwmon的A/D驅動 252
19.5 驅動測試 258
第20章 看門狗驅動 259
20.1 看門狗驅動移植與分析 259
20.2 看門狗驅動測試 260
第21章 LCD驅動 261
21.1 LCD屏理論 261
21.1.1 LCD屏基本概念 261
21.1.2 幀緩沖的理解 261
21.2 Mini2440的X35型LCD移植 262
21.3 LCD文件層和驅動層設計思路 264
21.3.1 LCD驅動中幾個重要的數據結構 265
21.3.2 LCD驅動層 268
21.3.3 LCD文件層 279
21.4 LCD驅動測試 284
第22章 觸摸屏驅動 286
22.1 觸摸屏理論概述 286
22.2 觸摸屏驅動分析 286
22.3 觸摸屏驅動測試 294
第23章 Linux下的塊設備驅動 296
23.1 塊設備驅動概論 296
23.2 塊設備驅動中幾個重要的數據結構 296
23.3 使用I/O調度的塊設備驅動 298
23.4 塊設備驅動的測試 302
第24章 Linux下的網絡設備驅動 305
24.1 網絡設備驅動基礎 305
24.1.1 以太網基礎理論 305
24.1.2 Linux網絡驅動層次 305
24.2 網絡設備驅動移植 307
24.3 網絡設備驅動測試 308
參考文獻 309
第1章 內核基礎 1
1.1 Linux內核組成 1
1.2 Linux內核的引導 2
1.3 處理器 3
1.4 存儲器 4
第2章 進程管理 5
2.1 進程調度 5
2.2 Linux調度的實現 5
2.3 搶占和上下文切換 6
2.4 進程概念 6
2.5 進程上下文 7
2.6 進程與線程的創建 7
2.7 孤兒進程 8
2.8 系統調用 8
2.9 內核設計系統調用 9
第3章 中斷處理 11
3.1 中斷和中斷處理 11
3.2 中斷的下半部分 11
3.3 中斷下半部分的實現 12
第4章 定時計數 14
4.1 定時器基本概念 14
4.2 動態定時器的使用 15
第5章 并發同步 16
5.1 內核同步與死鎖問題 16
5.2 解決并發同步的方法 17
第6章 內存管理 19
6.1 內存管理中基本概念 19
6.2 申請內存的幾種方法 19
6.3 內核棧 20
6.4 進程地址空間的基本概念 21
6.5 創建和撤銷內存區域 22
6.6 頁表 22
6.7 頁高速緩存與頁回寫 23
第7章 Platform總線 25
7.1 Platform設備驅動概念 25
7.1.1 Platform總線 25
7.1.2 Platform設備 26
7.1.3 Platform驅動 29
7.2 平臺設備的資源 29
7.2.1 平臺數據和私有數據的區別 29
7.2.2 Platform設備資源的讀取 30
7.3 平臺設備驅動測試 30
7.3.1 Platform設備模塊代碼 31
7.3.2 Platform驅動模塊代碼 32
7.3.3 應用層測試代碼 37
第8章 單總線 39
8.1 單總線驅動概述 39
8.2 單總線驅動移植 39
8.3 單總線驅動內核代碼分析 40
8.3.1 master驅動分析 40
8.3.2 slave驅動分析 48
8.4 單總線驅動測試 52
8.5 脫離子系統的DS18B20驅動 53
第9章 I2C總線 58
9.1 系統理論 58
9.1.1 I2C驅動體系概述 58
9.1.2 驅動工程師需要做的事 58
9.2 內核代碼 58
9.2.1 內核/drivers/i2c目錄下文件分析 58
9.2.2 I2C核心 59
9.2.3 I2C總線驅動 59
9.2.4 I2C設備驅動 73
9.3 測試代碼 80
第10章 串口總線 83
10.1 系統理論 83
10.2 串口內核配置 83
10.3 UART層內核代碼 85
10.4 TTY層內核代碼 88
10.5 線路規程內核代碼 97
10.6 串口測試代碼 103
第11章 PCI總線 109
11.1 PCI總線理論 109
11.1.1 PCI總線的特點 109
11.1.2 PCI設備概述 109
11.1.3 查詢PCI總線和設備的命令 110
11.1.4 PCI總線架構 110
11.2 PCI驅動 111
11.2.1 PCI尋找空間 111
11.2.2 PCI總線支持的設備 112
11.2.3 PCI驅動其他API 112
11.3 PCI驅動模型 112
11.4 PCI設備的枚舉過程 114
第12章 SPI總線 132
12.1 SPI理論介紹 132
12.2 SPI驅動移植 132
12.3 SPI設備和驅動的注冊 135
12.3.1 SPI主控設備的注冊 135
12.3.2 SPI接口設備的添加 136
12.3.3 SPI主控設備驅動的注冊 137
12.3.4 SPI接口設備的注冊 137
12.3.5 SPI接口設備驅動的注冊 138
12.4 SPI內核代碼分析 139
12.5 SPI測試代碼 159
第13章 USB總線 162
13.1 USB總線理論 162
13.1.1 USB概述 162
13.1.2 USB主機控制器 162
13.1.3 USB設備與USB驅動的匹配 162
13.1.4 USB設備的邏輯結構和端點的傳輸方式 163
13.1.5 USB的URB請求塊 163
13.1.6 USB的枚舉過程 164
13.2 USB總線驅動分析 164
13.2.1 USB驅動框架usb-skeleton.c 164
13.2.2 USB鼠標驅動 usbmouse.c 174
13.2.3 USB鍵盤驅動usbkbd.c 178
13.2.4 U盤驅動分析 183
13.3 U盤驅動測試 197
第14章 Keyboard子系統 198
14.1 Keyboard子系統移植與分析 198
14.2 Keyboard驅動測試 200
第15章 LED子系統 201
15.1 LED子系統移植與分析 201
15.2 LED驅動測試 205
第16章 RTC子系統 206
16.1 RTC子系統的移植與分析 206
16.2 RTC驅動測試 210
第17章 Input子系統 211
17.1 Input子系統系統理論 211
17.1.1 Input子系統概述 211
17.1.2 Input子系統幾個重要數據結構 211
17.1.3 Input子系統核心層和事件處理層函數概述 214
17.2 內核代碼 214
17.2.1 輸入子系統設備驅動層 214
17.2.2 輸入子系統核心層 224
17.2.3 輸入子系統事件處理層 227
17.3 測試代碼 229
17.3.1 設備驅動層代碼 230
17.3.2 應用層測試代碼 232
17.3.3 測試過程和結果 233
第18章 Backlight背光子系統 234
18.1 Backlight背光子系統概述 234
18.2 PWM核心驅動 234
18.3 Backlight核心驅動 239
18.4 基于PWM&Backlight的蜂鳴器驅動 242
18.5 驅動測試 246
第19章 Hwmon子系統 247
19.1 Hwmon子系統概述 247
19.2 ADC核心驅動 247
19.3 Hwmon核心驅動 251
19.4 基于ADC&Hwmon的A/D驅動 252
19.5 驅動測試 258
第20章 看門狗驅動 259
20.1 看門狗驅動移植與分析 259
20.2 看門狗驅動測試 260
第21章 LCD驅動 261
21.1 LCD屏理論 261
21.1.1 LCD屏基本概念 261
21.1.2 幀緩沖的理解 261
21.2 Mini2440的X35型LCD移植 262
21.3 LCD文件層和驅動層設計思路 264
21.3.1 LCD驅動中幾個重要的數據結構 265
21.3.2 LCD驅動層 268
21.3.3 LCD文件層 279
21.4 LCD驅動測試 284
第22章 觸摸屏驅動 286
22.1 觸摸屏理論概述 286
22.2 觸摸屏驅動分析 286
22.3 觸摸屏驅動測試 294
第23章 Linux下的塊設備驅動 296
23.1 塊設備驅動概論 296
23.2 塊設備驅動中幾個重要的數據結構 296
23.3 使用I/O調度的塊設備驅動 298
23.4 塊設備驅動的測試 302
第24章 Linux下的網絡設備驅動 305
24.1 網絡設備驅動基礎 305
24.1.1 以太網基礎理論 305
24.1.2 Linux網絡驅動層次 305
24.2 網絡設備驅動移植 307
24.3 網絡設備驅動測試 308
參考文獻 309
主題書展
更多
主題書展
更多書展購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

