注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機(jī)/網(wǎng)絡(luò)操作系統(tǒng)Linux嵌入式系統(tǒng)接口設(shè)計與Linux驅(qū)動程序開發(fā)

嵌入式系統(tǒng)接口設(shè)計與Linux驅(qū)動程序開發(fā)

嵌入式系統(tǒng)接口設(shè)計與Linux驅(qū)動程序開發(fā)

定 價:¥39.00

作 者: 劉淼
出版社: 北京航空航天大學(xué)出版社
叢編項:
標(biāo) 簽: 嵌入式計算機(jī)

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

內(nèi)容簡介

  本書針對、RM處理器為核心的主流嵌入式系統(tǒng)平臺,主要講述嵌入式Linux驅(qū)動程序的設(shè)計和開發(fā)過程。內(nèi)容同時涵蓋嵌入式系統(tǒng)的軟硬件兩個方面:一方面是嵌入式系統(tǒng)常用的硬件接口時序、電氣特性等內(nèi)容的分析;另一方面講述對應(yīng)硬件的Linux驅(qū)動程序?qū)崿F(xiàn)方法。本書共分為16章。第1、2章介紹嵌入式系統(tǒng)和Linux驅(qū)動程序的基礎(chǔ)性知識。從第3章開始,詳細(xì)講述硬件平臺及其對應(yīng)的Linux驅(qū)動程序。硬件包括I/O口、CAN總線、觸摸屏、IC、PS/2、異步串口、音頻、顯示、IDE、PCMCIA、USB、以太網(wǎng)以及Flash的使用等內(nèi)容。軟件涉及針對上述硬件的各種驅(qū)動程序在Linux下的體系結(jié)構(gòu),Linux的字符設(shè)備、塊設(shè)備和網(wǎng)絡(luò)設(shè)備驅(qū)動程序,ARMLinux的中斷處理,:BootLoader和內(nèi)核的啟動過程等。本書可作為機(jī)器人技術(shù)、機(jī)電控制系統(tǒng)、信息家電、工業(yè)控制、手持設(shè)備、智能玩具、醫(yī)療儀器等方面嵌入式系統(tǒng)開發(fā)與應(yīng)用的參考書,也可作為高等院校有關(guān)嵌入式系統(tǒng)教學(xué)的本科生或研究生的教材。 1,典型的嵌入式系統(tǒng)體系結(jié)構(gòu)2,LINUX內(nèi)核與驅(qū)動程序3,簡單的LINUX字符設(shè)備驅(qū)動程序4,CAN總線接口設(shè)計與LINUX驅(qū)動程序5,觸摸屏接口設(shè)計與LINUX驅(qū)動程序6,I2C總線與LINUX驅(qū)動程序7,PS/2接口設(shè)計與LINUX鍵盤/鼠標(biāo)驅(qū)動程序8,音頻接口設(shè)計與LINUX驅(qū)動程序9,異步串口與LINUX驅(qū)動程序10,顯示接口與LINUX幀緩沖11,IDE接口與LINUX驅(qū)動程序設(shè)計12,PCMCIA接口與LINUX驅(qū)動結(jié)構(gòu)13,USB HOST接口與LINUX驅(qū)動程序設(shè)計14,建立FLASH上的文件系統(tǒng)15,以太網(wǎng)接口與LINUX網(wǎng)絡(luò)驅(qū)動程序設(shè)計16,嵌入式LINUX的啟動過程

作者簡介

  劉焱,吉林省吉林市人。2000年開始從事嵌入式系統(tǒng)方面的研發(fā)工作,參加過多項國家863、自然基金研究項目,熟練掌握ARM等RISC微處理器系統(tǒng)的硬件設(shè)計及Linux、WinCEVxWorks等操作系統(tǒng)的軟件設(shè)計.尤其擅長硬件接口與驅(qū)動程序等系統(tǒng)底層架構(gòu)設(shè)計。先后主持過基于S3C4480、S3C2410、PXA270等多款嵌入式教學(xué)實驗平臺及基于HMS30C7202.AT91 RM9200的工業(yè)測控系統(tǒng)的開發(fā)工作,作為主要研究人員完成的嵌入式數(shù)控系統(tǒng)已在企業(yè)成功應(yīng)用。曾擔(dān)任過清華大學(xué)軟件學(xué)院、北京航空航天大學(xué)軟件學(xué)院嵌入式系統(tǒng)課程的實驗教學(xué)工作及南開大學(xué)軟件學(xué)院的嵌入式系統(tǒng)專業(yè)課程教學(xué)工作。現(xiàn)任中國電子學(xué)會嵌入式系統(tǒng)培訓(xùn)中心ESTC認(rèn)證講師。

