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

出版時(shí)間:2010-5  出版社:北京航空航天大學(xué)出版社  作者:李朱峰 編  頁(yè)數(shù):360  
Tag標(biāo)簽:無(wú)  

前言

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

內(nèi)容概要

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

書(shū)籍目錄

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

章節(jié)摘錄

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

編輯推薦

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

圖書(shū)封面

圖書(shū)標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


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


用戶(hù)評(píng)論 (總計(jì)7條)

 
 

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

相關(guān)圖書(shū)

 

250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7