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

嵌入式Linux開發(fā)教程(下冊(cè))

嵌入式Linux開發(fā)教程(下冊(cè))

定 價(jià):¥49.00

作 者: 周立功,ZLG Linux開發(fā)團(tuán)隊(duì)
出版社: 北京航空航天大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787512422537 出版時(shí)間: 2016-10-01 包裝:
開本: 16開 頁數(shù): 334 字?jǐn)?shù):  

內(nèi)容簡介

  本教程是面向嵌入式Linux學(xué)習(xí)和產(chǎn)品開發(fā)的入門教程,分上下兩冊(cè)。本書為下冊(cè),分3篇,共16章,內(nèi)容涵蓋Linux內(nèi)核、設(shè)備驅(qū)動(dòng)、系統(tǒng)整合和產(chǎn)品化等方面。其中,設(shè)備驅(qū)動(dòng)部分是重點(diǎn)內(nèi)容,從模塊編寫開始,深入淺出地講述了驅(qū)動(dòng)編寫的各個(gè)方面;之后以Linux子系統(tǒng)為單位,分別講述了各常用外設(shè)的驅(qū)動(dòng)編寫或移植,如LED、GPIO、I2C、SPI、Input子系統(tǒng)、串口、聲卡、WiFi網(wǎng)卡和3G模塊等。本 書由淺入深,結(jié)構(gòu)合理,實(shí)用性強(qiáng),提供的范例稍加改動(dòng)即可應(yīng)用于實(shí)際項(xiàng)目。閱讀本書需要有一定Linux使用基礎(chǔ),適合于準(zhǔn)備往驅(qū)動(dòng)方向發(fā)展的嵌入式Linux開發(fā)工程師,也可作為高校非計(jì)算機(jī)專業(yè)高年級(jí)學(xué)生學(xué)習(xí)嵌入式Linux驅(qū)動(dòng)的參考教材。

作者簡介

暫缺《嵌入式Linux開發(fā)教程(下冊(cè))》作者簡介

圖書目錄

