出版時間:2010-5 出版社:機(jī)械工業(yè) 作者:俞輝//李永//劉凱//王曉虹 頁數(shù):270
Tag標(biāo)簽:無
前言
嵌入式Linux由于具有開源、網(wǎng)絡(luò)功能強(qiáng)大、內(nèi)核穩(wěn)定高效等特性,在產(chǎn)品開發(fā)周期、產(chǎn)品的功能可擴(kuò)充性、開發(fā)時的人力投入等方面都具有顯著的優(yōu)勢,因此廣泛應(yīng)用于中低端智能電子設(shè)備中。而它與ARM的結(jié)合,更是一種主流的解決方案,嵌入式Linux+ARM已經(jīng)廣泛應(yīng)用于機(jī)頂盒、掌上電腦、消費(fèi)電子、MPC、網(wǎng)絡(luò)設(shè)備、工業(yè)控制等領(lǐng)域,并且具有良好的市場前景。 本書全面介紹以ARM-Linux為操作系統(tǒng)的嵌入式系統(tǒng)設(shè)計(jì)與開發(fā)技術(shù),秉承理論與實(shí)踐相結(jié)合的指導(dǎo)思路,幫助讀者快速跨入嵌入式系統(tǒng)開發(fā)的門檻。本書內(nèi)容豐富、概念清楚、層次分明、通俗易懂,可以作為各類高等院校計(jì)算機(jī)、電子、通信、軟件工程等專業(yè)高年級學(xué)生嵌入式Linux程序設(shè)計(jì)或嵌入式系統(tǒng)程序設(shè)計(jì)等課程的教材,也可作為相關(guān)工程技術(shù)人員和計(jì)算機(jī)愛好者學(xué)習(xí)嵌入式程序設(shè)計(jì)的參考書。 本書的編寫目的與特色 本書在總結(jié)作者多年的教學(xué)經(jīng)驗(yàn)的同時,為嵌入式Linux系統(tǒng)等相關(guān)課程提供配套的教材,通過實(shí)例,使讀者能夠較容易地掌握相關(guān)的嵌入式Linux程序設(shè)計(jì)方面的基本概念和技能;通過綜合實(shí)例的學(xué)習(xí)和模擬,達(dá)到訓(xùn)練實(shí)際開發(fā)能力的目的。 “實(shí)踐”和“創(chuàng)新”是嵌入式系統(tǒng)課程的兩個主要特點(diǎn)。實(shí)踐是整個嵌入式系統(tǒng)課程體系中重要的環(huán)節(jié),而創(chuàng)新的思想貫穿整個嵌入式教學(xué)的始終,最后要通過案例的實(shí)現(xiàn)來對所學(xué)的嵌入式知識進(jìn)行檢驗(yàn)。 本書的主要內(nèi)容與結(jié)構(gòu)安排 本書共11章,分為三篇。第一篇(第1~3章)為“ARM嵌入式Linux系統(tǒng)的基礎(chǔ)與平臺構(gòu)建”,主要介紹嵌入式硬件平臺和軟件系統(tǒng)的基礎(chǔ)知識,以期幫助讀者達(dá)到構(gòu)建嵌入式系統(tǒng)開發(fā)平臺的目的。 第二篇(第4~7章)為“ARM嵌入式Linux系統(tǒng)的驅(qū)動開發(fā)與軟件應(yīng)用”,主要介紹基于ARM-Linux系統(tǒng)的驅(qū)動開發(fā)、軟件移植、圖形用戶接口以及通信應(yīng)用等內(nèi)容。這些內(nèi)容構(gòu)成了嵌入式軟件系統(tǒng)相關(guān)實(shí)驗(yàn)的基礎(chǔ),涵蓋了嵌入式Linux系統(tǒng)的幾乎所有要點(diǎn)。在完成該篇內(nèi)容的學(xué)習(xí)之后,即可進(jìn)入ARM-Linux的實(shí)際應(yīng)用部分。 第三篇(第8~11章)為“ARM嵌入式Linux系統(tǒng)的解決方案與應(yīng)用場合”,主要介紹一些基于ARM-Linux的實(shí)際應(yīng)用方案和案例。本篇包含OMAP5910的相關(guān)應(yīng)用、實(shí)時Mobile Linux系統(tǒng)、嵌入式Linux系統(tǒng)的設(shè)計(jì)與優(yōu)化以及一個嵌入式Linux綜合實(shí)例——數(shù)字油田生產(chǎn)監(jiān)控系統(tǒng)。學(xué)生在了解該篇內(nèi)容后,會對嵌入式系統(tǒng)目前的應(yīng)用場合和解決方案有較深入的了解。 閱讀本書時的注意事項(xiàng) 理論與實(shí)踐相結(jié)合是本書的一大特色。若讀者有相應(yīng)的實(shí)驗(yàn)開發(fā)環(huán)境,建議動手驗(yàn)證書中安排的每一個環(huán)節(jié),會取得良好的效果。具體實(shí)驗(yàn)可以參考《嵌入式Linux程序設(shè)計(jì)案例與實(shí)驗(yàn)教程》1 該書已由機(jī)械工業(yè)出版社出版,書號為:978-7-111-26327-2——編輯注。讀者需要特別注意:1)某些代碼需考慮平臺的差異性,部分硬件相關(guān)代碼需要修改;2)相關(guān)軟件的版本與依賴關(guān)系,同一軟件(包括交叉編譯器)的不同版本在編譯環(huán)境、使用方式、編程要求上存在一些差異,具體要求與區(qū)別均需參考相關(guān)文檔。
內(nèi)容概要
《ARM嵌入式Linux系統(tǒng)設(shè)計(jì)與開發(fā)》全面介紹以ARM-Linux為操作系統(tǒng)的嵌入式系統(tǒng)設(shè)計(jì)與開發(fā)技術(shù),秉承理論與實(shí)踐相結(jié)合的指導(dǎo)思路,幫助讀者快速跨入嵌入式系統(tǒng)開發(fā)的門檻?!禔RM嵌入式Linux系統(tǒng)設(shè)計(jì)與開發(fā)》共11章,分三篇,其中,第一篇(第1~3章)主要介紹嵌入式硬件平臺和軟件系統(tǒng)的基礎(chǔ)知識,第二篇(第4~7章)主要介紹基于ARM-Linux系統(tǒng)的驅(qū)動開發(fā)、軟件移植、圖形用戶接口以及通信應(yīng)用等內(nèi)容,第三篇(第8~11章)主要介紹一些基于ARM-Linux的實(shí)際應(yīng)用方案和案例?! 禔RM嵌入式Linux系統(tǒng)設(shè)計(jì)與開發(fā)》內(nèi)容豐富、概念清楚,適合作為高等院校計(jì)算機(jī)、電子、通信、軟件工程等專業(yè)嵌入式課程的教材,也可供廣大工程技術(shù)人員參考。
書籍目錄
第一篇 ARM嵌入式Linux系統(tǒng)的基礎(chǔ)與平臺構(gòu)建第1章 嵌入式系統(tǒng)基礎(chǔ)11.1 嵌入式系統(tǒng)的概念與特點(diǎn)11.1.1 嵌入式系統(tǒng)的概念11.1.2 嵌入式系統(tǒng)的特點(diǎn)11.1.3 嵌入式系統(tǒng)的軟硬件可裁剪21.1.4 嵌入式系統(tǒng)與單片機(jī)、傳統(tǒng)PC的區(qū)別21.2 嵌入式系統(tǒng)開發(fā)基礎(chǔ)31.2.1 嵌入式系統(tǒng)的硬件基礎(chǔ)31.2.2 嵌入式系統(tǒng)的軟件基礎(chǔ)101.3 嵌入式系統(tǒng)開發(fā)流程與方法141.3.1 嵌入式系統(tǒng)的抽象體系結(jié)構(gòu)141.3.2 實(shí)時軟件分析設(shè)計(jì)方法DARTS151.3.3 嵌入式系統(tǒng)的開發(fā)流程161.3.4 嵌入式Linux系統(tǒng)的程序部署17習(xí)題18第2章 ARM與Linux基礎(chǔ)192.1 ARM概述192.1.1 ARM體系結(jié)構(gòu)192.1.2 XScale體系結(jié)構(gòu)242.2 Linux系統(tǒng)的使用272.2.1 Linux的使用基礎(chǔ)272.2.2 Linux內(nèi)核與結(jié)構(gòu)372.2.3 嵌入式Linux的啟動過程412.3 LinuxC程序設(shè)計(jì)422.3.1 LinuxC程序設(shè)計(jì)基礎(chǔ)432.3.2 調(diào)試工具452.3.3 Linux多線程庫編程52習(xí)題56第3章 嵌入式Linux內(nèi)核、文件系統(tǒng)與存儲573.1 嵌入式引導(dǎo)系統(tǒng)技術(shù)573.1.1 概述573.1.2 u-boot目錄結(jié)構(gòu)583.1.3 u-boot啟動流程及相關(guān)代碼分析593.1.4 u-boot的常用命令673.2 Linux內(nèi)核定制、裁剪和添加683.2.1 概述683.2.2 配置文件和配置工具693.2.3 內(nèi)核的編譯命令713.2.4 內(nèi)核的燒寫過程713.3 文件系統(tǒng)的構(gòu)建733.3.1 概述733.3.2 BusyBox的移植743.4 關(guān)于2.6 版本內(nèi)核的幾點(diǎn)改進(jìn)78習(xí)題79第二篇 ARM嵌入式Linux系統(tǒng)的驅(qū)動開發(fā)與軟件應(yīng)用第4章 嵌入式Linux接口設(shè)計(jì)與驅(qū)動程序814.1 驅(qū)動程序設(shè)計(jì)基礎(chǔ)814.1.1 Linux驅(qū)動程序簡介814.1.2 開發(fā)驅(qū)動程序的方法814.1.3 設(shè)備驅(qū)動程序的分類824.1.4 主設(shè)備號和次設(shè)備號824.1.5 udev介紹834.2 虛擬驅(qū)動模塊實(shí)驗(yàn)904.2.1 內(nèi)核的配置904.2.2 編寫驅(qū)動程序944.2.3 測試程序和Makefile964.2.4 測試程序的執(zhí)行過程964.3 AD接口驅(qū)動程序974.3.1 AD轉(zhuǎn)換器974.3.2 AD轉(zhuǎn)換有關(guān)參數(shù)994.3.3 ARM自帶的AD轉(zhuǎn)換裝置994.3.4 程序說明1004.4 觸摸屏接口設(shè)計(jì)與驅(qū)動1044.4.1 觸摸屏的工作原理1044.4.2 S3C2410芯片的觸摸屏相關(guān)配置寄存器1054.4.3 程序說明1094.5 幀緩沖與LCD驅(qū)動移植1104.5.1 幀緩沖機(jī)制介紹1104.5.2 LCD簡介1114.5.3 LCD控制器初始化時所需的數(shù)據(jù)結(jié)構(gòu)1114.5.4 移植LCD驅(qū)動程序1154.6 V4L程序設(shè)計(jì)1194.6.1 V4L概述1194.6.2 視頻驅(qū)動實(shí)驗(yàn)121習(xí)題128第5章 嵌入式Linux開源軟件移植與應(yīng)用1295.1 開源軟件移植的一般過程1295.1.1 軟件移植的概念1295.1.2 軟件移植過程1295.2 嵌入式WebServerGoAhead的移植與應(yīng)用1305.2.1 嵌入式Web服務(wù)器1305.2.2 GoAhead介紹1315.2.3 GoAhead在ARM平臺上的移植1315.2.4 頁面操作1335.3 嵌入式WebServicegSOAP的移植與應(yīng)用1345.3.1 gSOAP介紹1345.3.2 gSOAP裁剪1375.3.3 gSOAP應(yīng)用1405.3.4 gSOAP移植1455.4 嵌入式數(shù)據(jù)庫SQLite的移植與應(yīng)用1475.4.1 SQLite介紹1475.4.2 SQLite在ARM平臺上的移植1485.4.3 SQLite的使用1515.5 播放器Mplayer的移植1545.5.1 Mplayer介紹1545.5.2 Mplayer在ARM平臺上的移植1545.6 J2ME灢phoneME的移植1575.6.1 phoneME介紹1575.6.2 軟件移植過程1575.7 嵌入式瀏覽器Konqueror的移植1585.7.1 Konqueror介紹1585.7.2 軟件移植過程159習(xí)題161第6章 嵌入式Linux圖形用戶接口1626.1 嵌入式GUI簡介1626.1.1 嵌入式GUI的特點(diǎn)1626.1.2 嵌入式GUI的種類1626.2 嵌入式GUI——Qt1636.2.1 Qt與Qt/Embedded簡介1636.2.2 Qt的特點(diǎn)1636.2.3 Qt的執(zhí)行過程1646.2.4 Qt的插槽機(jī)制1666.2.5 一個完整的Qt程序1666.2.6 QtDesigner介紹1666.3 Qt/E4與鍵盤鼠標(biāo)接口的映射1676.3.1 Qt/E4的移植過程1676.3.2 Qt/E4鍵盤鼠標(biāo)接口的工作原理1706.3.3 Qt/E4與LinuxPS/2鍵盤鼠標(biāo)驅(qū)動的銜接1726.3.4 Qt/E4鍵盤驅(qū)動映射的實(shí)現(xiàn)172習(xí)題174第7章 嵌入式Linux下的通信應(yīng)用1757.1 嵌入式Linux下的串口通信1757.1.1 串口簡介1757.1.2 串口編程1757.1.3 串口編程應(yīng)用實(shí)例1777.2 嵌入式Linux網(wǎng)絡(luò)編程1797.2.1 網(wǎng)絡(luò)通信1797.2.2 Socket簡介1797.2.3 網(wǎng)絡(luò)編程1807.2.4 網(wǎng)絡(luò)編程應(yīng)用實(shí)例1827.3 嵌入式藍(lán)牙技術(shù)1857.3.1 藍(lán)牙技術(shù)1857.3.2 藍(lán)牙體系結(jié)構(gòu)1857.3.3 藍(lán)牙通信網(wǎng)絡(luò)1867.3.4 LinuxBluetooth軟件層1867.3.5 USB適配器1867.3.6 藍(lán)牙應(yīng)用實(shí)例1877.4 CAN總線1917.4.1 CAN總線簡介1917.4.2 CAN總線硬件特征1917.4.3 CAN控制器驅(qū)動1947.4.4 CAN總線編程實(shí)例1967.5 GPS和GPRS的應(yīng)用1997.5.1 GPS原理與應(yīng)用1997.5.2 GPS編程實(shí)例2007.5.3 GPRS原理與應(yīng)用2037.5.4 GPRS編程實(shí)例204習(xí)題205第三篇 ARM嵌入式Linux系統(tǒng)的解決方案與應(yīng)用場合第8章 OMAP5910與LinuxGateway2078.1 OMAP5910體系結(jié)構(gòu)2078.1.1 MPU子系統(tǒng)2078.1.2 DSP子系統(tǒng)2088.2 LinuxDSPGateway2108.2.1 DSPGateway的由來2108.2.2 DSPGateway的Mailbox機(jī)制2108.2.3 通信緩沖2108.2.4 Mailbox命令協(xié)議2138.2.5 DSPGateway的設(shè)備接口2148.3 OMAP5910圖像處理2158.3.1 圖片格式2158.3.2 數(shù)字圖像算法2168.4 基于OMAP的加密終端的實(shí)現(xiàn)(軟件部分)2188.4.1 加密算法簡介2188.4.2 加密終端的具體實(shí)現(xiàn)220習(xí)題221第9章 實(shí)時MobileLinux系統(tǒng)2229.1 LiMo基金會2229.1.1 LiMo基金會介紹2229.1.2 LiMo手機(jī)解決方案的軟件體系結(jié)構(gòu)2229.2 開放手機(jī)聯(lián)盟2249.2.1 開放手機(jī)聯(lián)盟與Android2249.2.2 Android應(yīng)用程序結(jié)構(gòu)分析2279.2.3 Android開發(fā)環(huán)境搭建2299.2.4 Android應(yīng)用程序開發(fā)——-HelloWorld2349.3 MobileLinux系統(tǒng)的構(gòu)建實(shí)例2369.3.1 MarvellPXA310簡介2369.3.2 基于PXA310的MobileLinux系統(tǒng)構(gòu)建過程237習(xí)題240第10章 嵌入式Linux系統(tǒng)的設(shè)計(jì)桖與優(yōu)化24110.1 嵌入式產(chǎn)品的生產(chǎn)鏈與關(guān)鍵因素24110.2 嵌入式系統(tǒng)開發(fā)方法24110.2.1 軟硬件“分離暠設(shè)計(jì)方法24110.2.2 非形式化建模方法與形式化建模方法24210.2.3 結(jié)構(gòu)化設(shè)計(jì)范式與面向?qū)ο笤O(shè)計(jì)范式24310.3 硬件選型對性能的影響24310.3.1 硬件平臺的分類24410.3.2 嵌入式處理器的選擇24410.3.3 外圍設(shè)備的選擇24410.3.4 硬件成本24510.4 軟件設(shè)計(jì)對性能的影響24510.4.1 嵌入式軟件開發(fā)的特點(diǎn)24510.4.2 嵌入式軟件開發(fā)中存在的問題24510.4.3 常用嵌入式軟件設(shè)計(jì)方法24610.5 軟硬件協(xié)同設(shè)計(jì)方法24710.5.1 傳統(tǒng)設(shè)計(jì)方法的局限性24710.5.2 嵌入式軟硬件協(xié)同設(shè)計(jì)方法247習(xí)題249第11章 嵌入式Linux綜合實(shí)例——數(shù)字油田生產(chǎn)監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)25011.1 系統(tǒng)概述25011.1.1 系統(tǒng)結(jié)構(gòu)和功能簡介25011.1.2 軟硬件環(huán)境25211.2 系統(tǒng)設(shè)計(jì)25211.2.1 系統(tǒng)總體方案設(shè)計(jì)25211.2.2 無線傳感器節(jié)點(diǎn)設(shè)計(jì)25311.2.3 遠(yuǎn)程測控終端RTU設(shè)計(jì)25411.3 軟件設(shè)計(jì)25911.3.1 遠(yuǎn)程測控終端RTU軟件設(shè)計(jì)25911.3.2 監(jiān)控中心軟件設(shè)計(jì)266參考文獻(xiàn)271
章節(jié)摘錄
插圖:2.硬件設(shè)計(jì)開發(fā)步驟與注意點(diǎn)(1)開發(fā)步驟 硬件設(shè)計(jì)的開發(fā)步驟包括需求分析、系統(tǒng)的軟硬件設(shè)計(jì)以及最后的相關(guān)測試和部署工作,具體如下:1)需求分析:首先分析系統(tǒng)工作原理,然后選擇合適的參考硬件平臺和軟件系統(tǒng)。·了解系統(tǒng)工作原理:分析系統(tǒng)的運(yùn)作流程和功能模塊,了解系統(tǒng)需要使用哪些組件,并完成哪些職能?!みx擇參考硬件平臺:選擇合適的硬件平臺,考慮大小、價格、功耗等各種因素,系統(tǒng)的大部分模塊在硬件平臺上可以直接測試。根據(jù)項(xiàng)目的需求,也可以對硬件配置以及軟件支持的程度進(jìn)行適當(dāng)?shù)恼{(diào)整。綜合上述考慮因素,本書以基于ARM系列處理器的開發(fā)板作為相應(yīng)的平臺。·選擇操作系統(tǒng)和軟件:嵌入式操作系統(tǒng)種類繁多且各有特點(diǎn),其中最為主流的是Win-dows CE和Linux操作系統(tǒng)。Linux具有自己的優(yōu)勢,不僅操作系統(tǒng)和應(yīng)用軟件都開源,而且可以裁剪。2)系統(tǒng)設(shè)計(jì):對于嵌入式系統(tǒng)設(shè)計(jì)來說,需要進(jìn)行硬件設(shè)計(jì)和軟件開發(fā)兩個方面的工作。硬件設(shè)計(jì)即對應(yīng)于開發(fā)產(chǎn)品的相應(yīng)功能,決定選擇哪些硬件模塊,裁剪哪些硬件模塊。然后,需要對開發(fā)板提供的各種應(yīng)用接口進(jìn)行二次開發(fā),完成嵌入式系統(tǒng)設(shè)計(jì)的基板。而軟件開發(fā)是一個反復(fù)修改和編譯的過程,其軟件移植包括Linux系統(tǒng)的三個組成部分:引導(dǎo)系統(tǒng)的移植、內(nèi)核移植以及應(yīng)用程序的移植。其中引導(dǎo)系統(tǒng)和內(nèi)核移植將在第3章詳細(xì)描述,而應(yīng)用程序的功能一般包含圖形用戶接口和系統(tǒng)數(shù)據(jù)功能的實(shí)現(xiàn),這部分將在第4章至第7章進(jìn)行詳細(xì)的描述。3)系統(tǒng)集成與部署:硬件設(shè)計(jì)和軟件開發(fā)都完成之后,就可以對樣機(jī)進(jìn)行測試了。測試可以先使用NFS方式,即所有的程序都在宿主機(jī)上,并且遠(yuǎn)程連接開發(fā)平臺,使得這些程序能夠在開發(fā)平臺上實(shí)現(xiàn)。NFS方式之后即可以部署到開發(fā)平臺上測試。反復(fù)執(zhí)行測試過程,直到測試階段完成。系統(tǒng)集成與部署流程如圖1-1所示。當(dāng)系統(tǒng)測試完成之后,產(chǎn)品就可以正常工作了。但是考慮到產(chǎn)品成本控制、升級和維護(hù),真正產(chǎn)品化還需要大量的工作。(2)硬件設(shè)計(jì)中應(yīng)注意的一些問題1)IC元件的選擇:在選擇IC元件的時候,要注意對于無鉛及有鉛元件的選擇。全球都已經(jīng)開始提倡電子產(chǎn)品的無鉛化,而我國也正處于有鉛工藝向無鉛工藝轉(zhuǎn)換的過渡時期。因此,大部分元器件廠商提供的元器件也就有無鉛與有鉛兩種規(guī)格,有的廠商甚至已經(jīng)停止有鉛元件的生產(chǎn)。所以當(dāng)一個產(chǎn)品設(shè)計(jì)完成后,設(shè)計(jì)人員需要確認(rèn)選擇的元器件是采用無鉛工藝還是有鉛工藝。如果在整個電路板上同時使用有鉛元件與無鉛元件,則不僅會給SMT生產(chǎn)工藝帶來一定的困難,還可能帶來整板一致性的缺陷。無鉛元件的回流焊峰值溫度在255℃左右,而有鉛元件的回流焊峰值溫度最高不超過235℃,而且兩種工藝的溫區(qū)數(shù)量也可能不同。
編輯推薦
《ARM嵌入式Linux系統(tǒng)設(shè)計(jì)與開發(fā)》基于作者多年對課程教學(xué)的思考和實(shí)踐編寫而成,充分體現(xiàn)了理論與實(shí)踐相結(jié)合的特色。采取理論與實(shí)踐相結(jié)合的指導(dǎo)思路,介紹以ARM-Linux為操作系統(tǒng)的嵌入式系統(tǒng)設(shè)計(jì)與開發(fā)技術(shù)。內(nèi)容豐富,涵蓋進(jìn)行嵌入式Linux系統(tǒng)開發(fā)所需掌握的相關(guān)知識。嵌入式Linux具有開源、網(wǎng)絡(luò)功能強(qiáng)大、內(nèi)核穩(wěn)定高效等特性,廣泛應(yīng)用于中低端智能電子設(shè)備中。而它與ARM的結(jié)合,更是一種主流的解決方案,嵌入式Linux+ARM已經(jīng)廣泛應(yīng)用于機(jī)頂盒、掌上電腦、消費(fèi)電子、MPC、網(wǎng)絡(luò)設(shè)備、工業(yè)控制等領(lǐng)域。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載
ARM嵌入式Linux系統(tǒng)設(shè)計(jì)與開發(fā) PDF格式下載