出版時(shí)間:2008-3 出版社:清華大學(xué) 作者:馮國(guó)進(jìn) 頁數(shù):315 字?jǐn)?shù):531000
Tag標(biāo)簽:無
內(nèi)容概要
本書基于Linux 2.6內(nèi)核講述了Linux嵌入式驅(qū)動(dòng)程序開發(fā)的知識(shí),全書內(nèi)容涵蓋了Linux 2.6下的三類驅(qū)動(dòng)設(shè)備,包括Linux下字符設(shè)備、塊設(shè)備、網(wǎng)絡(luò)設(shè)備的開發(fā)技術(shù)。具體內(nèi)容包括Linux驅(qū)動(dòng)開發(fā)入門基礎(chǔ)知識(shí),Linux操作系統(tǒng)下驅(qū)動(dòng)開發(fā)核心技術(shù),并對(duì)ARM系統(tǒng)的各類接口的原理、驅(qū)動(dòng)開發(fā)與應(yīng)用層開發(fā)進(jìn)行逐一分析,其中包括GPIO、CAN、I2C、LCD、USB、觸摸屏、網(wǎng)絡(luò)、塊設(shè)備、紅外、SD卡等接口?! ”緯饕嫦蚯度胧絃inux系統(tǒng)的內(nèi)核、驅(qū)動(dòng)和應(yīng)用程序的開發(fā)人員以及ARM嵌入式系統(tǒng)的接口設(shè)計(jì)人員,可以作為各類嵌入式系統(tǒng)培訓(xùn)機(jī)構(gòu)和高校操作系統(tǒng)課程的實(shí)驗(yàn)教材和輔導(dǎo)書籍。
書籍目錄
第1章 Linux驅(qū)動(dòng)程序基礎(chǔ) 1.1 驅(qū)動(dòng)程序的概念 1.2 Linux驅(qū)動(dòng)程序模型 1.3 最基本的調(diào)試手段 1.4 導(dǎo)出符號(hào)的方法 1.5 動(dòng)態(tài)加載驅(qū)動(dòng)程序 1.6 在內(nèi)核中加入新驅(qū)動(dòng) 1.7 應(yīng)用程序操作接口 1.8 第一個(gè)驅(qū)動(dòng)第2章 Linux驅(qū)動(dòng)開發(fā)核心技術(shù) 2.1 同步機(jī)制 2.1.1 自旋鎖 2.1.2 信號(hào)量 2.1.3 原子操作 2.1.4 讀寫鎖(rwlock) 2.1.5 seqlock機(jī)制 2.1.6 RCU 2.2 完成事件 2.3 阻塞與非阻塞 2.4 時(shí)間 2.4.1 Linux下延遲 2.4.2 內(nèi)核定時(shí)器 2.5 內(nèi)存分配與映射 2.5.1 內(nèi)存分配與釋放 2.5.2 用戶態(tài)和內(nèi)核態(tài)內(nèi)存交互 2.5.3 內(nèi)存池 2.5.4 物理地址到虛擬地址的映射 2.5.5 內(nèi)核空間到用戶空間的映射 2.6 中斷處理 2.6.1 硬件中斷 2.6.2 軟中斷機(jī)制 2.7 /proc系統(tǒng) 2.8 工作隊(duì)列 2.9 異步I/O 2.10 DMA 2.11 platform概念 2.12 簡(jiǎn)單驅(qū)動(dòng)例程 2.12.1 信號(hào)量同步 2.12.2 阻塞式讀寫 2.12.3 定時(shí)器 2.12.4 內(nèi)存映射 2.12.5 /proc訪問 2.12.6 工作隊(duì)列第3章 GPIO驅(qū)動(dòng) 3.1 ARM體系結(jié)構(gòu)概述 3.1.1 RISC結(jié)構(gòu) 3.1.2 處理器模式 3.1.3 寄存器組織 3.1.4 異常處理 3.2 S3C2410X處理器 3.3 S3C2410X I/O端口 3.4 最簡(jiǎn)單的設(shè)備驅(qū)動(dòng)——LED燈驅(qū)動(dòng) 3.5 S3C2410X GPIO鍵盤驅(qū)動(dòng)第4章 串行總線驅(qū)動(dòng) 4.1 串行總線綜述 4.1.1 I2C總線 4.1.2 SMBus總線 4.1.3 SPI總線 4.1.4 CAIN總線 4.2 CAN接口芯片MCP2510 4.2.1 數(shù)據(jù)發(fā)送 4.2.2 數(shù)據(jù)接收 4.2.3 中斷 4.2.4 波特率設(shè)置 4.2.5 工作模式 4.3 MCP2510驅(qū)動(dòng)開發(fā) 4.4 Linux的I2C驅(qū)動(dòng)架構(gòu) 4.5 Linux I2C驅(qū)動(dòng)開發(fā)第5章 USB驅(qū)動(dòng)程序 5.1 USB總線 5.1.1 USB總線概述 5.1.2 USB系統(tǒng)組成 5.1.3 USB傳輸模式 5.1.4 主機(jī)規(guī)范 5.1.5 USB設(shè)備描述符 5.1.6 HID類規(guī)范 5.2 Linux下的USB驅(qū)動(dòng)框架 5.3 USB請(qǐng)求塊urb 5.4 USB骨架程序 5.5 USB文件系統(tǒng) 5.6 USB攝像頭驅(qū)動(dòng) 5.6.1 USB攝像頭原理 5.6.2 Video4Linux規(guī)范 5.6.3 OV511驅(qū)動(dòng)分析與編譯 5.6.4 spca5xx編譯與使用 5.7 USB Gadget 5.7.1 USB設(shè)備控制器驅(qū)動(dòng) 5.7.2 Gadget驅(qū)動(dòng)第6章 LiUX Framobuffer驅(qū)動(dòng) 6.1 LCD原理 6.2 Linux下LCD驅(qū)動(dòng)架構(gòu) 6.3 S3C2410X LCD控制器 6.4 S3C2410X LCD驅(qū)動(dòng)開發(fā) 6.5 基于Framebuffer的界面系統(tǒng)開發(fā)第7章 輸入子系統(tǒng)驅(qū)動(dòng) 7.1 Linux輸入設(shè)備驅(qū)動(dòng) 7.2 鍵盤輸入設(shè)備驅(qū)動(dòng) 7.3 在MiniGUI中加入鍵盤驅(qū)動(dòng) 7.4 LED輸入設(shè)備驅(qū)動(dòng) 7.5 USB鼠標(biāo)輸入設(shè)備驅(qū)動(dòng)第8章 觸摸屏驅(qū)動(dòng) 8.1 觸摸屏原理 8.2 S3C2410X觸摸屏控制器 8.3 S3C2410X觸摸屏驅(qū)動(dòng)設(shè)計(jì) 8.4 校準(zhǔn)原理及編程思路 8.4.1 線性校準(zhǔn)原理 8.4.2 三點(diǎn)校準(zhǔn)原理 8.5 利用tslib庫校準(zhǔn) 8.6 在MiniGUI中加入觸摸屏驅(qū)動(dòng)第9章 塊設(shè)備驅(qū)動(dòng) 9.1 Linux塊設(shè)備驅(qū)動(dòng) 9.2 簡(jiǎn)單塊設(shè)備驅(qū)動(dòng) 9.3 Linux文件系統(tǒng) 9.4 MTD驅(qū)動(dòng)分析 9.5 cramfs文件系統(tǒng) 9.6 NAND和NOR Flash 9.7 在系統(tǒng)中添加JFFS2分區(qū)第10章 SD卡驅(qū)動(dòng) 10.1 SD卡概述 10.2 SD卡的通信 10.3 SD卡寄存器 10.4 Linux對(duì)SD卡的支持 10.4.1 重要數(shù)據(jù)結(jié)構(gòu) 10.4.2 MMC/SD卡塊設(shè)備驅(qū)動(dòng) 10.4.3 SD卡掃描 10.5 如何開發(fā)一個(gè)SD驅(qū)動(dòng)第11章 網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng) 11.1 網(wǎng)絡(luò)驅(qū)動(dòng)基礎(chǔ) 11.2 sk buff 11.3 Linux網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)架構(gòu) 11.4 一個(gè)虛擬網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng) 11.5 DM9000網(wǎng)卡芯片 11.6 DM9000網(wǎng)卡驅(qū)動(dòng)程序分析第12章 紅外設(shè)備驅(qū)動(dòng) 12.1 紅外通信協(xié)議規(guī)范 12.2 S3C2410X紅外接口 12.3 S3C2410X紅外設(shè)備驅(qū)動(dòng) 12.4 Linux對(duì)紅外網(wǎng)絡(luò)通信的支持 12.5 紅外SOCKET通信第13章 音頻設(shè)備驅(qū)動(dòng) 13.1 Linux音頻體系 13.2 UDAl341TS音頻原理 13.3 S3C2410X的音頻接口 13.4 15DAl341TS驅(qū)動(dòng)開發(fā) 13.5 音頻應(yīng)用層編程 13.5.1 OSS音頻編程接口 13.5.2 ALSA音頻編程接口附錄:深圳優(yōu)龍科技YL2410開發(fā)板簡(jiǎn)介主要參考文獻(xiàn)
章節(jié)摘錄
第1章 Linux驅(qū)動(dòng)程序基礎(chǔ) Linux是操作系統(tǒng)領(lǐng)域的奇跡。Linux操作系統(tǒng)的迅猛發(fā)展,與其具有的良好特性是分不開的。Linux是一種性能優(yōu)良、源碼公開、多用戶、多任務(wù)操作系統(tǒng),目前主要運(yùn)用在大型服務(wù)器領(lǐng)域、網(wǎng)絡(luò)處理應(yīng)用和嵌入式系統(tǒng)。為了加強(qiáng)在嵌入式系統(tǒng)領(lǐng)域的優(yōu)勢(shì),Linux 2.6已經(jīng)在內(nèi)核中加入了提高中斷性能和調(diào)度響應(yīng)時(shí)間的改進(jìn),包括采用可搶占內(nèi)核、效率更高的調(diào)度算法和同步特性。另外,Linux 2.6內(nèi)核加入了包括S3C2410x在內(nèi)的多種微控制器的支持,并開始支持多種流行的無MMU單元的微控制器,如Dragonball、ColdFire、Hitachi H8/300。掌握嵌入式Linux驅(qū)動(dòng)開發(fā) 逐漸成為一種趨勢(shì)。
圖書封面
圖書標(biāo)簽Tags
無
評(píng)論、評(píng)分、閱讀與下載
嵌入式Linux驅(qū)動(dòng)程序設(shè)計(jì)從入門到精通 PDF格式下載