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

出版時間:2006-5  出版社:北京航空航天大學(xué)出版社  作者:劉淼  頁數(shù):405  
Tag標(biāo)簽:無  

前言

  我十分榮幸結(jié)識并指導(dǎo)了一批優(yōu)秀的博士生,他們不僅勤奮好學(xué),勇于開拓,更重要的是他們有抱負(fù)、有理想,劉淼博士就是其中的一位。我記得第一次見到劉淼是2000年,當(dāng)時他還是北京航空航天大學(xué)一名大二的學(xué)生,經(jīng)我的一位博士生介紹,加入了我們仿生機器魚研究小組。他給我的印象是個頭不高,身體單薄,但微笑中帶著亮亮的眼神,眼神中透著自信和執(zhí)著。隨后他們小組通過勤奮努力,其研究成果“多微小型仿生機器魚協(xié)調(diào)控制”獲得了2001年全國“挑戰(zhàn)杯”大學(xué)生課外科技活動競賽一等獎,劉淼作為第一作者,主要負(fù)責(zé)其中的單片機控制和圖像處理軟件工作。劉淼不僅編程能力很強,硬件設(shè)計能力也很強。

內(nèi)容概要

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

作者簡介

  劉焱,吉林省吉林市人。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é)工作?,F(xiàn)任中國電子學(xué)會嵌入式系統(tǒng)培訓(xùn)中心ESTC認(rèn)證講師。

書籍目錄

