嵌入式系統接口設計與Linux驅動程式開發

嵌入式系統接口設計與Linux驅動程式開發

《嵌入式系統接口設計與Linux驅動程式開發》是2006年北京航空航天大學出版社出版的圖書,作者是劉淼。

基本介紹

  • 書名:嵌入式系統接口設計與Linux驅動程式開發
  • 作者: 劉淼
  • ISBN:7810778617
  • 頁數:405
  • 出版社:北京航空航天大學出版社
  • 出版時間:2006 年6月
  • 開本:16
內容簡介,目錄,

內容簡介

本書針對arm處理器為核心的主流嵌入式系統平台,主要講述嵌入式linux驅動程式的設計和開發過程。內容同時涵蓋嵌入式系統的軟硬體兩個方面: 一方面是嵌入式系統常用的硬體接口時序、電氣特性等內容的分析;另一方面講述對應硬體的linux驅動程式實現方法。本書共分為16章。第1、2章介紹嵌入式系統和linux驅動程式的基礎性知識。從第3章開始,詳細講述硬體平台及其對應的linux驅動程式。硬體包括i/o口、can匯流排、觸控螢幕、 i2c、ps/2、異步串口、音頻、顯示、ide、pcmcia、usb、乙太網以及flash的使用等內容。軟體涉及針對上述硬體的各種驅動程式在 linux下的體系結構,linux的字元設備、塊設備和網路設備驅動程式,arm linux的中斷處理,bootloader和核心的啟動過程等。.
本書可作為機器人技術、機電控制系統、信息家電、工業控制、手持設備、智慧型玩具、醫療儀器等方面嵌入式系統開發與套用的參考書,也可作為高等院校有關嵌入式系統教學的本科生或研究生的教材。 ...

目錄

