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

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

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

定 價(jià):¥39.00

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

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

內(nèi)容簡(jiǎn)介

  本書針對(duì)、RM處理器為核心的主流嵌入式系統(tǒng)平臺(tái),主要講述嵌入式Linux驅(qū)動(dòng)程序的設(shè)計(jì)和開發(fā)過程。內(nèi)容同時(shí)涵蓋嵌入式系統(tǒng)的軟硬件兩個(gè)方面:一方面是嵌入式系統(tǒng)常用的硬件接口時(shí)序、電氣特性等內(nèi)容的分析;另一方面講述對(duì)應(yīng)硬件的Linux驅(qū)動(dòng)程序?qū)崿F(xiàn)方法。本書共分為16章。第1、2章介紹嵌入式系統(tǒng)和Linux驅(qū)動(dòng)程序的基礎(chǔ)性知識(shí)。從第3章開始,詳細(xì)講述硬件平臺(tái)及其對(duì)應(yīng)的Linux驅(qū)動(dòng)程序。硬件包括I/O口、CAN總線、觸摸屏、IC、PS/2、異步串口、音頻、顯示、IDE、PCMCIA、USB、以太網(wǎng)以及Flash的使用等內(nèi)容。軟件涉及針對(duì)上述硬件的各種驅(qū)動(dòng)程序在Linux下的體系結(jié)構(gòu),Linux的字符設(shè)備、塊設(shè)備和網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序,ARMLinux的中斷處理,:BootLoader和內(nèi)核的啟動(dòng)過程等。本書可作為機(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ū)動(dòng)程序3,簡(jiǎn)單的LINUX字符設(shè)備驅(qū)動(dòng)程序4,CAN總線接口設(shè)計(jì)與LINUX驅(qū)動(dòng)程序5,觸摸屏接口設(shè)計(jì)與LINUX驅(qū)動(dòng)程序6,I2C總線與LINUX驅(qū)動(dòng)程序7,PS/2接口設(shè)計(jì)與LINUX鍵盤/鼠標(biāo)驅(qū)動(dòng)程序8,音頻接口設(shè)計(jì)與LINUX驅(qū)動(dòng)程序9,異步串口與LINUX驅(qū)動(dòng)程序10,顯示接口與LINUX幀緩沖11,IDE接口與LINUX驅(qū)動(dòng)程序設(shè)計(jì)12,PCMCIA接口與LINUX驅(qū)動(dòng)結(jié)構(gòu)13,USB HOST接口與LINUX驅(qū)動(dòng)程序設(shè)計(jì)14,建立FLASH上的文件系統(tǒng)15,以太網(wǎng)接口與LINUX網(wǎng)絡(luò)驅(qū)動(dòng)程序設(shè)計(jì)16,嵌入式LINUX的啟動(dòng)過程

