注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書人文社科法律法律法規(guī)經(jīng)濟法ARM嵌入式Linux系統(tǒng)構(gòu)建與驅(qū)動開發(fā)范例

ARM嵌入式Linux系統(tǒng)構(gòu)建與驅(qū)動開發(fā)范例

ARM嵌入式Linux系統(tǒng)構(gòu)建與驅(qū)動開發(fā)范例

定 價:¥38.00

作 者: 周立功等編著
出版社: 北京航空航天大學(xué)出版社
叢編項: 周立功公司策劃系列叢書
標(biāo) 簽: 微處理器 ARM

ISBN: 9787810777490 出版時間: 2006-02-01 包裝: 平裝
開本: 16開 頁數(shù): 384 字?jǐn)?shù):  

內(nèi)容簡介

  《ARM嵌入式Linux系統(tǒng)構(gòu)建與驅(qū)動開發(fā)范例》介紹μClinux內(nèi)核編程的一個方面,使用內(nèi)核模塊編寫設(shè)備驅(qū)動程序。主要內(nèi)容包括:介紹如何建立基于ARM7的交叉開發(fā)環(huán)境以及如何向ARM7芯片上移植μClinux;分析μClinux上一個已在ARM7上成功運行的最簡單的內(nèi)核模塊;介紹μClinux的字符設(shè)備驅(qū)動程序、塊設(shè)備驅(qū)動程序和網(wǎng)絡(luò)設(shè)備驅(qū)動程序的編寫、編譯及使用,這些范例均在ARM7平臺編譯和使用,但可以方便地移植到其他平臺?!禔RM嵌入式Linux系統(tǒng)構(gòu)建與驅(qū)動開發(fā)范例》通俗易懂,是一本面向初學(xué)者的μClinux內(nèi)核編程圖書,對資深μClinux內(nèi)核編程人員也有參考價值??勺鳛楦叩仍盒O嚓P(guān)專業(yè)師生以及從事嵌入式系統(tǒng)應(yīng)用開發(fā)工程師的參考資料。

作者簡介

  作者:周立功周立功,男,1964年3月出生,畢業(yè)于東華大學(xué)自動化及計算機系,高級工程師,中國單片機學(xué)會理事,中國海洋大學(xué)講座教授,碩士生導(dǎo)師,主要研究方向為嵌入式系統(tǒng)與現(xiàn)場總線,目前正在從事80C51、ARM與NiosII等軟核SoC的研究與開發(fā)。1981年6月參加工作,先后在大型國有企業(yè)擔(dān)任過工段長、車間主任、團委書記、廠長、黨委書記,先后被評為省及國家級勞動模范與新長征突擊手,長期從事微機、單片機與嵌入式系統(tǒng)應(yīng)用推廣、開發(fā)工作。早期主要從事6502、Z80、8080及其5G14500(一位機)微機應(yīng)用開發(fā)及工業(yè)低溫輻射遠紅外節(jié)電技術(shù)應(yīng)用與研究等工作,在1987年就出版過《工業(yè)低溫輻射遠紅外節(jié)電技術(shù)》專著。從1994年11月開始創(chuàng)辦了廣州周立功單片機發(fā)展有限公司、廣州致遠電子有限公司除擔(dān)任董事長與總經(jīng)理之外,還繼續(xù)從事實際的技術(shù)開發(fā)工作并任首席系統(tǒng)設(shè)計師和軟件架構(gòu)師,致力于單片機與嵌入式系統(tǒng)技術(shù)的推廣及其產(chǎn)業(yè)化工作。深入淺出ARM7:LPC213x/214x(下冊)>>更多作品

圖書目錄

