Linux2.6嵌入式系統(tǒng)開發(fā)與實踐

出版時間:2010-5  出版社:北京航空航天大學出版社  作者:李朱峰 編  頁數(shù):360  
Tag標簽:無  

前言

近年來隨著計算機技術(shù)的發(fā)展和各個行業(yè)信息化的持續(xù)深入,嵌人式系統(tǒng),因其可定制性,已廣泛應(yīng)用于網(wǎng)絡(luò)通信、消費電子、制造、工業(yè)控制、安防系統(tǒng)等領(lǐng)域,正在信息化的大舞臺上不斷地展現(xiàn)出其獨特的魅力。嵌入式系統(tǒng)日益廣泛的應(yīng)用,讓人們看到了這項技術(shù)所蘊涵的巨大市場潛力。根據(jù)賽迪顧問2008年對嵌入式系統(tǒng)行業(yè)的市場規(guī)模的調(diào)研數(shù)據(jù)顯示,中國嵌入式系統(tǒng)的產(chǎn)業(yè)規(guī)模已突破1000億元。市場的需求必然帶動對技術(shù)人才的需求。目前嵌入式系統(tǒng)技術(shù)已經(jīng)成為最熱門的技術(shù)之一,吸引了大批的優(yōu)秀人才投身其中。作為實踐性很強的專業(yè)技術(shù),嵌入式系統(tǒng)的設(shè)計與開發(fā)不僅要求很扎實的理論知識功底,而且對動手實踐能力也提出了很高的要求。本書以北京奧爾斯電子科技有限公司研發(fā)的PXA270RP教學實驗系統(tǒng)為基礎(chǔ)硬件平臺,講解實際的嵌入式硬件平臺上的軟件和應(yīng)用程序開發(fā),讓學習者擺脫單一的理論學習與動手實踐相脫節(jié)的學習狀態(tài),實際地進入項目開發(fā)實踐,有效提高學習效率,讓學習更加具有針對性。嵌入式操作系統(tǒng)在整個嵌入式系統(tǒng)中扮演著“靈魂”的角色,操作系統(tǒng)的存在徹底改變了嵌入式開發(fā)的模式,加快了開發(fā)速度。Linux系統(tǒng)作為開源的操作系統(tǒng),對于嵌入式系統(tǒng)來說天生就具有很多優(yōu)勢。可自由增減的內(nèi)核,模塊化的結(jié)構(gòu),穩(wěn)定小巧,易于裁剪的特性,對于資源有限的嵌入式系統(tǒng)來說是很重要的特點。Linux是自由軟件,任何人都可以在遵循GPL規(guī)范的情況下無償?shù)孬@得源碼,并可以進行任意的修改、發(fā)布,所以嵌入式Linux的成本幾乎是零。另外,Linux的優(yōu)秀網(wǎng)絡(luò)特性,為它贏得了眾多具有網(wǎng)絡(luò)功能的嵌入式產(chǎn)品的青睞。本書從實際開發(fā)出發(fā),結(jié)合實例講解如何進行嵌入式Linux開發(fā),對所涉及的開發(fā)底層細節(jié),從硬件設(shè)計到軟件設(shè)計給出了詳細闡述。書中對相關(guān)的實驗代碼進行了詳細講解,希望讀者可以把握嵌入式開發(fā)中的重點、難點,從而對以后的工程應(yīng)用和項目開發(fā)有所幫助。本書分為四篇,共12章,具體的內(nèi)容安排如下:第一篇,入門篇,包括第1章和第2章。主要介紹Linux2.6內(nèi)核的特性以及嵌人式Linux的特點和啟動過程。第1章對Linux2.6 系統(tǒng)內(nèi)核的架構(gòu)、Linux系統(tǒng)的引導過程、Linux內(nèi)核的相關(guān)工作機制進行了相應(yīng)介紹;第2章主要介紹嵌入式系統(tǒng)的現(xiàn)狀、嵌入式Linux操作系統(tǒng)的特點以及對發(fā)展現(xiàn)狀作了重點介紹,并分析了PXA270RP平臺上的嵌入式Linux系統(tǒng)引導程序、內(nèi)核、文件系統(tǒng)啟動的整個過程。第二篇,開發(fā)初探篇,包括第3章和第4章。其中第3章從開發(fā)者的角度出發(fā),詳細講解了嵌入式Linux開發(fā)工具、Linux驅(qū)動的原理與架構(gòu)、嵌入式Linux驅(qū)動程序編寫的詳細過程、PXA270RP操作系統(tǒng)的定制等知識。第4章主要講解在PXA270RP平臺上的嵌入式開發(fā)環(huán)境的建立與配置,以及在此硬件平臺上的系統(tǒng)移植,引導讀者逐步進入嵌入式開發(fā)的狀態(tài)。第三篇,驅(qū)動程序開發(fā)篇,包括第5章、第6章和第7章。從GPL端口的使用,到I/0內(nèi)存的讀寫,再到IC總線的驅(qū)動,具體講解嵌入式系統(tǒng)硬件的驅(qū)動編寫方法。