第1章 典型的嵌入式系統(tǒng)體系結(jié)構(gòu)1.1 嵌入式系統(tǒng)概述1.2 嵌入式系統(tǒng)的組成1.2.1 嵌入式平臺的硬件架構(gòu)1.2.2 板級支持包和嵌入式系統(tǒng)1.2.3 嵌入式系統(tǒng)上的應(yīng)用程序1.3 嵌入式系統(tǒng)的開發(fā)流程和優(yōu)勢1.4 嵌入式系統(tǒng)的方案選擇1.4.1 處理器的選擇1.4.2 嵌入式操作系統(tǒng)的選擇1.5 本書涉及的平臺及Linux內(nèi)核版本第2章 Linux內(nèi)核與驅(qū)動程序2.1 Linux內(nèi)核與ARM2.2 閱讀ARM Linux內(nèi)核源碼2.3 翻譯環(huán)境的建立2.4 Linux驅(qū)動程序2.4.1 用戶態(tài)與內(nèi)核態(tài)2.4.2 Linux驅(qū)動程序結(jié)構(gòu)2.4.3 設(shè)備文件與設(shè)備文件系統(tǒng)第3章 簡單的Linux字符設(shè)備驅(qū)動程序3.1 Linux字符設(shè)備驅(qū)動程序結(jié)構(gòu)3.2 一個雙色LED的Linux驅(qū)動程序3.2.1 系統(tǒng)硬件平臺組成原理3.2.2 Linux下的雙色LED驅(qū)動程序?qū)崿F(xiàn)3.2.3 雙色LED驅(qū)動程序的測試3.3 按鍵的Linux驅(qū)動程序3.3.1 系統(tǒng)硬件平臺組成原理3.3.2 Linux系統(tǒng)中斷分析3.3.3 Linux下按鍵驅(qū)動程序的實現(xiàn)3.3.4 按鍵驅(qū)動程序的測試第4章 CAN總線接口設(shè)計與Linux驅(qū)動程序4.1 CAN總線接口設(shè)計4.1.1 CAN總線概述4.1.2 嵌入式處理器上擴展CAN總線接口4.2 CAN總線驅(qū)動程序的體系結(jié)構(gòu)4.3 CAN總線的Linux驅(qū)動程序4.4 CAN總線驅(qū)動測試程序第5章 觸摸屏接口設(shè)計與Linux驅(qū)動程序5.1 觸摸屏接口設(shè)計5.1.1 觸摸屏概述5.1.2 嵌入式處理器上擴展觸摸屏接口5.2 觸摸屏驅(qū)動程序的體系結(jié)構(gòu)5.3 觸摸屏的Linux驅(qū)動程序分析5.3.1 自定義的字符設(shè)備5.3.2 Linux的輸入設(shè)備5.4 觸摸屏驅(qū)動測試程序5.4.1 自定義觸摸屏設(shè)備5.4.2 輸入事件接口的觸摸屏設(shè)備5.5 觸摸屏的校準(zhǔn)方法第6章 I2C總線與Linux驅(qū)動程序6.1 I2C總線接口設(shè)計6.1.1 I2C總線概述6.1.2 嵌入式處理器上的12C總線接口6.2 Linux下12C總線驅(qū)動程序體系結(jié)構(gòu)6.3 S3C2410上的I2C總線驅(qū)動程序分析6.4 I2C總線驅(qū)動測試程序第7章 PS/2接口設(shè)計與Linux鍵盤/鼠標(biāo)驅(qū)動程序7.1 PS/2接口設(shè)計7.1.1 鍵盤接口與PS/27.1.2 PS/2接口的物理標(biāo)準(zhǔn)7.1.3 PS/2接口的電氣特性7.1.4 PS/2鍵盤的數(shù)據(jù)幀格式7.1.5 PS/2鼠標(biāo)的數(shù)據(jù)幀格式7.1.6 嵌入式處理器上擴展PS/2接口7.2 Linux鍵盤驅(qū)動程序體系結(jié)構(gòu)7.3 UP—NETARM2410平臺的PS/2接口驅(qū)動程序分析7.3.1 現(xiàn)有的I2C總線驅(qū)動的不足7.3.2 對Limax下I2C總線驅(qū)動程序的改造7.3.3 PS/2接口驅(qū)動的實現(xiàn)7.3.4 PS/2鍵盤驅(qū)動程序7.3.5 PS/2鼠標(biāo)驅(qū)動程序7.4 PS/2接口驅(qū)動的測試7.4.1 PS/2鍵盤7.4.2 PS/2鼠標(biāo)第8章 音頻接口設(shè)計與Linux驅(qū)動程序8.1 音頻總線8.1.1 I2S總線接口8.1.2 AC97總線接口8.1.3 音頻接口的硬件設(shè)計8.2 Linux音頻驅(qū)動程序體系結(jié)構(gòu)8.3 S3C2410平臺的音頻驅(qū)動分析8.3.1 DMA的重要性8.3.2 標(biāo)準(zhǔn)的音頻設(shè)備8.4 音頻驅(qū)動的測試第9章 異步串口與Linux驅(qū)動程序9.1 異步串口概述9.1.1 異步傳輸?shù)臉?biāo)準(zhǔn)與分類9.1.2 16C550兼容的異步串口控制器9.1.3 異步串口的硬件設(shè)計9.2 Linux終端與控制臺體系9.2.1 Linux終端概述9.2.2 Linux控制臺的初始化過程9.2.3 Linux啟動命令行與控制臺定義9.2.4 控制臺與printk輸出9.3 Linux串口驅(qū)動程序與分析9.3.1 UART驅(qū)動注冊函數(shù)9.3.2 16c550驅(qū)動程序端口的初始化9.3.3 設(shè)備文件名和控制臺名的問題9.4 Linux串口的應(yīng)用9.4.1 Linux串口測試9.4.2 Linux串口編程9.4.3 通過Linux串口實現(xiàn)GPRS撥號上網(wǎng)第10章 顯示接口與Linux幀緩沖10.1 液晶顯示概述10.1.1 液晶顯示簡介10.1.2 液晶屏接口10.1.3 VGA接口10.1.4 TFT接口到VGA接口的轉(zhuǎn)換10.2 嵌入式處理器上的LCD控制器10.2.1 LCD控制器10.2.2 顯示緩存與顯示點的對應(yīng)關(guān)系10.3 Linux幀緩沖驅(qū)動程序體系結(jié)構(gòu)10.4 PXA270上簡單的幀緩沖驅(qū)動程序10.5 Linux幀緩沖的應(yīng)用程序接口10.5.1 一個簡單的Linux幀緩沖的應(yīng)用程序10.5.2 Linux下常用的基于幀緩沖的GUI第11章 IDE接口與Linux驅(qū)動程序設(shè)計11.1 IDE接口概述11.1.1 IDE接口物理及電氣特性11.1.2 IDE接口寄存器11.1.3 應(yīng)用于嵌入式系統(tǒng)的存儲設(shè)備11.1.4 IDE模式的CF卡11.2 嵌入式處理器的IDE接口擴展11.3 Linux的IDE驅(qū)動程序接口11.4 UP-TECHPXA270上的IDE接口驅(qū)動程序分析11.4.1 Linux 2.4內(nèi)核中IDE接口驅(qū)動程序11.4.2 Linux 2.6內(nèi)核中IDE接口驅(qū)動程序11.5 IDE驅(qū)動程序測試11.5.1 硬盤分區(qū)工具11.5.2 常見的磁盤文件系統(tǒng)11.5.3 Linux下FAT和Ext3文件系統(tǒng)的使用第12章 PCMCIA接口與LinlllX驅(qū)動程序結(jié)構(gòu)12.1 PCMCIA接口12.1.1 PCMCIA接口概述12.1.2 PCMCIA接口引腳定義l2.1.3 PCMCIA卡的類型檢測12.1.4 PCMC:IA與CF卡12.2 為嵌入式處理器擴展PCMCIA接口12.3 Linux下PCMCIA驅(qū)動程序接口12.4 UP-NETARM2410—S平臺的PCMCIA接口驅(qū)動程序分析12.5 PCMCIA接口測試l2.5.1 PCMCIA接口CF卡的應(yīng)用l2.5.2 PCMCIA接口無線網(wǎng)卡的應(yīng)用第13章 USB HOST接口與Linux驅(qū)動程序設(shè)計13 1 USB接口概述13.2 LISBOHCI標(biāo)準(zhǔn)13.3 LISB Host接口的硬件設(shè)計13.4 Linux的LISBOHCI驅(qū)動程序接口分析13.5 USB Host驅(qū)動程序測試13.5.1 熱插拔腳本13.5.2 利用熱插拔腳本實現(xiàn)U盤的自動加載第14章 建立Flash上的文件系統(tǒng)14.1 Flash的特性14.1.1 Flash的分類與比較14.1.2 NAND Flash與處理器的接口14.2 Linux下MTD驅(qū)動程序體系結(jié)構(gòu)14.2.1 UP-TECHPXA270平臺上NORFlash驅(qū)動程序14.2.2 UP-TECHPXA270平臺上NANDFlash驅(qū)動程序14.2.3 MTD驅(qū)動程序的配置14.3 MTD驅(qū)動程序的接口與測試14.4 建立在Flash上的文件系統(tǒng)14.4.1 JFFsx文件系統(tǒng)14.4.2 YAFFS/YAFFS2文件系統(tǒng)14.4.3 cramfs文件系統(tǒng)第15章 以太網(wǎng)接口與Linux網(wǎng)絡(luò)驅(qū)動程序設(shè)計15.1 以太網(wǎng)概述15.1.1 以太網(wǎng)MAC層幀格式15.1.2 網(wǎng)絡(luò)協(xié)議棧與常用的網(wǎng)絡(luò)通信協(xié)議15.2 嵌入式處理器上擴展以太網(wǎng)接口15.2.1 帶有MAC層控制器的嵌入式處理器15.2.2 通過MAC+PHY的以太網(wǎng)芯片擴展15.3 Linux網(wǎng)絡(luò)驅(qū)動程序體系結(jié)構(gòu)15.3.1 Linux網(wǎng)絡(luò)驅(qū)動程序的層次15.3.2 網(wǎng)絡(luò)設(shè)備的初始化15.3.3 網(wǎng)絡(luò)數(shù)據(jù)包的發(fā)送和接收15.3.4 網(wǎng)絡(luò)設(shè)備的內(nèi)核加載15.3.5 網(wǎng)絡(luò)設(shè)備的模塊加載15.4 NE2000兼容的網(wǎng)卡驅(qū)動程序的移植15.5 網(wǎng)絡(luò)的應(yīng)用與測試15.5.1 Linux的網(wǎng)絡(luò)配置15.5.2 網(wǎng)絡(luò)數(shù)據(jù)嗅探器軟件15.5.3 NFS文件系統(tǒng)的使用第16章 嵌入式Linux的啟動過程16.1 BootLoader16.1.1 BootLoader概述16.1.2 常見的Linux BootLoader16.1.3 UP TECHPXA270平臺上的Blob分析16.2 ARM Linux內(nèi)核的啟動過程16.2.1 編譯生成Linux內(nèi)核16.2.2 UP—TECHPXA270平臺上的Linux啟動過程16.3 Linux的根文件系統(tǒng)16.3.1 基本的Linux根文件系統(tǒng)結(jié)構(gòu)16.3.2 用BusyBox建立簡單的根文件系統(tǒng)16.3.3 在Flash上建立JFFS2根文件系統(tǒng)附錄A 鍵盤掃描碼表A.1 第1套鍵盤掃描碼A.2 第2套鍵盤掃描碼A.3 第3套鍵盤掃描碼附錄B ARM MMU簡介B.1 ARM MMU的基本結(jié)構(gòu)B.2 ARM的存儲器訪問方法B.3 允許和禁止MMUB.4 虛擬地址到物理地址的轉(zhuǎn)換過程B.4.1 轉(zhuǎn)換表基址B.4.2 取第一級表B.4.3 第一級描述符B.4.4 節(jié)的描述符和轉(zhuǎn)換B.5 訪問權(quán)限B.6 CPl5寄存器B.6.1 寄存器1:MMU控制位B.6.2 寄存器2:轉(zhuǎn)換表基地址B.6.3 寄存器3:域訪問控制B.6.4 寄存器4:保留B.6.5 寄存器5:錯誤狀態(tài)寄存器FSRB.6.6 寄存器6:錯誤地址寄存器FARB.6.7 寄存器8:TLB功能B.6.8 寄存器10:TLB鎖定附錄C 本書用到的縮寫參考文獻

編輯推薦

  Linux是源碼開放的操作系統(tǒng),它發(fā)展迅速,愛好者眾多,同時也是主流的嵌入式操作系統(tǒng)之一。以ARM為核心的處理器應(yīng)用廣泛,成本低廉,軟件支持好,也是當(dāng)今市場占有率最高的32位嵌入式處理器?!肚度胧较到y(tǒng)接口設(shè)計與Linux驅(qū)動程序開發(fā)》Linux和ARM處理器平臺為例,結(jié)合兩大主流軟件和硬件,講述嵌入系統(tǒng)開發(fā)的相關(guān)知識,是對深入學(xué)習(xí)嵌入式系統(tǒng)很有借鑒意義的書。

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


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


用戶評論 (總計0條)

 
 

 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7