第1章 μClinux內(nèi)核簡介
1.1 μClinux簡介1
1.2 μClinux內(nèi)核與傳統(tǒng)Linux內(nèi)核的比較2
1.3 μClinux運行條件5
1.4 μClinux的目錄結(jié)構(gòu)5
1.5 μClinux的開發(fā)流程6
1.5.1 編譯μClinux內(nèi)核6
1.5.2 創(chuàng)建文件系統(tǒng)8
本章小結(jié)10
第2章 使用GNU Tools建立μClinux開發(fā)環(huán)境
2.1 GNU Tools簡介11
2.2 GCC編譯器13
2.2.1 GCC使用示例14
2.2.2 編譯內(nèi)核時使用的編譯選項20
2.3 binutils二進制工具集21
2.3.1 ar軟件22
2.3.2 nm軟件24
2.3.3 objcopy軟件27
2.3.4 objdump軟件29
2.3.5 readelf軟件32
2.4 ld鏈接器33
2.4.1 ld選項34
2.4.2 鏈接描述文件介紹35
2.4.3 鏈接描述文件的語法36
2.4.4 鏈接描述文件例子39
2.5 make介紹42
2.5.1 GNU make簡介42
2.5.2 Makefile及其語法43
2.5.3 μClinuxdist2.4中的Makefile分析52
2.6 GDB調(diào)試器58
2.6.1 GDB簡介58
2.6.2 GDB調(diào)試程序示例59
2.6.3 gdbserver介紹62
2.7 GNU Tools的制作和安裝63
2.7.1 從源碼制作交叉編譯環(huán)境63
2.7.2 安裝二進制的交叉工具鏈armelf工具63
2.8 使用GNU Tools編譯μClinux內(nèi)核和應(yīng)用程序64
2.8.1 使用GNU Tools編譯μClinux內(nèi)核64
2.8.2 使用GNU Tools在μClinux中編譯應(yīng)用程序68
本章小結(jié)70
第3章 移植μClinux到LPC2200實例
3.1 選擇開發(fā)環(huán)境71
3.2 移植內(nèi)核71
3.2.1 增加體系架構(gòu)和機型相關(guān)的代碼72
3.2.2 添加中斷系統(tǒng)74
3.2.3 增加其他代碼83
3.2.4 修改Makefile和配置菜單95
3.3 移植驅(qū)動程序98
3.3.1 時鐘驅(qū)動程序的移植98
3.3.2 串口驅(qū)動程序的移植100
本章小結(jié)101
第4章 μClinux設(shè)備驅(qū)動程序概述
4.1 設(shè)備驅(qū)動程序基礎(chǔ)知識102
4.1.1 驅(qū)動程序分類102
4.1.2 加載和刪除驅(qū)動程序103
4.2 最簡單的內(nèi)核模塊104
4.2.1 內(nèi)核模塊的概念104
4.2.2 編寫內(nèi)核模塊104
4.2.3 關(guān)于內(nèi)核模塊初始化(加載)函數(shù)106
4.2.4 關(guān)于內(nèi)核模塊清除(卸載)函數(shù)106
4.2.5 關(guān)于printk()函數(shù)106
4.3 編寫Makefile文件107
4.3.1 Makefile文件整體介紹107
4.3.2 Makefile文件中的變量108
4.3.3 Makefile文件中的規(guī)則109
本章小結(jié)111
第5章 字符設(shè)備驅(qū)動程序初步
5.1 幾個概念112
5.1.1 關(guān)于主設(shè)備號和從設(shè)備號112
5.1.2 關(guān)于設(shè)備節(jié)點、節(jié)點文件和設(shè)備文件112
5.2 最簡單的字符設(shè)備驅(qū)動程序113
5.2.1 驅(qū)動程序代碼113
5.2.2 驅(qū)動程序的初始化函數(shù)116
5.2.3 驅(qū)動程序的清除函數(shù)116
5.2.4 保存設(shè)備信息的結(jié)構(gòu)體117
5.2.5 關(guān)于file結(jié)構(gòu)122
5.2.6 內(nèi)核空間與用戶空間交換數(shù)據(jù)125
5.2.7 內(nèi)核空間與I/O空間交換數(shù)據(jù)126
5.2.8 ioctl()方法的編寫127
5.2.9 一些宏定義130
5.2.10 關(guān)于頭文件130
5.2.11 其他說明131
5.3 使用字符設(shè)備驅(qū)動程序131
5.3.1 建立設(shè)備文件131
5.3.2 加載驅(qū)動程序131
5.3.3 接口函數(shù)131
5.3.4 示例代碼137
5.3.5 編寫Makefile文件138
本章小結(jié)139
第6章 GPIO(字符設(shè)備)驅(qū)動程序編寫范例
6.1 在應(yīng)用程序中使用GPIO驅(qū)動程序140
6.1.1 建立設(shè)備文件140
6.1.2 可使用的函數(shù)140
6.1.3 提供給應(yīng)用程序的頭文件141
6.1.4 設(shè)置GPIO口數(shù)據(jù)傳輸方向142
6.1.5 讓GPIO口輸出指定電平144
6.1.6 讀GPIO口輸出電平146
6.1.7 讀GPIO口引腳上的電平147
6.2 編譯148
6.3 源碼分析149
6.3.1 初始化函數(shù)149
6.3.2 清除函數(shù)150
6.3.3 open()方法150
6.3.4 release()方法151
6.3.5 ioctl()方法151
6.3.6 其他說明158
本章小結(jié)159
第7章 PWM(字符設(shè)備)驅(qū)動程序編寫范例
7.1 在應(yīng)用程序中使用PWM驅(qū)動程序160
7.1.1 建立設(shè)備文件160
7.1.2 可使用的函數(shù)161
7.1.3 提供給應(yīng)用程序的頭文件161
7.1.4 PWM總體控制163
7.1.5 允許某路PWM輸出164
7.1.6 禁止某路PWM輸出164
7.1.7 設(shè)置某路PWM高電平寬度165
7.2 編譯166
7.3 源碼分析167
7.3.1 為驅(qū)動程序增加中斷服務(wù)程序167
7.3.2 關(guān)于臨界區(qū)169
7.3.3 初始化函數(shù)170
7.3.4清除函數(shù)170
7.3.5 open()方法及中斷處理171
7.3.6 release()方法172
7.3.7 ioctl()方法173
7.3.8 其他說明179
本章小結(jié)179
第8章 A/D(字符設(shè)備)驅(qū)動程序編寫范例
8.1 在應(yīng)用程序中使用A/D驅(qū)動程序180
8.1.1 建立設(shè)備文件180
8.1.2可使用的函數(shù)181
8.1.3 提供給應(yīng)用程序的頭文件181
8.1.4 設(shè)置A/D工作頻率182
8.1.5 設(shè)置A/D轉(zhuǎn)換精度182
8.1.6 讀取A/D轉(zhuǎn)換結(jié)果183
8.2 編譯183
8.3 源碼分析184
8.3.1 初始化函數(shù)184
8.3.2 清除函數(shù)185
8.3.3 open()方法186
8.3.4 release()方法187
8.3.5 ioctl()方法188
8.3.6 read()方法189
8.3.7 其他說明191
本章小結(jié)191
第9章 SPI(字符設(shè)備)驅(qū)動程序編寫范例
9.1 在應(yīng)用程序中使用SPI驅(qū)動程序192
9.1.1 建立設(shè)備文件192
9.1.2 使用SPI的特殊注意點193
9.1.3 可使用的函數(shù)193
9.1.4 提供給應(yīng)用程序的頭文件194
9.1.5 設(shè)置SPI分頻值195
9.1.6 SPI時鐘相位控制195
9.1.7 SPI時鐘極性控制196
9.1.8 SPI數(shù)據(jù)傳輸順序控制197
9.1.9 開始和結(jié)束SPI操作198
9.1.10 發(fā)送同時接收一字節(jié)數(shù)據(jù)198
9.1.11 寫數(shù)據(jù)到SPI從器件199
9.1.12 從SPI從器件讀數(shù)據(jù)199
9.2 編譯200
9.3 源碼分析201
9.3.1 初始化函數(shù)201
9.3.2 清除函數(shù)201
9.3.3 open()方法202
9.3.4 release()方法204
9.3.5 ioctl()方法205
9.3.6 write()方法209
9.3.7 read()方法211
9.3.8 其他說明212
本章小結(jié)212
第10章 I2C(字符設(shè)備)驅(qū)動程序編寫范例
10.1 在應(yīng)用程序中使用I2C總線驅(qū)動程序213
10.1.1 建立設(shè)備文件213
10.1.2 可使用的函數(shù)214
10.1.3 提供給應(yīng)用程序的頭文件214
10.1.4 設(shè)置I2C總線頻率215
10.1.5 寫數(shù)據(jù)到I2C從器件215
10.1.6 從I2C從器件讀數(shù)據(jù)216
10.2 編譯216
10.3 源碼分析217
10.3.1 初始化函數(shù)217
10.3.2 清除函數(shù)218
10.3.3 open()方法218
10.3.4 release()方法220
10.3.5 I2C中斷處理220
10.3.6 ioctl()方法223
10.3.7 write()方法225
10.3.8 read()方法226
10.3.9 其他說明227
本章小結(jié)227
第11章 塊設(shè)備驅(qū)動程序初步
11.1 幾個概念228
11.1.1 關(guān)于主設(shè)備號和從設(shè)備號228
11.1.2 關(guān)于設(shè)備節(jié)點、節(jié)點文件和設(shè)備文件228
11.2 最簡單的塊設(shè)備驅(qū)動程序229
11.2.1 驅(qū)動程序代碼229
11.2.2 注冊初始化函數(shù)和清除函數(shù)231
11.2.3 驅(qū)動程序的初始化函數(shù)232
11.2.4 驅(qū)動程序的清除函數(shù)232
11.2.5 保存設(shè)備信息的結(jié)構(gòu)體233
11.2.6 一些宏定義238
11.2.7 關(guān)于頭文件238
11.2.8 其他說明239
11.3 使用塊設(shè)備239
11.3.1 建立設(shè)備文件239
11.3.2 加載驅(qū)動程序239
11.3.3 把塊設(shè)備(的某個分區(qū))映射到指定的目錄240
11.3.4 取消目錄映射240
11.3.5 卸載驅(qū)動程序240
本章小結(jié)240
第12章 簡單的塊設(shè)備編寫范例
12.1 使用范例241
12.1.1 范例簡介241
12.1.2 編譯驅(qū)動程序241
12.1.3 使用驅(qū)動程序242
12.2 范例程序源碼分析244
12.2.1 關(guān)于主設(shè)備號244
12.2.2 幾個數(shù)據(jù)結(jié)構(gòu)246
12.2.3 驅(qū)動程序的初始化函數(shù)246
12.2.4 驅(qū)動程序的清除函數(shù)247
12.2.5 open()方法248
12.2.6 release()方法250
12.2.7 ioctl()方法251
12.2.8 check_media_change()方法253
12.2.9 revalidate()方法253
12.2.10 關(guān)于數(shù)據(jù)傳輸254
12.2.11 其他說明260
本章小結(jié)260
第13章 基于ZLG/FS驅(qū)動程序的通用塊設(shè)備驅(qū)動程序
13.1 背景知識261
13.1.1 驅(qū)動程序簡介261
13.1.2 ZLG/FS簡介261
13.2 ZLG/FS V1.10驅(qū)動程序使用指南263
13.2.1 接口函數(shù)263
13.2.2 參數(shù)263
13.3 使用范例266
13.3.1 編譯驅(qū)動程序266
13.3.2 使用驅(qū)動程序267
13.4 范例程序源碼分析269
13.4.1 塊設(shè)備信息結(jié)構(gòu)體270
13.4.2 注冊ZLG/FS V1.10驅(qū)動程序271
13.4.3 注銷ZLG/FS V1.10驅(qū)動程序271
13.4.4 關(guān)于分區(qū)設(shè)備272
13.4.5 檢測分區(qū)273
13.4.6 驅(qū)動程序的初始化函數(shù)276