第1篇 嵌入式Linux內(nèi)核驅(qū)動(dòng)開發(fā) 第1章 Linux內(nèi)核裁剪和定制………………………………………………………… 3 1.1 Linux內(nèi)核開發(fā)簡介…………………………………………………………… 3 1.2 Linux源碼閱讀工具…………………………………………………………… 3 1.2.1 SourceInsight……………………………………………………………… 4 1.2.2 Eclipse ……………………………………………………………………… 6 1.2.3 Vim+ctags+cscope ……………………………………………………… 8 1.2.4 LXR ………………………………………………………………………… 8 1.3 Linux內(nèi)核源碼………………………………………………………………… 10 1.3.1 目錄樹概覽………………………………………………………………… 10 1.3.2 快速確定主板關(guān)聯(lián)代碼…………………………………………………… 12 1.4 Linux內(nèi)核中的Makefile文件………………………………………………… 14 1.4.1 頂層Makefile …………………………………………………………… 15 1.4.2 子目錄的Makefile ……………………………………………………… 16 1.5 Linux內(nèi)核中的Kconfig文件………………………………………………… 17 1.5.1 Kconfig基本語法………………………………………………………… 17 1.5.2 配置項(xiàng)和配置開關(guān)………………………………………………………… 20 1.6 配置和編譯Linux內(nèi)核……………………………………………………… 21 1.6.1 快速配置內(nèi)核……………………………………………………………… 21 1.6.2 內(nèi)核配置詳情……………………………………………………………… 23 1.6.3 編譯內(nèi)核…………………………………………………………………… 32 1.6.4 運(yùn)行內(nèi)核…………………………………………………………………… 37 1.7 Linux內(nèi)核裁剪實(shí)例…………………………………………………………… 38 1.7.1 GPIO子系統(tǒng)配置………………………………………………………… 38 1.7.2 LED子系統(tǒng)配置………………………………………………………… 39 1.7.3 串口配置…………………………………………………………………… 40 1.7.4 USBHost驅(qū)動(dòng)配置……………………………………………………… 40 1.7.5 USBGadget驅(qū)動(dòng)配置…………………………………………………… 42 1.7.6 SD/MMC驅(qū)動(dòng)配置……………………………………………………… 43 1.7.7 網(wǎng)卡驅(qū)動(dòng)配置……………………………………………………………… 44 1.7.8 NFSClient配置………………………………………………………… 45 1.7.9 PPP撥號(hào)配置…………………………………………………………… 45 1.7.10 MTD配置……………………………………………………………… 46 1.7.11 UBIFS文件系統(tǒng)配置…………………………………………………… 47 1.7.12 CAN 驅(qū)動(dòng)配置…………………………………………………………… 47 1.8 EPC-28x平臺(tái)內(nèi)核快速編譯………………………………………………… 48 第2章 Linux設(shè)備驅(qū)動(dòng)基礎(chǔ)………………………………………………………… 49 2.1 Linux內(nèi)核模塊………………………………………………………………… 49 2.1.1 Linux和模塊……………………………………………………………… 49 2.1.2 編寫內(nèi)核模塊……………………………………………………………… 49 2.1.3 最簡單的內(nèi)核模塊………………………………………………………… 53 2.1.4 帶參數(shù)的內(nèi)核模塊………………………………………………………… 54 2.2 Linux設(shè)備……………………………………………………………………… 56 2.2.1 Linux設(shè)備和分類………………………………………………………… 56 2.2.2 設(shè)備節(jié)點(diǎn)和設(shè)備號(hào)………………………………………………………… 56 2.2.3 設(shè)備的注冊(cè)和注銷………………………………………………………… 60 2.3 Linux設(shè)備和驅(qū)動(dòng)……………………………………………………………… 62 2.3.1 驅(qū)動(dòng)在Linux中的地位………………………………………………… 62 2.3.2 驅(qū)動(dòng)的基本要素…………………………………………………………… 62 2.3.3 驅(qū)動(dòng)和應(yīng)用程序的差別…………………………………………………… 63 2.3.4 驅(qū)動(dòng)的入口和出口………………………………………………………… 63 2.3.5 支持udev設(shè)備管理方法………………………………………………… 65 2.3.6 設(shè)備驅(qū)動(dòng)的操作方法……………………………………………………… 70 2.4 字符驅(qū)動(dòng)框架…………………………………………………………………… 74 2.4.1 字符驅(qū)動(dòng)框架……………………………………………………………… 74 2.4.2 測(cè)試程序…………………………………………………………………… 78 2.5 第一個(gè)完整意義上的驅(qū)動(dòng)……………………………………………………… 80 2.5.1 ioctl命令………………………………………………………………… 80 2.5.2 內(nèi)核空間的ioctl ………………………………………………………… 82 2.5.3 用戶空間的ioctl ………………………………………………………… 82 2.5.4 LED驅(qū)動(dòng)范例…………………………………………………………… 82 2.6 內(nèi)核/用戶空間的數(shù)據(jù)交換…………………………………………………… 88 2.6.1 檢查地址的合法性………………………………………………………… 88 2.6.2 往用戶空間傳遞數(shù)據(jù)……………………………………………………… 88 2.6.3 從用戶空間獲取數(shù)據(jù)……………………………………………………… 90 2.6.4 支持讀/寫的驅(qū)動(dòng)范例…………………………………………………… 91 2.7 在驅(qū)動(dòng)中使用中斷……………………………………………………………… 96 2.7.1 申請(qǐng)和釋放中斷…………………………………………………………… 96 2.7.2 中斷處理程序編寫………………………………………………………… 98 2.7.3 按鍵驅(qū)動(dòng)…………………………………………………………………… 99 2.8 混雜設(shè)備驅(qū)動(dòng)編程…………………………………………………………… 103 2.8.1 混雜設(shè)備和驅(qū)動(dòng)………………………………………………………… 103 2.8.2 混雜設(shè)備驅(qū)動(dòng)框架……………………………………………………… 104 2.9 I/O內(nèi)存訪問………………………………………………………………… 107 2.9.1 靜態(tài)I/O映射…………………………………………………………… 107 2.9.2 動(dòng)態(tài)I/O映射…………………………………………………………… 110 2.9.3 I/O內(nèi)存訪問函數(shù)……………………………………………………… 110 2.10 Linux設(shè)備驅(qū)動(dòng)模型………………………………………………………… 111 2.10.1 設(shè) 備…………………………………………………………………… 111 2.10.2 驅(qū) 動(dòng)…………………………………………………………………… 113 2.10.3 總 線…………………………………………………………………… 114 2.10.4 類………………………………………………………………………… 115 2.11 平臺(tái)設(shè)備和驅(qū)動(dòng)……………………………………………………………… 117 2.11.1 資 源…………………………………………………………………… 117 2.11.2 平臺(tái)設(shè)備………………………………………………………………… 119 2.11.3 平臺(tái)驅(qū)動(dòng)………………………………………………………………… 122 2.11.4 平臺(tái)驅(qū)動(dòng)與普通驅(qū)動(dòng)的差異…………………………………………… 123 2.11.5 平臺(tái)驅(qū)動(dòng)范例…………………………………………………………… 124 第3章 LED 子系統(tǒng)和驅(qū)動(dòng)………………………………………………………… 131 3.1 LED子系統(tǒng)驅(qū)動(dòng)簡介………………………………………………………… 131 3.2 LED子系統(tǒng)的分層結(jié)構(gòu)……………………………………………………… 131 3.3 LED設(shè)備的實(shí)現(xiàn)……………………………………………………………… 132 3.4 i.MX28平臺(tái)的LED設(shè)備…………………………………………………… 135 第4章 GPIO 驅(qū)動(dòng)…………………………………………………………………… 138 4.1 GPIOLIB簡介………………………………………………………………… 138 4.2 GPIOLIB的內(nèi)核接口………………………………………………………… 138 4.3 GPIOLIB的實(shí)現(xiàn)方法………………………………………………………… 139 4.4 驅(qū)動(dòng)示例……………………………………………………………………… 141 第5章 輸入子系統(tǒng)和按鍵驅(qū)動(dòng)……………………………………………………… 149 5.1 輸入子系統(tǒng)…………………………………………………………………… 149 5.1.1 輸入子系統(tǒng)構(gòu)成………………………………………………………… 149 5.1.2 各事件管理器詳解……………………………………………………… 152 5.1.3 設(shè)備驅(qū)動(dòng)………………………………………………………………… 154 5.2 驅(qū)動(dòng)實(shí)現(xiàn)……………………………………………………………………… 158 5.2.1 電路和原理……………………………………………………………… 158 5.2.2 按鍵驅(qū)動(dòng)實(shí)現(xiàn)…………………………………………………………… 159 第6章 I2C總線和外設(shè)驅(qū)動(dòng)………………………………………………………… 165 6.1 I2C子系統(tǒng)…………………………………………………………………… 165 6.1.1 I2C子系統(tǒng)的設(shè)計(jì)思路………………………………………………… 165 6.1.2 I2C子系統(tǒng)的實(shí)現(xiàn)……………………………………………………… 169 6.1.3 I2C子系統(tǒng)在/sys文件系統(tǒng)的信息…………………………………… 176 6.2 I2C驅(qū)動(dòng)實(shí)現(xiàn)示例…………………………………………………………… 177 6.2.1 FM24C02A 驅(qū)動(dòng)的設(shè)計(jì)思路…………………………………………… 177 6.2.2 添加FM24C02A 設(shè)備…………………………………………………… 178 6.2.3 實(shí)現(xiàn)FM24C02A 驅(qū)動(dòng)…………………………………………………… 178 6.2.4 實(shí)現(xiàn)I2C驅(qū)動(dòng)…………………………………………………………… 178 第7章 SPI總線和外設(shè)驅(qū)動(dòng)………………………………………………………… 185 7.1 硬件連接……………………………………………………………………… 185 7.2 SPI驅(qū)動(dòng)架構(gòu)簡析…………………………………………………………… 185 7.2.1 SPI核心層……………………………………………………………… 186 7.2.2 SPI主控制器驅(qū)動(dòng)層…………………………………………………… 186 7.2.3 SPI設(shè)備驅(qū)動(dòng)層………………………………………………………… 187 7.2.4 SPI數(shù)據(jù)傳輸…………………………………………………………… 191 7.3 SPINORFlash驅(qū)動(dòng)………………………………………………………… 193 7.3.1 驅(qū)動(dòng)實(shí)現(xiàn)………………………………………………………………… 194 7.3.2 配置和編譯……………………………………………………………… 195 7.3.3 測(cè)試塊設(shè)備……………………………………………………………… 196 7.4 SPI數(shù)碼管顯示驅(qū)動(dòng)………………………………………………………… 197 7.4.1 電路原理………………………………………………………………… 197 7.4.2 驅(qū)動(dòng)實(shí)現(xiàn)………………………………………………………………… 198 7.4.3 驅(qū)動(dòng)編譯和測(cè)試………………………………………………………… 202 第8章 UART和SC16IS752驅(qū)動(dòng)…………………………………………………… 204 8.1 UART驅(qū)動(dòng)簡析……………………………………………………………… 204 8.1.1 重要數(shù)據(jù)結(jié)構(gòu)…………………………………………………………… 204 8.1.2 UART驅(qū)動(dòng)API………………………………………………………… 208 8.2 SC16IS752芯片和電路原理………………………………………………… 210 8.2.1 SC16IS752芯片介紹…………………………………………………… 210 8.2.2 電路原理………………………………………………………………… 212 8.2.3 驅(qū)動(dòng)移植思路…………………………………………………………… 212 8.3 I2C接口驅(qū)動(dòng)實(shí)現(xiàn)…………………………………………………………… 212 8.3.1 定義i2c_device_id ……………………………………………………… 212 8.3.2 添加注冊(cè)I2C設(shè)備……………………………………………………… 213 8.3.3 I2C驅(qū)動(dòng)實(shí)現(xiàn)…………………………………………………………… 214 8.4 UART相關(guān)驅(qū)動(dòng)……………………………………………………………… 214 8.4.1 信息描述和數(shù)據(jù)結(jié)構(gòu)…………………………………………………… 214 8.4.2 底層操作函數(shù)和實(shí)現(xiàn)…………………………………………………… 215 8.4.3 probe函數(shù)和實(shí)現(xiàn)……………………………………………………… 219 8.4.4 uart_ops函數(shù)和實(shí)現(xiàn)…………………………………………………… 221 8.4.5 中斷處理………………………………………………………………… 230 8.5 串口測(cè)試……………………………………………………………………… 234 第9章 SGTL5000聲卡驅(qū)動(dòng)移植…………………………………………………… 235 9.1 背景交代……………………………………………………………………… 235 9.2 電路原理圖…………………………………………………………………… 235 9.3 驅(qū)動(dòng)移植……………………………………………………………………… 237 9.3.1 引腳設(shè)置………………………………………………………………… 237 9.3.2 添加SGTL5000I2C設(shè)備……………………………………………… 238 9.3.3 配置和編譯……………………………………………………………… 239 9.3.4 修正播放音頻的問題…………………………………………………… 239 9.4 音頻接口操作………………………………………………………………… 242 第10章 AP6181無線網(wǎng)卡驅(qū)動(dòng)移植……………………………………………… 247 10.1 硬件原理圖…………………………………………………………………… 247 10.2 驅(qū)動(dòng)移植……………………………………………………………………… 248 10.2.1 修改引腳功能…………………………………………………………… 248 10.2.2 添加mmc設(shè)備………………………………………………………… 250 10.2.3 添加驅(qū)動(dòng)源碼…………………………………………………………… 252 10.2.4 添加喚醒中斷…………………………………………………………… 252 10.2.5 添加上下電控制………………………………………………………… 253 10.2.6 修改內(nèi)核配置文件……………………………………………………… 254 10.2.7 配置內(nèi)核………………………………………………………………… 255 10.2.8 編譯內(nèi)核、模塊驅(qū)動(dòng)…………………………………………………… 256 10.3 使用網(wǎng)卡……………………………………………………………………… 256 10.3.1 加載驅(qū)動(dòng)模塊…………………………………………………………… 256 10.3.2 連接到AP ……………………………………………………………… 257 第11章 SIM6320-PCIE3G模塊驅(qū)動(dòng)移植…………………………………………… 260 11.1 驅(qū)動(dòng)移植……………………………………………………………………… 260 11.1.1 添加驅(qū)動(dòng)源碼…………………………………………………………… 260 11.1.2 配置內(nèi)核………………………………………………………………… 260 11.2 PPP撥號(hào)上網(wǎng)……………………………………………………………… 262 第12章 嵌入式Linux和Bootloader ……………………………………………… 267 第13章 嵌入式Linux文件系統(tǒng)…………………………………………………… 290
第14章 Buildroot …………………………………………………………………… 301
第15章 OpenWRT ………………………………………………………………… 313
第3篇 產(chǎn)品化和創(chuàng)意
第16章 產(chǎn)品化和創(chuàng)意……………………………………………………………… 319 參考文獻(xiàn) ……………………………………………………………………………… 334

本目錄推薦

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