內(nèi)容概要

從教學和應(yīng)用研究的角度出發(fā),本書開篇介紹了Linux系統(tǒng)的概念及。其發(fā)展歷史、Linux2.6內(nèi)核的架構(gòu)、引導過程、內(nèi)核的管理等方面內(nèi)容。第二篇逐步引導讀者進人嵌入式Linux的開發(fā),包括工程編譯和調(diào)試、開發(fā)流程等。第三篇給出大量的工程應(yīng)用實例,如GPIO應(yīng)用、I/O內(nèi)存的存取、I2C總線驅(qū)動等。結(jié)合當前嵌入式系統(tǒng)應(yīng)用比較熱門的領(lǐng)域,在第四篇中給出了擴展應(yīng)用的實例,如串口通信、RS485通信、USB藍牙、WiFi無線網(wǎng)卡、網(wǎng)絡(luò)通信等。最后,為了方便研究人員擴展工程上的開發(fā)應(yīng)用,給出了擴展的RF射頻、電機和GPS/GPRS方面應(yīng)用實例,以供學習參考。  本書可以作為嵌入式系統(tǒng)的學習教材或參考書,也可供從事相關(guān)工作的工程師或科研人員參考。

書籍目錄

第一篇 入門篇  第1章 Linux 2.6內(nèi)核概述   1.1 Linux概述   1.2 Linux內(nèi)核架構(gòu)   1.3 Linux系統(tǒng)的引導   1.4 Linux內(nèi)核分析  第2章 嵌入式Linux   2,1 嵌入式系統(tǒng)概述   2.2 嵌入式Linux操作系統(tǒng)   2.3 嵌入式Linux的啟動過程 第二篇 開發(fā)初探篇  第3章 嵌入式Linux開發(fā)入門   3.1 嵌入式Linux軟件開發(fā)工具   3.2 嵌入式Linux驅(qū)動程序開發(fā)   3.3 嵌入式Linux程序開發(fā)初探   3.4 制作PXA270RP平臺的Linux系統(tǒng)  第4章 開發(fā)環(huán)境的搭建   4.1 安裝Linux開發(fā)系統(tǒng)   4.2 配置Linux開發(fā)環(huán)境   4.3 建立PC機和PXA270RP的硬件連接   4.4 燒寫Linux系統(tǒng)到目標機 第三篇 驅(qū)動程序開發(fā)篇  第5章 GPIO   5.1 PXA270 GPIO介紹   5.2 GPIO-LED控制   5.3 按鍵中斷   5.4 蜂鳴器   5.5 繼電器   5.6 數(shù)碼管  第6章 I/O內(nèi)存   6.1 Linux2.6 I/O內(nèi)存   6.2 撥碼開關(guān)   6.3 LED點陣   6.4 鍵 盤   6.5 NAND Flash  第7章 I2C總線和驅(qū)動分析   7.1 I2C總線概述   7.2 Linux的I2C體系結(jié)構(gòu)   7.3 16位A/D轉(zhuǎn)換   7.4 8位AD/DA轉(zhuǎn)換   7.5 EEPROM讀/寫   7.6 溫度傳感器 第四篇 擴展應(yīng)用篇  第8章 串口通信   8.1 串口通信概述   8.2 PXA270串口硬件描述   8.3 PXA270RP串口驅(qū)動程序   8.4 RS-232與PC機通信   8.5 RS-485通信  第9章 USB通信   9.1 USB體系與通信協(xié)議   9.2 PXA27x處理器USB控制器   9.3 LinuxUSB驅(qū)動結(jié)構(gòu)   9.4 USB設(shè)備使用實例   9.5 USB藍牙應(yīng)用   9.6 無線網(wǎng)卡  第10章 多媒體   10.1 LCD設(shè)備驅(qū)動   10.2 MP3音頻播放  第11章 網(wǎng)絡(luò)通信   11.1 嵌入式設(shè)備以太網(wǎng)擴展   11.2 Linux網(wǎng)絡(luò)驅(qū)動體系結(jié)構(gòu)   11.3 socket通信   11.4 Web服務(wù)器  第12章 擴展應(yīng)用   12.1 擴展接口   12.2 RF射頻   12.3 電機實驗   12.4 GPS   12.5 GSM/GPRS   12.6 多線程 參考文獻

章節(jié)摘錄