13.4.7 驅(qū)動程序的清除函數(shù)277
13.4.8 open()方法278
13.4.9 release()方法280
13.4.10 ioctl()方法282
13.4.11 check_media_change()方法284
13.4.12 revalidate()方法285
13.4.13 數(shù)據(jù)傳輸286
13.4.14 其他說明290
本章小結(jié)290
第14章 轉(zhuǎn)換ZLG/FS V1.10驅(qū)動為μClinux驅(qū)動

14.1 轉(zhuǎn)換步驟291
14.2 轉(zhuǎn)換實例之CF卡驅(qū)動295
14.3 轉(zhuǎn)換實例之SD卡驅(qū)動297
14.4 轉(zhuǎn)換實例之ZLG/FFS驅(qū)動299
14.5 模板源碼分析302
14.5.1 驅(qū)動程序的初始化函數(shù)302
14.5.2 驅(qū)動程序的清除函數(shù)303
14.5.3 open()方法303
14.5.4 release()方法304
14.5.5 get_info()方法304
14.5.6 其他說明306
本章小結(jié)306
第15章 網(wǎng)絡(luò)設(shè)備驅(qū)動程序初步
15.1 最簡單的網(wǎng)絡(luò)設(shè)備驅(qū)動程序307
15.1.1 驅(qū)動程序代碼307
15.1.2 驅(qū)動程序的初始化函數(shù)310
15.1.3 驅(qū)動程序的清除函數(shù)311
15.1.4 保存設(shè)備信息的結(jié)構(gòu)體311
15.1.5 數(shù)據(jù)接收與中斷服務(wù)程序319
15.1.6 關(guān)于頭文件321
15.1.7 其他說明321
15.2 使用網(wǎng)絡(luò)設(shè)備驅(qū)動程序321
本章小結(jié)322
第16章 RTL8019驅(qū)動程序編寫范例
16.1 硬件原理323
16.2 使用源代碼325
16.3 源碼分析326
16.3.1 初始化函數(shù)326
16.3.2清除函數(shù)327
16.3.3 init()方法327
16.3.4 open()方法329
16.3.5 stop()方法332
16.3.6 set_config()方法333
16.3.7 hard_start_xmit()方法333
16.3.8 set_mac_address()方法335
16.3.9 中斷服務(wù)程序336
本章小結(jié)340
第17章 DM9000驅(qū)動程序編寫范例
17.1 硬件原理341
17.2 使用源代碼341
17.3 源碼分析344
17.3.1 頭文件DM9000.h344
17.3.2 底層硬件操作函數(shù)346
17.3.3 初始化函數(shù)348
17.3.4 清除函數(shù)349
17.3.5 init()方法349
17.3.6 open()方法351
17.3.7 stop()方法354
17.3.8 set_config()方法355
17.3.9 hard_start_xmit()方法356
17.3.10 set_mac_address()方法357
17.3.11 中斷服務(wù)程序358
本章小結(jié)360
附錄A 版權(quán)聲明及許可協(xié)議
附錄B SmartARM2200教學(xué)實驗開發(fā)平臺
B.1 產(chǎn)品概述363
B.2 產(chǎn)品目標(biāo)364
B.3 產(chǎn)品特點364
B.4 產(chǎn)品組成368
B.5 硬件結(jié)構(gòu)說明369
B.6 應(yīng)用環(huán)境369
B.7 產(chǎn)品部件規(guī)格描述369
附錄C MagicARM2200教學(xué)實驗開發(fā)平臺
C.1 產(chǎn)品概述370
C.2 產(chǎn)品目標(biāo)371
C.3 產(chǎn)品特點371
C.4 產(chǎn)品組成376
C.5 硬件結(jié)構(gòu)說明377
C.6 應(yīng)用環(huán)境377
C.7 產(chǎn)品部件規(guī)格描述377
附錄D MagicARM2200S教學(xué)實驗開發(fā)平臺
D.1 產(chǎn)品概述378
D.2 產(chǎn)品目標(biāo)379
D.3 產(chǎn)品特點379
D.4 產(chǎn)品組成382
D.5 硬件結(jié)構(gòu)說明384
D.6 應(yīng)用環(huán)境384
D.7產(chǎn)品部件規(guī)格描述384
參考文獻  

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號