當(dāng)前位置: 首頁(yè) > 原創(chuàng)圖書(shū) >嵌入式Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解
內(nèi)容權(quán)威,權(quán)威培訓(xùn)機(jī)構(gòu)多年經(jīng)驗(yàn)的總結(jié)
主題全面,覆蓋嵌入式 Linux 設(shè)備驅(qū)動(dòng)開(kāi)發(fā)的方方面面
實(shí)例豐富,所有驅(qū)動(dòng)均用實(shí)例進(jìn)行講解
華清遠(yuǎn)見(jiàn)嵌入式培訓(xùn)中心指定教材
嵌入式Linux設(shè)備驅(qū)動(dòng)是嵌入式系統(tǒng)中十分重要的組成部分。本書(shū)詳細(xì)講解了嵌入式Linux的各種設(shè)備驅(qū)動(dòng),包括字符設(shè)備驅(qū)動(dòng)、數(shù)字顯示驅(qū)動(dòng)、鍵盤(pán)驅(qū)動(dòng)、A/D驅(qū)動(dòng)、D/A驅(qū)動(dòng)、LCD驅(qū)動(dòng)、觸摸屏驅(qū)動(dòng)、CAN總線驅(qū)動(dòng)、IIC總線驅(qū)動(dòng)、音頻總線驅(qū)動(dòng)、IDE接口驅(qū)動(dòng)、閃存芯片驅(qū)動(dòng)、USB驅(qū)動(dòng)、串口驅(qū)動(dòng)、網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)等,并結(jié)合大量實(shí)例進(jìn)行講解,讀者可以快速熟悉和掌握相關(guān)知識(shí)。 本書(shū)內(nèi)容豐富,專業(yè)性和實(shí)用性強(qiáng),適合嵌入式系統(tǒng)設(shè)計(jì)人員以及高校相關(guān)專業(yè)師生學(xué)習(xí)和使用。
第1章 嵌入式系統(tǒng)與驅(qū)動(dòng)程序 1
本章目標(biāo) 1
1.1 嵌入式系統(tǒng)概述 1
1.1.1 嵌入式系統(tǒng)的概念 1
1.1.2 嵌入式系統(tǒng)的特點(diǎn) 2
1.1.3 嵌入式系統(tǒng)的體系結(jié)構(gòu) 2
1.2 嵌入式處理器介紹 4
1.2.1 嵌入式處理器分類 4
1.2.2 ARM概述 5
1.2.3 ARM系列芯片簡(jiǎn)介 5
1.3 嵌入式操作系統(tǒng)介紹 7
1.3.1 主流嵌入式操作系統(tǒng) 7
1.3.2 嵌入式系統(tǒng)的發(fā)展?fàn)顩r 8
1.3.3 嵌入式Linux介紹 8
1.3.4 嵌入式系統(tǒng)開(kāi)發(fā)環(huán)境的建立 9
1.3.5 嵌入式軟件開(kāi)發(fā) 10
1.4 嵌入式Linux驅(qū)動(dòng)程序 12
1.4.1 嵌入式Linux的內(nèi)核空間和用戶空間 12
1.4.2 嵌入式Linux的文件系統(tǒng) 12
1.4.3 嵌入式Linux的設(shè)備管理 14
1.4.4 嵌入式Linux的驅(qū)動(dòng)程序 16
1.5 知識(shí)索引 20
1.6 思考與練習(xí) 21
第2章 簡(jiǎn)單的字符設(shè)備驅(qū)動(dòng)程序 23
本章目標(biāo) 23
2.1 嵌入式Linux字符設(shè)備的驅(qū)動(dòng)程序結(jié)構(gòu) 23
2.1.1 嵌入式Linux驅(qū)動(dòng)程序常用的頭文件 24
2.1.2 File_operations結(jié)構(gòu)體 24
2.1.3 字符設(shè)備驅(qū)動(dòng)程序的入口 25
2.1.4 驅(qū)動(dòng)程序的設(shè)備注冊(cè) 26
2.2 設(shè)備驅(qū)動(dòng)程序中的具體問(wèn)題 27
2.2.1 I/O端口 28
2.2.2 內(nèi)存操作 29
2.2.3 中斷處理 29
2.3 LED的驅(qū)動(dòng)程序?qū)嵗皽y(cè)試 30
2.3.1 LED I/O端口設(shè)置 30
2.3.2 LED硬件電路設(shè)計(jì) 32
2.3.3 LED驅(qū)動(dòng)程序設(shè)計(jì) 33
2.3.4 LED測(cè)試程序設(shè)計(jì) 36
2.4 嵌入式Linux中斷處理驅(qū)動(dòng)程序及測(cè)試 37
2.4.1 中斷處理過(guò)程 37
2.4.2 中斷向量表 39
2.4.3 中斷的處理模式 39
2.4.4 中斷的優(yōu)先級(jí) 40
2.4.5 中斷的嵌套 40
2.4.6 中斷源的擴(kuò)展 40
2.4.7 中斷控制寄存器的設(shè)置 41
2.5 按鍵中斷的驅(qū)動(dòng)程序?qū)嵗?5
2.5.1 按鍵中斷的電路設(shè)計(jì) 45
2.5.2 按鍵中斷的驅(qū)動(dòng)程序設(shè)計(jì) 45
2.6 知識(shí)索引 48
2.7 思考與練習(xí) 49
第3章 數(shù)字顯示驅(qū)動(dòng)程序 50
本章目標(biāo) 50
3.1 數(shù)字顯示器 50
3.1.1 數(shù)碼管簡(jiǎn)介 50
3.1.2 數(shù)碼管的分類 51
3.1.3 數(shù)碼管顯示原理 51
3.2 數(shù)碼管顯示電路的硬件設(shè)計(jì) 52
3.2.1 譯碼器的使用 52
3.2.2 數(shù)碼管的驅(qū)動(dòng)方式 53
3.2.3 串/并變換的譯碼設(shè)計(jì) 55
3.3 數(shù)碼管驅(qū)動(dòng)程序?qū)嵗?6
3.3.1 驅(qū)動(dòng)程序的初始化和卸載模塊 56
3.3.2 文件操作結(jié)構(gòu)模塊 57
3.3.3 數(shù)碼管的打開(kāi)模塊 57
3.3.4 數(shù)碼管的讀寫(xiě)模塊 58
3.3.5 數(shù)碼管的I/O控制模塊 58
3.3.6 數(shù)碼管的退出模塊 58
3.3.7 驅(qū)動(dòng)程序的模塊加載和卸載 59
3.4 數(shù)碼管顯示電路測(cè)試程序設(shè)計(jì) 60
3.4.1 數(shù)碼管測(cè)試設(shè)計(jì) 60
3.4.2 數(shù)碼管測(cè)試程序 60
3.4.3 數(shù)碼管測(cè)試效果 61
3.5 知識(shí)索引 61
3.6 思考與練習(xí) 62
第4章 鍵盤(pán)驅(qū)動(dòng)程序 63
本章目標(biāo) 63
4.1 鍵盤(pán)接口概述 63
4.1.1 鍵盤(pán)的分類 63
4.1.2 鍵盤(pán)的防抖 65
4.1.3 鍵盤(pán)的掃描 65
4.1.4 鍵盤(pán)的緩沖算法 67
4.2 鍵盤(pán)的驅(qū)動(dòng)設(shè)計(jì)實(shí)例 67
4.2.1 鎖存器和緩沖器擴(kuò)展鍵盤(pán) 67
4.2.2 鎖存器和緩沖器的接口 68
4.2.3 鎖存器和緩沖器擴(kuò)展鍵盤(pán)驅(qū)動(dòng)程序設(shè)計(jì) 69
4.2.4 鎖存器和緩沖器擴(kuò)展鍵盤(pán)測(cè)試程序設(shè)計(jì) 71
4.3 智能控制芯片HD7279擴(kuò)展鍵盤(pán) 72
4.3.1 HD7279的電路設(shè)計(jì) 72
4.3.2 HD7279的指令介紹 73
4.3.3 HD7279的串行接口 74
4.3.4 HD7279的驅(qū)動(dòng)程序設(shè)計(jì) 75
4.3.5 HD7279的測(cè)試程序設(shè)計(jì) 84
4.4 知識(shí)索引 85
4.5 思考與練習(xí) 85
第5章 A/D驅(qū)動(dòng)程序 86
本章目標(biāo) 86
5.1 A/D轉(zhuǎn)換的過(guò)程 86
5.1.1 采樣和保持 86
5.1.2 量化和編碼 88
5.1.3 ADC的分類 89
5.2 A/D轉(zhuǎn)換器的基本原理 89
5.2.1 逐次逼近型A/D轉(zhuǎn)換器 89
5.2.2 雙積分型A/D轉(zhuǎn)換器 90
5.2.3 V/F和F/V型轉(zhuǎn)換器 93
5.2.4 其他A/D轉(zhuǎn)換器 95
5.3 A/D轉(zhuǎn)換器接口技術(shù) 97
5.3.1 ADC的主要參數(shù)及意義 97
5.3.2 ADC的電路選擇方法 98
5.3.3 ADC實(shí)際應(yīng)用中的問(wèn)題 99
5.4 S3C2410 A/D轉(zhuǎn)換驅(qū)動(dòng)設(shè)計(jì)實(shí)例 99
5.4.1 S3C2410的A/D轉(zhuǎn)換電路 99
5.4.2 S3C2410X的A/D轉(zhuǎn)換控制寄存器 100
5.4.3 S3C2410X的A/D轉(zhuǎn)換數(shù)據(jù)寄存器 101
5.4.4 S3C2410X中A/D轉(zhuǎn)換驅(qū)動(dòng)程序的設(shè)計(jì) 102
5.4.5 S3C2410X中A/D轉(zhuǎn)換測(cè)試程序的設(shè)計(jì) 105
5.5 知識(shí)索引 106
5.6 思考與練習(xí) 107
第6章 D/A驅(qū)動(dòng)程序 108
本章目標(biāo) 108
6.1 D/A的原理介紹 108
6.1.1 D/A轉(zhuǎn)換的概念及基本原理 108
6.1.2 電子模擬開(kāi)關(guān) 109
6.1.3 D/A轉(zhuǎn)換器的基本結(jié)構(gòu) 110
6.1.4 D/A轉(zhuǎn)換的靜態(tài)參數(shù) 114
6.1.5 D/A轉(zhuǎn)換的動(dòng)態(tài)參數(shù) 115
6.2 D/A轉(zhuǎn)換的硬件電路設(shè)計(jì) 116
6.2.1 D/A轉(zhuǎn)換的接口技術(shù) 116
6.2.2 D/A轉(zhuǎn)換芯片介紹 117
6.2.3 D/A轉(zhuǎn)換的電路設(shè)計(jì) 118
6.3 D/A轉(zhuǎn)換器的驅(qū)動(dòng)程序?qū)嵗?18
6.3.1 D/A驅(qū)動(dòng)程序中的宏定義 118
6.3.2 D/A的模塊加載 118
6.3.3 D/A轉(zhuǎn)換器的文件操作模塊 119
6.3.4 D/A轉(zhuǎn)換器的讀寫(xiě)控制模塊 120
6.3.5 D/A轉(zhuǎn)換器的打開(kāi)、退出模塊 120
6.4 測(cè)試程序的設(shè)計(jì) 120
6.4.1 D/A測(cè)試程序中的宏定義 121
6.4.2 D/A測(cè)試程序的主函數(shù) 121
6.4.3 D/A測(cè)試程序中的功能函數(shù) 122
6.4.4 D/A測(cè)試程序中的功能打印函數(shù) 123
6.4.5 D/A測(cè)試程序中的波形生成函數(shù) 123
6.4.6 D/A測(cè)試程序的效果 124
6.5 知識(shí)索引 125
6.6 思考與練習(xí) 125
第7章 LCD驅(qū)動(dòng)程序 126
本章目標(biāo) 126
7.1 LCD顯示器概述 126
7.1.1 液晶 126
7.1.2 LCD顯示屏的背光 127
7.1.3 LCD顯示器的分類 127
7.1.4 LCD的顯示原理 127
7.1.5 LCD的驅(qū)動(dòng)方式 130
7.1.6 LCD的常用指標(biāo) 131
7.2 LCD的顯示接口 131
7.2.1 灰度STN的時(shí)序 132
7.2.2 彩色STN的時(shí)序 133
7.2.3 TFT的時(shí)序 134
7.3 嵌入式處理器的LCD控制器 136
7.3.1 LCD控制器 136
7.3.2 LCD控制器的設(shè)置 137
7.3.3 LCD的字符顯示緩存 139
7.4 LCD的驅(qū)動(dòng)程序設(shè)計(jì) 140
7.4.1 LCD驅(qū)動(dòng)程序相關(guān)的宏定義 140
7.4.2 LCD驅(qū)動(dòng)程序的底層操作函數(shù) 142
7.4.3 LCD驅(qū)動(dòng)程序提供的API 145
7.4.4 LCD驅(qū)動(dòng)程序的模塊化加載 151
7.4.5 LCD的測(cè)試程序 152
7.5 基于Framebuffer的LCD驅(qū)動(dòng)程序?qū)嵗?55
7.5.1 Framebuffer概述 155
7.5.2 LCD的電路連接 155
7.5.3 Framebuffer設(shè)備驅(qū)動(dòng)程序的結(jié)構(gòu) 156
7.5.4 Framebuffer設(shè)備驅(qū)動(dòng)程序的設(shè)計(jì) 159
7.5.5 Framebuffer設(shè)備測(cè)試程序的設(shè)計(jì) 164
7.5.6 嵌入式Linux常用的GUI 166
7.6 知識(shí)索引 166
7.7 思考與練習(xí) 167
第8章 觸摸屏驅(qū)動(dòng)程序 168
本章目標(biāo) 168
8.1 觸摸屏概述 168
8.2 觸摸屏的分類 168
8.2.1 電阻技術(shù)觸摸屏 168
8.2.2 表面聲波技術(shù)觸摸屏 169
8.2.3 電容電感技術(shù)觸摸屏 170
8.2.4 紅外線技術(shù)觸摸屏 170
8.3 觸摸屏的特性 171
8.3.1 透明度和色彩失真 171
8.3.2 反光性 171
8.3.3 清晰度 171
8.3.4 漂移 172
8.3.5 檢測(cè)和定位 172
8.4 觸摸屏的硬件電路設(shè)計(jì) 172
8.4.1 電阻式觸摸屏的電路原理 172
8.4.2 電阻式觸摸屏原點(diǎn)的定位 173
8.4.3 電阻式觸摸屏的電路連接 174
8.5 觸摸屏的驅(qū)動(dòng)程序?qū)嵗?76
8.5.1 觸摸屏接口的模式 176
8.5.2 A/D轉(zhuǎn)換和觸摸屏寄存器的設(shè)置 177
8.5.3 觸摸屏的坐標(biāo) 179
8.5.4 觸摸屏的電路連接 180
8.5.5 觸摸屏的驅(qū)動(dòng)程序接口 181
8.6 測(cè)試程序的設(shè)計(jì) 182
8.6.1 觸摸屏的數(shù)據(jù)定義 183
8.6.2 觸摸屏的數(shù)據(jù)處理 183
8.6.3 觸摸屏的運(yùn)行測(cè)試 185
8.7 知識(shí)索引 186
8.8 思考與練習(xí) 187
第9章 CAN總線驅(qū)動(dòng)程序 188
本章目標(biāo) 188
9.1 CAN總線接口設(shè)計(jì) 188
9.1.1 CAN總線概述 188
9.1.2 CAN的工作特點(diǎn)及主要優(yōu)點(diǎn) 189
9.1.3 CAN總線的電氣特征和MAC幀結(jié)構(gòu) 189
9.2 嵌入式處理器上CAN總線接口的擴(kuò)展 190
9.2.1 SJA1000簡(jiǎn)介 190
9.2.2 SJA1000擴(kuò)展 191
9.3 SJA1000擴(kuò)展CAN總線接口的設(shè)計(jì) 192
9.3.1 CAN 控制器SJA1000的操作模式 192
9.3.2 CAN控制器SJA1000的特征功能 193
9.3.3 CAN 控制器SJA1000的Basic CAN模式設(shè)置 194
9.4 SJA1000擴(kuò)展CAN總線接口的通信 196
9.4.1 通過(guò)CAN總線建立通信的步驟 196
9.4.2 SJA1000的初始化 196
9.4.3 驅(qū)動(dòng)程序的結(jié)構(gòu)設(shè)計(jì) 198
9.4.4 驅(qū)動(dòng)程序init、exit、open、close函數(shù)的實(shí)現(xiàn) 200
9.4.5 驅(qū)動(dòng)程序read、write函數(shù)的實(shí)現(xiàn) 201
9.4.6 驅(qū)動(dòng)程序interrupt、ioctl函數(shù)實(shí)現(xiàn) 202
9.4.7 測(cè)試程序的編寫(xiě) 202
9.5 驅(qū)動(dòng)程序的加載 204
9.6 知識(shí)索引 204
9.7 思考與練習(xí) 205
第10章 IIC總線驅(qū)動(dòng)程序 206
本章目標(biāo) 206
10.1 IIC總線概述 206
10.1.1 IIC總線介紹 206
10.1.2 IIC總線引入的原因 206
10.1.3 IIC總線的特點(diǎn) 206
10.1.4 IIC總線的基本結(jié)構(gòu) 207
10.1.5 IIC總線的術(shù)語(yǔ) 207
10.1.6 IIC總線的工作 208
10.1.7 IIC總線的競(jìng)爭(zhēng)仲裁 209
10.1.8 IIC總線的工作流程 210
10.2 嵌入式處理器的IIC接口 211
10.2.1 IIC總線控制寄存器 212
10.2.2 IIC總線控制/狀態(tài)寄存器 213
10.2.3 IIC總線地址寄存器 214
10.2.4 IIC總線移位數(shù)據(jù)寄存器 214
10.2.5 S3C2410中與IIC對(duì)應(yīng)的I/O端口 215
10.3 基于IIC的鍵盤(pán)芯片應(yīng)用 216
10.3.1 ZLG7290的功能 217
10.3.2 ZLG7290的控制方式 218
10.3.3 ZLG7290的寄存器 218
10.3.4 ZLG7290的通信接口 219
10.3.5 ZLG7290的指令介紹 219
10.4 IIC總線驅(qū)動(dòng)程序?qū)嵗?21
10.4.1 ZLG7290的電路連接 221
10.4.2 ZLG7290的通信流程 223
10.4.3 ZLG7290驅(qū)動(dòng)中變量的定義 225
10.4.4 ZLG7290驅(qū)動(dòng)中實(shí)時(shí)時(shí)鐘的改變 226
10.4.5 ZLG7290和IIC寄存器的初始化 227
10.4.6 ZLG7290驅(qū)動(dòng)程序的模塊化 228
10.4.7 ZLG7290的文件操作結(jié)構(gòu) 228
10.5 IIC總線的測(cè)試程序 230
10.6 知識(shí)索引 231
10.7 思考與練習(xí) 231
第11章 音頻總線驅(qū)動(dòng)程序 232
本章目標(biāo) 232
11.1 音頻總線接口概述 232
11.1.1 音頻的采樣精度 233
11.1.2 音頻編碼 233
11.2 IIS音頻總線接口 233
11.2.1 IIS總線的物理連接 233
11.2.2 IIS的總線協(xié)議 234
11.2.3 IIS總線的硬件設(shè)計(jì) 235
11.2.4 IIS總線的寄存器 236
11.3 AC97音頻總線接口 239
11.4 IIS總線的驅(qū)動(dòng)程序設(shè)計(jì) 240
11.4.1 音頻設(shè)備基礎(chǔ)知識(shí) 240
11.4.2 音頻設(shè)備文件 241
11.4.3 WAV聲音文件 243
11.4.4 音頻設(shè)備和驅(qū)動(dòng)程序的通信 243
11.4.5 設(shè)備的初始化和加載 244
11.4.6 DMA的操作和宏定義 246
11.4.7 audio設(shè)備文件的操作 248
11.4.8 mixer設(shè)備文件的操作 260
11.5 音頻驅(qū)動(dòng)程序的測(cè)試 262
11.6 知識(shí)索引 262
11.7 思考與練習(xí) 263
第12章 IDE接口驅(qū)動(dòng)程序 264
本章目標(biāo) 264
12.1 IDE接口概述 264
12.1.1 硬盤(pán)知識(shí)介紹 264
12.1.2 IDE接口標(biāo)準(zhǔn) 267
12.1.3 IDE接口的傳輸模式 269
12.1.4 IDE接口寄存器 269
12.2 IDE接口驅(qū)動(dòng)程序的移植 271
12.2.1 嵌入式Linux下IDE驅(qū)動(dòng)程序接口 271
12.2.2 嵌入式Linux下IDE驅(qū)動(dòng)程序 272
12.2.3 IDE硬盤(pán)的讀/寫(xiě)操作 274
12.3 IDE驅(qū)動(dòng)程序測(cè)試 282
12.3.1 磁盤(pán)文件系統(tǒng)簡(jiǎn)介 283
12.3.2 IDE分區(qū)測(cè)試 283
12.4 知識(shí)索引 285
12.5 思考與練習(xí) 285
第13章 閃存芯片的驅(qū)動(dòng)程序 286
本章目標(biāo) 286
13.1 閃存芯片概述 286
13.1.1 閃存芯片的物理特性 286
13.1.2 嵌入式文件系統(tǒng)概述 289
13.1.3 MTD體系介紹 289
13.1.4 Flash專有名詞 291
13.2 NAND Flash 291
13.2.1 NAND Flash的結(jié)構(gòu) 291
13.2.2 NAND Flash的操作 292
13.2.3 NAND Flash控制器 294
13.2.4 NAND Flash的時(shí)序 296
13.2.5 NAND Flash的驅(qū)動(dòng)程序?qū)嵗?97
13.3 NOR Flash 301
13.3.1 NOR Flash的結(jié)構(gòu) 301
13.3.2 NOR Flash的操作 302
13.3.3 NOR Flash的驅(qū)動(dòng)程序?qū)嵗?03
13.4 基于閃存的文件系統(tǒng) 307
13.5 知識(shí)索引 309
13.6 思考與練習(xí) 310
第14章 USB 設(shè)備驅(qū)動(dòng)程序 311
本章目標(biāo) 311
14.1 USB接口概述 311
14.1.1 USB系統(tǒng) 311
14.1.2 USB的電氣特性 312
14.1.3 USB總線的拓?fù)浣Y(jié)構(gòu) 313
14.1.4 USB的通信協(xié)議 313
14.2 嵌入式系統(tǒng)中USB的使用 315
14.2.1 OHCI概述 315
14.2.2 Host接口硬件設(shè)計(jì) 316
14.3 嵌入式系統(tǒng)中USB設(shè)備的驅(qū)動(dòng)程序設(shè)計(jì) 316
14.3.1 USB設(shè)備驅(qū)動(dòng)程序的分類 316
14.3.2 USB驅(qū)動(dòng)的骨架程序 317
14.3.3 設(shè)備端USB驅(qū)動(dòng)程序 327
14.3.4 USB鍵盤(pán)飛梭的驅(qū)動(dòng)程序 327
14.4 USB驅(qū)動(dòng)程序測(cè)試 331
14.4.1 熱插拔 331
14.4.2 利用hotplug腳本實(shí)現(xiàn)設(shè)備的自動(dòng)加載 332
14.5 知識(shí)索引 333
14.6 思考與練習(xí) 334
第15章 串口驅(qū)動(dòng)程序 335
本章目標(biāo) 335
15.1 串口概述 335
15.1.1 同步串口的傳輸標(biāo)準(zhǔn) 335
15.1.2 異步串口的傳輸標(biāo)準(zhǔn) 336
15.1.3 串口的物理層標(biāo)準(zhǔn) 336
15.1.4 串口的電平邏輯轉(zhuǎn)換 341
15.2 嵌入式處理器串口控制器 342
15.2.1 嵌入式系統(tǒng)中常用的UART控制器 342
15.2.2 S3C2410中的UART控制器 342
15.3 嵌入式Linux串口驅(qū)動(dòng)程序設(shè)計(jì) 346
15.3.1 異步串口的工作流程 346
15.3.2 串口的驅(qū)動(dòng)程序結(jié)構(gòu) 347
15.3.3 串口驅(qū)動(dòng)程序的注冊(cè) 349
15.3.4 ops中的串口操作函數(shù) 351
15.3.5 串口驅(qū)動(dòng)中與控制臺(tái)有關(guān)的函數(shù) 360
15.4 嵌入式Linux串口的應(yīng)用程序設(shè)計(jì) 360
15.4.1 串口編程需要用到的頭文件 360
15.4.2 串口的終端函數(shù) 361
15.4.3 RS-485和RS-232的通信 363
15.5 基于串口的GPRS應(yīng)用實(shí)例 366
15.5.1 GPRS簡(jiǎn)介 366
15.5.2 GPRS的電路設(shè)計(jì) 367
15.5.3 GPRS的程序分析 368
15.6 基于串口的GPS應(yīng)用實(shí)例 371
15.6.1 GPS簡(jiǎn)介 371
15.6.2 GPS應(yīng)用程序設(shè)計(jì) 371
15.7 知識(shí)索引 375
15.8 思考與練習(xí) 376
第16章 網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序 377
本章目標(biāo) 377
16.1 以太網(wǎng)概述 377
16.1.1 以太網(wǎng)的連接 377
16.1.2 以太網(wǎng)的工作原理 378
16.1.3 以太網(wǎng)的幀結(jié)構(gòu) 379
16.1.4 TCP/IP網(wǎng)絡(luò)協(xié)議 381
16.1.5 嵌入式系統(tǒng)中常用的網(wǎng)絡(luò)協(xié)議 382
16.2 嵌入式處理器的以太網(wǎng)接口 383
16.2.1 帶有MAC層控制協(xié)議的處理器 383
16.2.2 通過(guò)以太網(wǎng)芯片擴(kuò)展網(wǎng)絡(luò)接口 384
16.3 以太網(wǎng)驅(qū)動(dòng)程序體系結(jié)構(gòu) 385
16.3.1 網(wǎng)絡(luò)驅(qū)動(dòng)程序的結(jié)構(gòu) 385
16.3.2 網(wǎng)絡(luò)設(shè)備初始化 386
16.3.3 數(shù)據(jù)包的發(fā)送與接收 386
16.3.4 網(wǎng)絡(luò)設(shè)備的加載方式 387
16.3.5 常用的系統(tǒng)支持 388
16.4 網(wǎng)卡驅(qū)動(dòng)程序?qū)嵗?92
16.4.1 NE2000的內(nèi)核支持 392
16.4.2 網(wǎng)絡(luò)接口的初始化 392
16.4.3 網(wǎng)絡(luò)接口設(shè)備的打開(kāi)和關(guān)閉 393
16.4.4 數(shù)據(jù)包發(fā)送和接收 394
16.4.5 網(wǎng)絡(luò)驅(qū)動(dòng)程序的基本操作 394
16.4.6 編寫(xiě)嵌入式Linux網(wǎng)絡(luò)驅(qū)動(dòng)程序中需要注意的問(wèn)題 398
16.5 網(wǎng)絡(luò)驅(qū)動(dòng)程序的測(cè)試 399
16.5.1 嵌入式Linux的網(wǎng)絡(luò)配置 400
16.5.2 NFS文件系統(tǒng) 401
16.5.3 socket編程 403
16.5.4 socket編程實(shí)例 405
16.6 知識(shí)索引 415
16.7 思考與練習(xí) 416