插圖:處理器的控制單元會檢測在執(zhí)行指令的過程中是否發(fā)生了中斷或異常,如果檢測到異常發(fā)生,將直接跳轉(zhuǎn)到相應(yīng)的異常處理程序進行異常處理——向?qū)е庐惓5漠斍斑M程發(fā)送一個異常信號。由當前進程決定如何處理,要么恢復(定義了異常信號處理函數(shù),當信號發(fā)生時,執(zhí)行相應(yīng)的處理函數(shù)進行恢復);要么退出(沒有針對該異常信號的處理,執(zhí)行缺省操作,通常是退出)。5.延遲處理中斷處理必須要快,要盡可能地縮短不能響應(yīng)中斷的時間。Linux內(nèi)核中的延遲處理機制就是設(shè)計用來解決這一問題的。延遲處理機制的主要思想是將中斷處理過程分為兩部分:緊急的、不緊急的(在內(nèi)核中分別稱為上半部、下半部)。上半部主要處理和硬件相關(guān)的操作,如檢查設(shè)備狀態(tài)、讀取設(shè)備的緩存、設(shè)置設(shè)備到新的工作狀態(tài),剩余的后期處理即為下半部的任務(wù)。下半部將盡可能多的處理從上半部移出到下半部的任務(wù),在上半部中只保留必要的操作,這樣就可以減少系統(tǒng)不能響應(yīng)同一外設(shè)中斷的時間。1.4.3 系統(tǒng)調(diào)用操作系統(tǒng)作為計算機系統(tǒng)資源的管理者,需要一種手段向用戶進程提供服務(wù)使得用戶進程可以訪問這些系統(tǒng)資源,這一手段就是系統(tǒng)調(diào)用。Linux內(nèi)核中設(shè)置了一組用于實現(xiàn)各種系統(tǒng)功能的子程序,用戶可以通過系統(tǒng)調(diào)用命令在自己的應(yīng)用程序中調(diào)用它們。從某種角度來看,系統(tǒng)調(diào)用和普通的函數(shù)調(diào)用非常相似。區(qū)別僅僅在于,系統(tǒng)調(diào)用由操作系統(tǒng)核心提供,運行于核心態(tài);而普通的函數(shù)調(diào)用由函數(shù)庫或用戶自己提供,運行于用戶態(tài)。系統(tǒng)調(diào)用在Linux系統(tǒng)中發(fā)揮著巨大的作用,如果沒有系統(tǒng)調(diào)用,那么應(yīng)用程序就失去了內(nèi)核的支持。編程時用到的很多函數(shù),如fork、open等,這些函數(shù)最終都是在系統(tǒng)調(diào)用里實現(xiàn)的。1.系統(tǒng)調(diào)用接口進程是不能訪問內(nèi)核的。它不能訪問內(nèi)核所占內(nèi)存空間也不能調(diào)用內(nèi)核函數(shù)。CPU硬件決定了這些(這就是為什么它被稱作“保護模式”)。系統(tǒng)調(diào)用是這些規(guī)則的一個例外,系統(tǒng)調(diào)用是內(nèi)核向用戶進程提供服務(wù)的唯一手段,用戶進程只能直接或間接地通過系統(tǒng)調(diào)用來訪問系統(tǒng)中的資源。其原理是進程先用適當?shù)闹堤畛浼拇嫫?,然后調(diào)用一個特殊的指令,這個指令會跳到一個事先定義的內(nèi)核中的一個位置(當然,這個位置是用戶進程可讀但是不可寫的)。系統(tǒng)調(diào)用涉及系統(tǒng)狀態(tài)的轉(zhuǎn)變,在用戶進程使用系統(tǒng)調(diào)用訪問系統(tǒng)資源時,系統(tǒng)會從用戶態(tài)切換到內(nèi)核態(tài),執(zhí)行相應(yīng)的內(nèi)核態(tài)函數(shù),完成相應(yīng)的任務(wù)后返回到用戶態(tài)。

編輯推薦

《Linux2.6嵌入式系統(tǒng)開發(fā)與實踐》以O(shè)URS-PXA270RP教學平臺為硬件基礎(chǔ)、詳實的嵌入式系統(tǒng)硬件接口原理圖、從理論基礎(chǔ)到硬件平臺的實例開發(fā)、嵌入式Linux系統(tǒng)下的系統(tǒng)移植詳解、Linux2.6驅(qū)動程序和應(yīng)用程序開發(fā)實踐 。

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    Linux2.6嵌入式系統(tǒng)開發(fā)與實踐 PDF格式下載


用戶評論 (總計7條)

 
 

  •   書收到好幾天了,把評論的事給忘了。這本書學習嵌入式開發(fā)是一本不錯的書。
  •   一次買了三本,感覺這本書比較容易懂,速度也快
  •   還算可以,比較通俗易懂,適合入門。
  •   適合入門,不錯的一本書。
  •   該講的什么都沒講,廢話好多。想學東西就別買這本書
  •   Linux 的書太多,往往都是不能真正的了解細節(jié)的東西,但是這本書總體還不錯哦!!
  •   這本書不是差,是非常的差,又浪費我的人民幣了。
 

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

京ICP備13047387號-7