圖書目錄

第1章典型的嵌入式系統(tǒng)體系結(jié)構(gòu)
1.1嵌入式系統(tǒng)概述1
1.2嵌入式系統(tǒng)的組成1
1.2.1嵌入式平臺的硬件架構(gòu)2
1.2.2板級支持包和嵌入式系統(tǒng)2
1.2.3嵌入式系統(tǒng)上的應(yīng)用程序3
1.3嵌入式系統(tǒng)的開發(fā)流程和優(yōu)勢3
1.4嵌入式系統(tǒng)的方案選擇5
1.4.1處理器的選擇5
1.4.2嵌入式操作系統(tǒng)的選擇5
1.5本書涉及的平臺及Linux內(nèi)核版本7
第2章Linux內(nèi)核與驅(qū)動程序
2.1Linux內(nèi)核與ARM8
2.2閱讀ARMLinux內(nèi)核源碼8
2.3編譯環(huán)境的建立9
2.4Linux驅(qū)動程序12
2.4.1用戶態(tài)與內(nèi)核態(tài)12
2.4.2Linux驅(qū)動程序結(jié)構(gòu)13
2.4.3設(shè)備文件與設(shè)備文件系統(tǒng)13
第3章簡單的Linux字符設(shè)備驅(qū)動程序
3.1Linux字符設(shè)備驅(qū)動程序結(jié)構(gòu)18
3.2一個雙色LED的Linux驅(qū)動程序19
3.2.1系統(tǒng)硬件平臺組成原理19
3.2.2Linux下的雙色LED驅(qū)動程序?qū)崿F(xiàn)21
3.2.3雙色LED驅(qū)動程序的測試32
3.3按鍵的Linux驅(qū)動程序33
3.3.1系統(tǒng)硬件平臺組成原理34
3.3.2Linux系統(tǒng)中斷分析35
3.3.3Linux下按鍵驅(qū)動程序的實現(xiàn)53
3.3.4按鍵驅(qū)動程序的測試60
第4章CAN總線接口設(shè)計與Linux驅(qū)動程序
4.1CAN總線接口設(shè)計62
4.1.1CAN總線概述62
4.1.2嵌入式處理器上擴(kuò)展CAN總線接口64
4.2CAN總線驅(qū)動程序的體系結(jié)構(gòu)67
4.3CAN總線的Linux驅(qū)動程序68
4.4CAN總線驅(qū)動測試程序79
第5章觸摸屏接口設(shè)計與Linux驅(qū)動程序
5.1觸摸屏接口設(shè)計83
5.1.1觸摸屏概述83
5.1.2嵌入式處理器上擴(kuò)展觸摸屏接口85
5.2觸摸屏驅(qū)動程序的體系結(jié)構(gòu)87
5.3觸摸屏的Linux驅(qū)動程序分析88
5.3.1自定義的字符設(shè)備88
5.3.2Linux的輸入設(shè)備94
5.4觸摸屏驅(qū)動測試程序98
5.4.1自定義觸摸屏設(shè)備98
5.4.2輸入事件接口的觸摸屏設(shè)備99
5.5觸摸屏的校準(zhǔn)方法101
第6章I2C總線與Linux驅(qū)動程序
6.1I2C總線接口設(shè)計106
6.1.1I2C總線概述106
6.1.2嵌入式處理器上的I2C總線接口109
6.2Linux下I2C總線驅(qū)動程序體系結(jié)構(gòu)110
6.3S3C2410上的I2C總線驅(qū)動程序分析111
6.4I2C總線驅(qū)動測試程序116
第7章PS/2接口設(shè)計與Linux鍵盤/鼠標(biāo)驅(qū)動程序
7.1PS/2接口設(shè)計120
7.1.1鍵盤接口與PS/2120
7.1.2PS/2接口的物理標(biāo)準(zhǔn)121
7.1.3PS/2接口的電氣特性122
7.1.4PS/2鍵盤的數(shù)據(jù)幀格式124
7.1.5PS/2鼠標(biāo)的數(shù)據(jù)幀格式125
7.1.6嵌入式處理器上擴(kuò)展PS/2接口126
7.2Linux鍵盤驅(qū)動程序體系結(jié)構(gòu)134
7.3UP-NETARM2410平臺的PS/2接口驅(qū)動程序分析137
7.3.1現(xiàn)有的I2C總線驅(qū)動的不足138
7.3.2對Linux下I2C總線驅(qū)動程序的改造138
7.3.3PS/2接口驅(qū)動的實現(xiàn)141
7.3.4PS/2鍵盤驅(qū)動程序149
7.3.5PS/2鼠標(biāo)驅(qū)動程序153
7.4PS/2接口驅(qū)動的測試156
7.4.1PS/2鍵盤156
7.4.2PS/2鼠標(biāo)156
第8章音頻接口設(shè)計與Linux驅(qū)動程序
8.1音頻總線157
8.1.1I2S總線接口158
8.1.2AC97總線接口160
8.1.3音頻接口的硬件設(shè)計163
8.2Linux音頻驅(qū)動程序體系結(jié)構(gòu)164
8.3S3C2410平臺的音頻驅(qū)動分析165
8.3.1DMA的重要性166
8.3.2標(biāo)準(zhǔn)的音頻設(shè)備167
8.4音頻驅(qū)動的測試175
第9章異步串口與Linux驅(qū)動程序
9.1異步串口概述177
9.1.1異步傳輸?shù)臉?biāo)準(zhǔn)與分類177
9.1.216C550兼容的異步串口控制器182
9.1.3異步串口的硬件設(shè)計184
9.2Linux終端與控制臺體系185
9.2.1Linux終端概述185
9.2.2Linux控制臺的初始化過程186
9.2.3Linux啟動命令行與控制臺定義189
9.2.4控制臺與printk輸出191
9.3Linux串口驅(qū)動程序與分析192
9.3.1UART驅(qū)動注冊函數(shù)193
9.3.216c550驅(qū)動程序端口的初始化197
9.3.3設(shè)備文件名和控制臺名的問題198
9.4Linux串口的應(yīng)用199
9.4.1Linux串口測試199
9.4.2Linux串口編程199
9.4.3通過Linux串口實現(xiàn)GPRS撥號上網(wǎng)201
第10章顯示接口與Linux幀緩沖
10.1液晶顯示概述205
10.1.1液晶顯示簡介205
10.1.2液晶屏接口206
10.1.3VGA接口210
10.1.4TFT接口到VGA接口的轉(zhuǎn)換211
10.2嵌入式處理器上的LCD控制器213
10.2.1LCD控制器214
10.2.2顯示緩存與顯示點的對應(yīng)關(guān)系216
10.3Linux幀緩沖驅(qū)動程序體系結(jié)構(gòu)217
10.4PXA270上簡單的幀緩沖驅(qū)動程序221
10.5Linux幀緩沖的應(yīng)用程序接口230
10.5.1一個簡單的Linux幀緩沖的應(yīng)用程序230
10.5.2Linux下常用的基于幀緩沖的GUI234
第11章IDE接口與Linux驅(qū)動程序設(shè)計
11.1IDE接口概述235
11.1.1IDE接口物理及電氣特性237
11.1.2IDE接口寄存器241
11.1.3應(yīng)用于嵌入式系統(tǒng)的存儲設(shè)備243
11.1.4IDE模式的CF卡244
11.2嵌入式處理器的IDE接口擴(kuò)展246
11.3Linux的IDE驅(qū)動程序接口249
11.4UPTECHPXA270上的IDE接口驅(qū)動程序分析250
11.4.1Linux2.4內(nèi)核中IDE接口驅(qū)動程序250
11.4.2Linux2.6內(nèi)核中IDE接口驅(qū)動程序252
11.5IDE驅(qū)動程序測試254
11.5.1硬盤分區(qū)工具255
11.5.2常見的磁盤文件系統(tǒng)255
11.5.3Linux下FAT和Ext3文件系統(tǒng)的使用257
第12章PCMCIA接口與Linux驅(qū)動程序結(jié)構(gòu)
12.1PCMCIA接口259
12.1.1PCMCIA接口概述259
12.1.2PCMCIA接口引腳定義260
12.1.3PCMCIA卡的類型檢測265
12.1.4PCMCIA與CF卡267
12.2為嵌入式處理器擴(kuò)展PCMCIA接口270
12.3Linux下PCMCIA驅(qū)動程序接口275
12.4UPNETARM2410S平臺的PCMCIA接口驅(qū)動程序分析276
12.5PCMCIA接口測試283
12.5.1PCMCIA接口CF卡的應(yīng)用283
12.5.2PCMCIA接口無線網(wǎng)卡的應(yīng)用284
第13章USBHOST接口與Linux驅(qū)動程序設(shè)計
13.1USB接口概述286
13.2USBOHCI標(biāo)準(zhǔn)288
13.3USBHost接口的硬件設(shè)計289
13.4Linux的USBOHCI驅(qū)動程序接口分析290
13.5USBHost驅(qū)動程序測試295
13.5.1熱插拔腳本296
13.5.2利用熱插拔腳本實現(xiàn)U盤的自動加載298
第14章建立Flash上的文件系統(tǒng)
14.1Flash的特性301
14.1.1Flash的分類與比較302
14.1.2NANDFlash與處理器的接口303
14.2Linux下MTD驅(qū)動程序體系結(jié)構(gòu)307
14.2.1UPTECHPXA270平臺上NORFlash驅(qū)動程序309
14.2.2UPTECHPXA270平臺上NANDFlash驅(qū)動程序315
14.2.3MTD驅(qū)動程序的配置320
14.3MTD驅(qū)動程序的接口與測試320
14.4建立在Flash上的文件系統(tǒng)321
14.4.1JFFSx文件系統(tǒng)321
14.4.2YAFFS/YAFFS2文件系統(tǒng)324
14.4.3cramfs文件系統(tǒng)326
第15章以太網(wǎng)接口與Linux網(wǎng)絡(luò)驅(qū)動程序設(shè)計
15.1以太網(wǎng)概述328
15.1.1以太網(wǎng)MAC層幀格式329
15.1.2網(wǎng)絡(luò)協(xié)議棧與常用的網(wǎng)絡(luò)通信協(xié)議330
15.2嵌入式處理器上擴(kuò)展以太網(wǎng)接口332
15.2.1帶有MAC層控制器的嵌入式處理器332
15.2.2通過MAC+PHY的以太網(wǎng)芯片擴(kuò)展333
15.3Linux網(wǎng)絡(luò)驅(qū)動程序體系結(jié)構(gòu)334
15.3.1Linux網(wǎng)絡(luò)驅(qū)動程序的層次334
15.3.2網(wǎng)絡(luò)設(shè)備的初始化335
15.3.3網(wǎng)絡(luò)數(shù)據(jù)包的發(fā)送和接收336
15.3.4網(wǎng)絡(luò)設(shè)備的內(nèi)核加載337
15.3.5網(wǎng)絡(luò)設(shè)備的模塊加載339
15.4NE2000兼容的網(wǎng)卡驅(qū)動程序的移植340
15.5網(wǎng)絡(luò)的應(yīng)用與測試344
15.5.1Linux的網(wǎng)絡(luò)配置344
15.5.2網(wǎng)絡(luò)數(shù)據(jù)嗅探器軟件345
15.5.3NFS文件系統(tǒng)的使用347
第16章嵌入式Linux的啟動過程
16.1BootLoader350
16.1.1BootLoader概述350
16.1.2常見的LinuxBootLoader352
16.1.3UPTECHPXA270平臺上的Blob分析353
16.2ARMLinux內(nèi)核的啟動過程362
16.2.1編譯生成Linux內(nèi)核362
16.2.2UPTECHPXA270平臺上的Linux啟動過程364
16.3Linux的根文件系統(tǒng)382
16.3.1基本的Linux根文件系統(tǒng)結(jié)構(gòu)382
16.3.2用BusyBox建立簡單的根文件系統(tǒng)383
16.3.3在Flash上建立JFFS2根文件系統(tǒng)386
附錄A鍵盤掃描碼表
A.1第1套鍵盤掃描碼388
A.2第2套鍵盤掃描碼390
A.3第3套鍵盤掃描碼392
附錄BARMMMU簡介
B.1ARMMMU的基本結(jié)構(gòu)394
B.2ARM的存儲器訪問方法395
B.3允許和禁止MMU396
B.4虛擬地址到物理地址的轉(zhuǎn)換過程396
B.4.1轉(zhuǎn)換表基址397
B.4.2取第一級表397
B.4.3第一級描述符397
B.4.4節(jié)的描述符和轉(zhuǎn)換398
B.5訪問權(quán)限399
B.6CP15寄存器399
B.6.1寄存器1:MMU控制位400
B.6.2寄存器2:轉(zhuǎn)換表基地址400
B.6.3寄存器3:域訪問控制400
B.6.4寄存器4:保留401
B.6.5寄存器5:錯誤狀態(tài)寄存器FSR401
B.6.6寄存器6:錯誤地址寄存器FAR401
B.6.7寄存器8:TLB功能401
B.6.8寄存器10:TLB鎖定402
附錄C本書用到的縮寫
參考文獻(xiàn)

本目錄推薦

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