作者簡(jiǎn)介

  劉焱,吉林省吉林市人。2000年開始從事嵌入式系統(tǒng)方面的研發(fā)工作,參加過多項(xiàng)國(guó)家863、自然基金研究項(xiàng)目,熟練掌握ARM等RISC微處理器系統(tǒng)的硬件設(shè)計(jì)及Linux、WinCEVxWorks等操作系統(tǒng)的軟件設(shè)計(jì).尤其擅長(zhǎng)硬件接口與驅(qū)動(dòng)程序等系統(tǒng)底層架構(gòu)設(shè)計(jì)。先后主持過基于S3C4480、S3C2410、PXA270等多款嵌入式教學(xué)實(shí)驗(yàn)平臺(tái)及基于HMS30C7202.AT91 RM9200的工業(yè)測(cè)控系統(tǒng)的開發(fā)工作,作為主要研究人員完成的嵌入式數(shù)控系統(tǒng)已在企業(yè)成功應(yīng)用。曾擔(dān)任過清華大學(xué)軟件學(xué)院、北京航空航天大學(xué)軟件學(xué)院嵌入式系統(tǒng)課程的實(shí)驗(yàn)教學(xué)工作及南開大學(xué)軟件學(xué)院的嵌入式系統(tǒng)專業(yè)課程教學(xué)工作?,F(xiàn)任中國(guó)電子學(xué)會(huì)嵌入式系統(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嵌入式平臺(tái)的硬件架構(gòu)2
1.2.2板級(jí)支持包和嵌入式系統(tǒng)2
1.2.3嵌入式系統(tǒng)上的應(yīng)用程序3
1.3嵌入式系統(tǒng)的開發(fā)流程和優(yōu)勢(shì)3
1.4嵌入式系統(tǒng)的方案選擇5
1.4.1處理器的選擇5
1.4.2嵌入式操作系統(tǒng)的選擇5
1.5本書涉及的平臺(tái)及Linux內(nèi)核版本7
第2章Linux內(nèi)核與驅(qū)動(dòng)程序
2.1Linux內(nèi)核與ARM8
2.2閱讀ARMLinux內(nèi)核源碼8
2.3編譯環(huán)境的建立9
2.4Linux驅(qū)動(dòng)程序12
2.4.1用戶態(tài)與內(nèi)核態(tài)12
2.4.2Linux驅(qū)動(dòng)程序結(jié)構(gòu)13
2.4.3設(shè)備文件與設(shè)備文件系統(tǒng)13
第3章簡(jiǎn)單的Linux字符設(shè)備驅(qū)動(dòng)程序
3.1Linux字符設(shè)備驅(qū)動(dòng)程序結(jié)構(gòu)18
3.2一個(gè)雙色LED的Linux驅(qū)動(dòng)程序19
3.2.1系統(tǒng)硬件平臺(tái)組成原理19
3.2.2Linux下的雙色LED驅(qū)動(dòng)程序?qū)崿F(xiàn)21
3.2.3雙色LED驅(qū)動(dòng)程序的測(cè)試32
3.3按鍵的Linux驅(qū)動(dòng)程序33
3.3.1系統(tǒng)硬件平臺(tái)組成原理34
3.3.2Linux系統(tǒng)中斷分析35
3.3.3Linux下按鍵驅(qū)動(dòng)程序的實(shí)現(xiàn)53
3.3.4按鍵驅(qū)動(dòng)程序的測(cè)試60
第4章CAN總線接口設(shè)計(jì)與Linux驅(qū)動(dòng)程序
4.1CAN總線接口設(shè)計(jì)62
4.1.1CAN總線概述62
4.1.2嵌入式處理器上擴(kuò)展CAN總線接口64
4.2CAN總線驅(qū)動(dòng)程序的體系結(jié)構(gòu)67
4.3CAN總線的Linux驅(qū)動(dòng)程序68
4.4CAN總線驅(qū)動(dòng)測(cè)試程序79
第5章觸摸屏接口設(shè)計(jì)與Linux驅(qū)動(dòng)程序
5.1觸摸屏接口設(shè)計(jì)83
5.1.1觸摸屏概述83
5.1.2嵌入式處理器上擴(kuò)展觸摸屏接口85
5.2觸摸屏驅(qū)動(dòng)程序的體系結(jié)構(gòu)87
5.3觸摸屏的Linux驅(qū)動(dòng)程序分析88
5.3.1自定義的字符設(shè)備88
5.3.2Linux的輸入設(shè)備94
5.4觸摸屏驅(qū)動(dòng)測(cè)試程序98
5.4.1自定義觸摸屏設(shè)備98
5.4.2輸入事件接口的觸摸屏設(shè)備99
5.5觸摸屏的校準(zhǔn)方法101
第6章I2C總線與Linux驅(qū)動(dòng)程序
6.1I2C總線接口設(shè)計(jì)106
6.1.1I2C總線概述106
6.1.2嵌入式處理器上的I2C總線接口109
6.2Linux下I2C總線驅(qū)動(dòng)程序體系結(jié)構(gòu)110
6.3S3C2410上的I2C總線驅(qū)動(dòng)程序分析111
6.4I2C總線驅(qū)動(dòng)測(cè)試程序116
第7章PS/2接口設(shè)計(jì)與Linux鍵盤/鼠標(biāo)驅(qū)動(dòng)程序
7.1PS/2接口設(shè)計(jì)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ū)動(dòng)程序體系結(jié)構(gòu)134
7.3UP-NETARM2410平臺(tái)的PS/2接口驅(qū)動(dòng)程序分析137
7.3.1現(xiàn)有的I2C總線驅(qū)動(dòng)的不足138
7.3.2對(duì)Linux下I2C總線驅(qū)動(dòng)程序的改造138
7.3.3PS/2接口驅(qū)動(dòng)的實(shí)現(xiàn)141
7.3.4PS/2鍵盤驅(qū)動(dòng)程序149
7.3.5PS/2鼠標(biāo)驅(qū)動(dòng)程序153
7.4PS/2接口驅(qū)動(dòng)的測(cè)試156
7.4.1PS/2鍵盤156
7.4.2PS/2鼠標(biāo)156
第8章音頻接口設(shè)計(jì)與Linux驅(qū)動(dòng)程序
8.1音頻總線157
8.1.1I2S總線接口158
8.1.2AC97總線接口160
8.1.3音頻接口的硬件設(shè)計(jì)163
8.2Linux音頻驅(qū)動(dòng)程序體系結(jié)構(gòu)164
8.3S3C2410平臺(tái)的音頻驅(qū)動(dòng)分析165
8.3.1DMA的重要性166
8.3.2標(biāo)準(zhǔn)的音頻設(shè)備167
8.4音頻驅(qū)動(dòng)的測(cè)試175
第9章異步串口與Linux驅(qū)動(dòng)程序
9.1異步串口概述177
9.1.1異步傳輸?shù)臉?biāo)準(zhǔn)與分類177
9.1.216C550兼容的異步串口控制器182
9.1.3異步串口的硬件設(shè)計(jì)184
9.2Linux終端與控制臺(tái)體系185
9.2.1Linux終端概述185
9.2.2Linux控制臺(tái)的初始化過程186
9.2.3Linux啟動(dòng)命令行與控制臺(tái)定義189
9.2.4控制臺(tái)與printk輸出191
9.3Linux串口驅(qū)動(dòng)程序與分析192
9.3.1UART驅(qū)動(dòng)注冊(cè)函數(shù)193
9.3.216c550驅(qū)動(dòng)程序端口的初始化197
9.3.3設(shè)備文件名和控制臺(tái)名的問題198
9.4Linux串口的應(yīng)用199
9.4.1Linux串口測(cè)試199
9.4.2Linux串口編程199
9.4.3通過Linux串口實(shí)現(xiàn)GPRS撥號(hào)上網(wǎng)201
第10章顯示接口與Linux幀緩沖
10.1液晶顯示概述205
10.1.1液晶顯示簡(jiǎn)介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顯示緩存與顯示點(diǎn)的對(duì)應(yīng)關(guān)系216
10.3Linux幀緩沖驅(qū)動(dòng)程序體系結(jié)構(gòu)217
10.4PXA270上簡(jiǎn)單的幀緩沖驅(qū)動(dòng)程序221
10.5Linux幀緩沖的應(yīng)用程序接口230
10.5.1一個(gè)簡(jiǎn)單的Linux幀緩沖的應(yīng)用程序230
10.5.2Linux下常用的基于幀緩沖的GUI234
第11章IDE接口與Linux驅(qū)動(dòng)程序設(shè)計(jì)
11.1IDE接口概述235
11.1.1IDE接口物理及電氣特性237
11.1.2IDE接口寄存器241
11.1.3應(yīng)用于嵌入式系統(tǒng)的存儲(chǔ)設(shè)備243
11.1.4IDE模式的CF卡244
11.2嵌入式處理器的IDE接口擴(kuò)展246
11.3Linux的IDE驅(qū)動(dòng)程序接口249
11.4UPTECHPXA270上的IDE接口驅(qū)動(dòng)程序分析250
11.4.1Linux2.4內(nèi)核中IDE接口驅(qū)動(dòng)程序250
11.4.2Linux2.6內(nèi)核中IDE接口驅(qū)動(dòng)程序252
11.5IDE驅(qū)動(dòng)程序測(cè)試254
11.5.1硬盤分區(qū)工具255
11.5.2常見的磁盤文件系統(tǒng)255
11.5.3Linux下FAT和Ext3文件系統(tǒng)的使用257
第12章PCMCIA接口與Linux驅(qū)動(dòng)程序結(jié)構(gòu)
12.1PCMCIA接口259
12.1.1PCMCIA接口概述259
12.1.2PCMCIA接口引腳定義260
12.1.3PCMCIA卡的類型檢測(cè)265
12.1.4PCMCIA與CF卡267
12.2為嵌入式處理器擴(kuò)展PCMCIA接口270
12.3Linux下PCMCIA驅(qū)動(dòng)程序接口275
12.4UPNETARM2410S平臺(tái)的PCMCIA接口驅(qū)動(dòng)程序分析276
12.5PCMCIA接口測(cè)試283
12.5.1PCMCIA接口CF卡的應(yīng)用283
12.5.2PCMCIA接口無線網(wǎng)卡的應(yīng)用284
第13章USBHOST接口與Linux驅(qū)動(dòng)程序設(shè)計(jì)
13.1USB接口概述286
13.2USBOHCI標(biāo)準(zhǔn)288
13.3USBHost接口的硬件設(shè)計(jì)289
13.4Linux的USBOHCI驅(qū)動(dòng)程序接口分析290
13.5USBHost驅(qū)動(dòng)程序測(cè)試295
13.5.1熱插拔腳本296
13.5.2利用熱插拔腳本實(shí)現(xiàn)U盤的自動(dòng)加載298
第14章建立Flash上的文件系統(tǒng)
14.1Flash的特性301
14.1.1Flash的分類與比較302
14.1.2NANDFlash與處理器的接口303
14.2Linux下MTD驅(qū)動(dòng)程序體系結(jié)構(gòu)307
14.2.1UPTECHPXA270平臺(tái)上NORFlash驅(qū)動(dòng)程序309
14.2.2UPTECHPXA270平臺(tái)上NANDFlash驅(qū)動(dòng)程序315
14.2.3MTD驅(qū)動(dòng)程序的配置320
14.3MTD驅(qū)動(dòng)程序的接口與測(cè)試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ū)動(dòng)程序設(shè)計(jì)
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ū)動(dòng)程序體系結(jié)構(gòu)334
15.3.1Linux網(wǎng)絡(luò)驅(qū)動(dòng)程序的層次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ū)動(dòng)程序的移植340
15.5網(wǎng)絡(luò)的應(yīng)用與測(cè)試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的啟動(dòng)過程
16.1BootLoader350
16.1.1BootLoader概述350
16.1.2常見的LinuxBootLoader352
16.1.3UPTECHPXA270平臺(tái)上的Blob分析353
16.2ARMLinux內(nèi)核的啟動(dòng)過程362
16.2.1編譯生成Linux內(nèi)核362
16.2.2UPTECHPXA270平臺(tái)上的Linux啟動(dòng)過程364
16.3Linux的根文件系統(tǒng)382
16.3.1基本的Linux根文件系統(tǒng)結(jié)構(gòu)382
16.3.2用BusyBox建立簡(jiǎn)單的根文件系統(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簡(jiǎn)介
B.1ARMMMU的基本結(jié)構(gòu)394
B.2ARM的存儲(chǔ)器訪問方法395
B.3允許和禁止MMU396
B.4虛擬地址到物理地址的轉(zhuǎn)換過程396
B.4.1轉(zhuǎn)換表基址397
B.4.2取第一級(jí)表397
B.4.3第一級(jí)描述符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:錯(cuò)誤狀態(tài)寄存器FSR401
B.6.6寄存器6:錯(cuò)誤地址寄存器FAR401
B.6.7寄存器8:TLB功能401
B.6.8寄存器10:TLB鎖定402
附錄C本書用到的縮寫
參考文獻(xiàn)

本目錄推薦

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