第1章典型的嵌入式系統體系結構
1.1嵌入式系統概述1
1.2嵌入式系統的組成1
1.2.1嵌入式平台的硬體架構2
1.2.2板級支持包和嵌入式系統2
1.2.3嵌入式系統上的應用程式3
1.3嵌入式系統的開發流程和優勢3
1.4嵌入式系統的方案選擇5
1.4.1處理器的選擇5
1.4.2嵌入式作業系統的選擇5
1.5本書涉及的平台及linux核心版本7
第2章linux核心與驅動程式
2.1linux核心與arm8
2.2閱讀arm linux核心源碼8
2.3編譯環境的建立9
2.4linux驅動程式12
2.4.1用戶態與核心態12
2.4.2linux驅動程式結構13
2.4.3設備檔案與設備檔案系統13
第3章簡單的linux字元設備驅動程式
.3.1linux字元設備驅動程式結構18
3.2一個雙色led的linux驅動程式19
3.2.1系統硬體平台組成原理19
3.2.2linux下的雙色led驅動程式實現21
3.2.3雙色led驅動程式的測試32
3.3按鍵的linux驅動程式33
3.3.1系統硬體平台組成原理34
3.3.2linux系統中斷分析35
3.3.3linux下按鍵驅動程式的實現53
3.3.4按鍵驅動程式的測試60
第4章can匯流排接口設計與linux驅動程式
4.1can匯流排接口設計62
4.1.1can匯流排概述62
4.1.2嵌入式處理器上擴展can匯流排接口64
4.2can匯流排驅動程式的體系結構67
4.3can匯流排的linux驅動程式68
4.4can匯流排驅動測試程式79
第5章觸控螢幕接口設計與linux驅動程式
5.1觸控螢幕接口設計83
5.1.1觸控螢幕概述83
5.1.2嵌入式處理器上擴展觸控螢幕接口85
5.2觸控螢幕驅動程式的體系結構87
5.3觸控螢幕的linux驅動程式分析88
5.3.1自定義的字元設備88
5.3.2linux的輸入設備94
5.4觸控螢幕驅動測試程式98
5.4.1自定義觸控螢幕設備98
5.4.2輸入事件接口的觸控螢幕設備99
5.5觸控螢幕的校準方法101
第6章i2c匯流排與linux驅動程式
6.1i2c匯流排接口設計106
6.1.1i2c匯流排概述106
6.1.2嵌入式處理器上的i2c匯流排接口109
6.2linux下i2c匯流排驅動程式體系結構110
6.3s3c2410上的i2c匯流排驅動程式分析111
6.4i2c匯流排驅動測試程式116
第7章ps/2接口設計與linux鍵盤/滑鼠驅動程式
7.1ps/2接口設計120
7.1.1鍵盤接口與ps/2120
7.1.2ps/2接口的物理標準121
7.1.3ps/2接口的電氣特性122
7.1.4ps/2鍵盤的數據幀格式124
7.1.5ps/2滑鼠的數據幀格式125
7.1.6嵌入式處理器上擴展ps/2接口126
7.2linux鍵盤驅動程式體系結構134
7.3up-netarm2410平台的ps/2接口驅動程式分析137
7.3.1現有的i2c匯流排驅動的不足138
7.3.2對linux下i2c匯流排驅動程式的改造138
7.3.3ps/2接口驅動的實現141
7.3.4ps/2鍵盤驅動程式149
7.3.5ps/2滑鼠驅動程式153
7.4ps/2接口驅動的測試156
7.4.1ps/2鍵盤156
7.4.2ps/2滑鼠156
第8章音頻接口設計與linux驅動程式
8.1音頻匯流排157
8.1.1i2s匯流排接口158
8.1.2ac97匯流排接口160
8.1.3音頻接口的硬體設計163
8.2linux音頻驅動程式體系結構164
8.3s3c2410平台的音頻驅動分析165
8.3.1dma的重要性166
8.3.2標準的音頻設備167
8.4音頻驅動的測試175
第9章異步串口與linux驅動程式
9.1異步串口概述177
9.1.1異步傳輸的標準與分類177
9.1.216c550兼容的異步串口控制器182
9.1.3異步串口的硬體設計184
9.2linux終端與控制台體系185
9.2.1linux終端概述185
9.2.2linux控制台的初始化過程186
9.2.3linux啟動命令行與控制台定義189
9.2.4控制台與printk輸出191
9.3linux串口驅動程式與分析192
9.3.1uart驅動註冊函式193
9.3.216c550驅動程式連線埠的初始化197
9.3.3設備檔案名稱和控制台名的問題198
9.4linux串口的套用199
9.4.1linux串口測試199
9.4.2linux串口編程199
9.4.3通過linux串口實現gprs撥接201
第10章顯示接口與linux幀緩衝
10.1液晶顯示概述205
10.1.1液晶顯示簡介205
10.1.2液晶屏接口206
10.1.3vga接口210
10.1.4tft接口到vga接口的轉換211
10.2嵌入式處理器上的lcd控制器213
10.2.1lcd控制器214
10.2.2顯示快取與顯示點的對應關係216
10.3linux幀緩衝驅動程式體系結構217
10.4pxa270上簡單的幀緩衝驅動程式221
10.5linux幀緩衝的應用程式接口230
10.5.1一個簡單的linux幀緩衝的應用程式230
10.5.2linux下常用的基於幀緩衝的gui234
第11章ide接口與linux驅動程式設計
11.1ide接口概述235
11.1.1ide接口物理及電氣特性237
11.1.2ide接口暫存器241
11.1.3套用於嵌入式系統的存儲設備243
11.1.4ide模式的cf卡244
11.2嵌入式處理器的ide接口擴展246
11.3linux的ide驅動程式接口249
11.4up?techpxa270上的ide接口驅動程式分析250
11.4.1linux 2.4核心中ide接口驅動程式250
11.4.2linux 2.6核心中ide接口驅動程式252
11.5ide驅動程式測試254
11.5.1硬碟分區工具255
11.5.2常見的磁碟檔案系統255
11.5.3linux下fat和ext3檔案系統的使用257
第12章pcmcia接口與linux驅動程式結構
12.1pcmcia接口259
12.1.1pcmcia接口概述259
12.1.2pcmcia接口引腳定義260
12.1.3pcmcia卡的類型檢測265
12.1.4pcmcia與cf卡267
12.2為嵌入式處理器擴展pcmcia接口270
12.3linux下pcmcia驅動程式接口275
12.4up?netarm2410?s平台的pcmcia接口驅動程式分析276
12.5pcmcia接口測試283
12.5.1pcmcia接口cf卡的套用283
12.5.2pcmcia接口無線網卡的套用284
第13章usb host接口與linux驅動程式設計
13.1usb接口概述286
13.2usb ohci標準288
13.3usb host接口的硬體設計289
13.4linux的usb ohci驅動程式接口分析290
13.5usb host驅動程式測試295
13.5.1熱插拔腳本296
13.5.2利用熱插拔腳本實現u盤的自動載入298
第14章建立flash上的檔案系統
14.1flash的特性301
14.1.1flash的分類與比較302
14.1.2nand flash與處理器的接口303
14.2linux下mtd驅動程式體系結構307
14.2.1up?techpxa270平台上nor flash驅動程式309
14.2.2up?techpxa270平台上nand flash驅動程式315
14.2.3mtd驅動程式的配置320
14.3mtd驅動程式的接口與測試320
14.4建立在flash上的檔案系統321
14.4.1jffsx檔案系統321
14.4.2yaffs/yaffs2檔案系統324
14.4.3cramfs檔案系統326
第15章乙太網接口與linux網路驅動程式設計
15.1乙太網概述328
15.1.1乙太網mac層幀格式329
15.1.2網路協定棧與常用的網路通信協定330
15.2嵌入式處理器上擴展乙太網接口332
15.2.1帶有mac層控制器的嵌入式處理器332
15.2.2通過mac+phy的乙太網晶片擴展333
15.3linux網路驅動程式體系結構334
15.3.1linux網路驅動程式的層次334
15.3.2網路設備的初始化335
15.3.3網路數據包的傳送和接收336
15.3.4網路設備的核心載入337
15.3.5網路設備的模組載入339
15.4ne2000兼容的網卡驅動程式的移植340
15.5網路的套用與測試344
15.5.1linux的網路配置344
15.5.2網路數據嗅探器軟體345
15.5.3nfs檔案系統的使用347
第16章嵌入式linux的啟動過程
16.1bootloader350
16.1.1bootloader概述350
16.1.2常見的linux bootloader352
16.1.3up?techpxa270平台上的blob分析353
16.2arm linux核心的啟動過程362
16.2.1編譯生成linux核心362
16.2.2up?techpxa270平台上的linux啟動過程364
16.3linux的根檔案系統382
16.3.1基本的linux根檔案系統結構382
16.3.2用busybox建立簡單的根檔案系統383
16.3.3在flash上建立jffs2根檔案系統386
附錄a鍵盤掃描碼錶
a.1第1套鍵盤掃描碼388
a.2第2套鍵盤掃描碼390
a.3第3套鍵盤掃描碼392
附錄barm mmu簡介
b.1arm mmu的基本結構394
b.2arm的存儲器訪問方法395
b.3允許和禁止mmu396
b.4虛擬地址到物理地址的轉換過程396
b.4.1轉換表基址397
b.4.2取第一級表397
b.4.3第一級描述符397
b.4.4節的描述符和轉換398
b.5訪問許可權399
b.6cp15暫存器399
b.6.1暫存器1: mmu控制位400
b.6.2暫存器2: 轉換表基地址400
b.6.3暫存器3: 域訪問控制400
b.6.4暫存器4: 保留401
b.6.5暫存器5: 錯誤狀態暫存器fsr401
b.6.6暫存器6: 錯誤地址暫存器far401
b.6.7暫存器8: tlb功能401
b.6.8暫存器10: tlb鎖定402
附錄c本書用到的縮寫
參考文獻

相關詞條

熱門詞條

聯絡我們