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

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

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

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

作者簡介

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

圖書目錄

第1篇 嵌入式Linux內(nèi)核驅(qū)動開發(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ū)動配置……………………………………………………… 40 1.7.5 USBGadget驅(qū)動配置…………………………………………………… 42 1.7.6 SD/MMC驅(qū)動配置……………………………………………………… 43 1.7.7 網(wǎng)卡驅(qū)動配置……………………………………………………………… 44 1.7.8 NFSClient配置………………………………………………………… 45 1.7.9 PPP撥號配置…………………………………………………………… 45 1.7.10 MTD配置……………………………………………………………… 46 1.7.11 UBIFS文件系統(tǒng)配置…………………………………………………… 47 1.7.12 CAN 驅(qū)動配置…………………………………………………………… 47 1.8 EPC-28x平臺內(nèi)核快速編譯………………………………………………… 48 第2章 Linux設(shè)備驅(qū)動基礎(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è)備號………………………………………………………… 56 2.2.3 設(shè)備的注冊和注銷………………………………………………………… 60 2.3 Linux設(shè)備和驅(qū)動……………………………………………………………… 62 2.3.1 驅(qū)動在Linux中的地位………………………………………………… 62 2.3.2 驅(qū)動的基本要素…………………………………………………………… 62 2.3.3 驅(qū)動和應(yīng)用程序的差別…………………………………………………… 63 2.3.4 驅(qū)動的入口和出口………………………………………………………… 63 2.3.5 支持udev設(shè)備管理方法………………………………………………… 65 2.3.6 設(shè)備驅(qū)動的操作方法……………………………………………………… 70 2.4 字符驅(qū)動框架…………………………………………………………………… 74 2.4.1 字符驅(qū)動框架……………………………………………………………… 74 2.4.2 測試程序…………………………………………………………………… 78 2.5 第一個(gè)完整意義上的驅(qū)動……………………………………………………… 80 2.5.1 ioctl命令………………………………………………………………… 80 2.5.2 內(nèi)核空間的ioctl ………………………………………………………… 82 2.5.3 用戶空間的ioctl ………………………………………………………… 82 2.5.4 LED驅(qū)動范例…………………………………………………………… 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ū)動范例…………………………………………………… 91 2.7 在驅(qū)動中使用中斷……………………………………………………………… 96 2.7.1 申請和釋放中斷…………………………………………………………… 96 2.7.2 中斷處理程序編寫………………………………………………………… 98 2.7.3 按鍵驅(qū)動…………………………………………………………………… 99 2.8 混雜設(shè)備驅(qū)動編程…………………………………………………………… 103 2.8.1 混雜設(shè)備和驅(qū)動………………………………………………………… 103 2.8.2 混雜設(shè)備驅(qū)動框架……………………………………………………… 104 2.9 I/O內(nèi)存訪問………………………………………………………………… 107 2.9.1 靜態(tài)I/O映射…………………………………………………………… 107 2.9.2 動態(tài)I/O映射…………………………………………………………… 110 2.9.3 I/O內(nèi)存訪問函數(shù)……………………………………………………… 110 2.10 Linux設(shè)備驅(qū)動模型………………………………………………………… 111 2.10.1 設(shè) 備…………………………………………………………………… 111 2.10.2 驅(qū) 動…………………………………………………………………… 113 2.10.3 總 線…………………………………………………………………… 114 2.10.4 類………………………………………………………………………… 115 2.11 平臺設(shè)備和驅(qū)動……………………………………………………………… 117 2.11.1 資 源…………………………………………………………………… 117 2.11.2 平臺設(shè)備………………………………………………………………… 119 2.11.3 平臺驅(qū)動………………………………………………………………… 122 2.11.4 平臺驅(qū)動與普通驅(qū)動的差異…………………………………………… 123 2.11.5 平臺驅(qū)動范例…………………………………………………………… 124 第3章 LED 子系統(tǒng)和驅(qū)動………………………………………………………… 131 3.1 LED子系統(tǒng)驅(qū)動簡介………………………………………………………… 131 3.2 LED子系統(tǒng)的分層結(jié)構(gòu)……………………………………………………… 131 3.3 LED設(shè)備的實(shí)現(xiàn)……………………………………………………………… 132 3.4 i.MX28平臺的LED設(shè)備…………………………………………………… 135 第4章 GPIO 驅(qū)動…………………………………………………………………… 138 4.1 GPIOLIB簡介………………………………………………………………… 138 4.2 GPIOLIB的內(nèi)核接口………………………………………………………… 138 4.3 GPIOLIB的實(shí)現(xiàn)方法………………………………………………………… 139 4.4 驅(qū)動示例……………………………………………………………………… 141 第5章 輸入子系統(tǒng)和按鍵驅(qū)動……………………………………………………… 149 5.1 輸入子系統(tǒng)…………………………………………………………………… 149 5.1.1 輸入子系統(tǒng)構(gòu)成………………………………………………………… 149 5.1.2 各事件管理器詳解……………………………………………………… 152 5.1.3 設(shè)備驅(qū)動………………………………………………………………… 154 5.2 驅(qū)動實(shí)現(xiàn)……………………………………………………………………… 158 5.2.1 電路和原理……………………………………………………………… 158 5.2.2 按鍵驅(qū)動實(shí)現(xiàn)…………………………………………………………… 159 第6章 I2C總線和外設(shè)驅(qū)動………………………………………………………… 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ū)動實(shí)現(xiàn)示例…………………………………………………………… 177 6.2.1 FM24C02A 驅(qū)動的設(shè)計(jì)思路…………………………………………… 177 6.2.2 添加FM24C02A 設(shè)備…………………………………………………… 178 6.2.3 實(shí)現(xiàn)FM24C02A 驅(qū)動…………………………………………………… 178 6.2.4 實(shí)現(xiàn)I2C驅(qū)動…………………………………………………………… 178 第7章 SPI總線和外設(shè)驅(qū)動………………………………………………………… 185 7.1 硬件連接……………………………………………………………………… 185 7.2 SPI驅(qū)動架構(gòu)簡析…………………………………………………………… 185 7.2.1 SPI核心層……………………………………………………………… 186 7.2.2 SPI主控制器驅(qū)動層…………………………………………………… 186 7.2.3 SPI設(shè)備驅(qū)動層………………………………………………………… 187 7.2.4 SPI數(shù)據(jù)傳輸…………………………………………………………… 191 7.3 SPINORFlash驅(qū)動………………………………………………………… 193 7.3.1 驅(qū)動實(shí)現(xiàn)………………………………………………………………… 194 7.3.2 配置和編譯……………………………………………………………… 195 7.3.3 測試塊設(shè)備……………………………………………………………… 196 7.4 SPI數(shù)碼管顯示驅(qū)動………………………………………………………… 197 7.4.1 電路原理………………………………………………………………… 197 7.4.2 驅(qū)動實(shí)現(xiàn)………………………………………………………………… 198 7.4.3 驅(qū)動編譯和測試………………………………………………………… 202 第8章 UART和SC16IS752驅(qū)動…………………………………………………… 204 8.1 UART驅(qū)動簡析……………………………………………………………… 204 8.1.1 重要數(shù)據(jù)結(jié)構(gòu)…………………………………………………………… 204 8.1.2 UART驅(qū)動API………………………………………………………… 208 8.2 SC16IS752芯片和電路原理………………………………………………… 210 8.2.1 SC16IS752芯片介紹…………………………………………………… 210 8.2.2 電路原理………………………………………………………………… 212 8.2.3 驅(qū)動移植思路…………………………………………………………… 212 8.3 I2C接口驅(qū)動實(shí)現(xiàn)…………………………………………………………… 212 8.3.1 定義i2c_device_id ……………………………………………………… 212 8.3.2 添加注冊I2C設(shè)備……………………………………………………… 213 8.3.3 I2C驅(qū)動實(shí)現(xiàn)…………………………………………………………… 214 8.4 UART相關(guān)驅(qū)動……………………………………………………………… 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 串口測試……………………………………………………………………… 234 第9章 SGTL5000聲卡驅(qū)動移植…………………………………………………… 235 9.1 背景交代……………………………………………………………………… 235 9.2 電路原理圖…………………………………………………………………… 235 9.3 驅(qū)動移植……………………………………………………………………… 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ū)動移植……………………………………………… 247 10.1 硬件原理圖…………………………………………………………………… 247 10.2 驅(qū)動移植……………………………………………………………………… 248 10.2.1 修改引腳功能…………………………………………………………… 248 10.2.2 添加mmc設(shè)備………………………………………………………… 250 10.2.3 添加驅(qū)動源碼…………………………………………………………… 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ū)動…………………………………………………… 256 10.3 使用網(wǎng)卡……………………………………………………………………… 256 10.3.1 加載驅(qū)動模塊…………………………………………………………… 256 10.3.2 連接到AP ……………………………………………………………… 257 第11章 SIM6320-PCIE3G模塊驅(qū)動移植…………………………………………… 260 11.1 驅(qū)動移植……………………………………………………………………… 260 11.1.1 添加驅(qū)動源碼…………………………………………………………… 260 11.1.2 配置內(nèi)核………………………………………………………………… 260 11.2 PPP撥號上網(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號 鄂公網(wǎng)安備 42010302001612號