基于ARM9的智能家居_第1頁(yè)
基于ARM9的智能家居_第2頁(yè)
基于ARM9的智能家居_第3頁(yè)
基于ARM9的智能家居_第4頁(yè)
基于ARM9的智能家居_第5頁(yè)
已閱讀5頁(yè),還剩57頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、摘 要隨著科技的發(fā)展,以及嵌入式技術(shù)的應(yīng)用,傳統(tǒng)的家居生活已不能滿足我們的生活,越來(lái)越多的廠家開(kāi)始注重智能家居的推廣和使用。智能家居以住宅為平臺(tái),由ZigBee星型家庭內(nèi)網(wǎng)和嵌入式家庭網(wǎng)關(guān)兩部分組成。用戶訪問(wèn)可以通過(guò)web瀏覽器登錄家庭網(wǎng)關(guān),或本地用戶直接通過(guò)家庭網(wǎng)關(guān)的圖形用戶界面,對(duì)家庭內(nèi)網(wǎng)進(jìn)行溫濕度、煙霧濃度、光照強(qiáng)度等信息的采集和對(duì)燈光等進(jìn)行控制。本課題是基于ARM9的智能家居監(jiān)控模塊設(shè)計(jì)與實(shí)現(xiàn),采用ARM9內(nèi)核的S3C2440處理器為控制芯片,將Linux系統(tǒng)移植到硬件平臺(tái)上,最后將軟件下載到硬件平臺(tái)上。主要完成以下工作:(1) 進(jìn)行網(wǎng)絡(luò)的相關(guān)配置,在系統(tǒng)運(yùn)行的時(shí)候,需要掛載根文件系統(tǒng)

2、,這時(shí)需要網(wǎng)絡(luò)的連接。本次設(shè)計(jì)中網(wǎng)絡(luò)連接用的是橋接。(2) 搭建環(huán)境,包括服務(wù)器的搭建、交叉編譯器的安裝、Bootloader移植、Linux內(nèi)核移植、根文件系統(tǒng)制作,這些事系統(tǒng)運(yùn)行階段的基礎(chǔ)。(3) 對(duì)嵌入式web進(jìn)行研究,搭建boa服務(wù)器,了解攝像頭圖像采集的工作流程,搭建瀏覽器客戶端網(wǎng)頁(yè),讓攝像頭采集的圖像在網(wǎng)頁(yè)上顯示。關(guān)鍵詞: 嵌入式;網(wǎng)關(guān);web瀏覽器;ARM9Abstract With the development of technology, as well as the application of embedded technology, the traditional h

3、ome life can not meet our life, more and more manufacturers began to focus on the promotion and use of smart home. Smart home to residential as the platform, from the ZigBee star based home network and embedded home gateway two parts. Access to the user can through the web browser to log home gatewa

4、y, or local user directly through the graphical user interface of the home gateway, the family network for temperature and humidity, smoke concentration and light according to intensity information acquisition and lighting control.This paper is based on ARM9 intelligent home monitoring module design

5、 and implementation, using ARM9 S3C2440 processor as the control chip, the transplantation of Linux operating system to the hardware platform, at last, the software is downloaded to the hardware platform. Mainly the following several work needs to be done:(1) the network configuration, in the operat

6、ion of the system and need to mount the root , then need to network connection. The network connection in this design is bridged.(2) build environment, including the establishment of the server, the installation of cross compiler, Bootloader transplantation, Linux kernel transplantation, root produc

7、tion, these things system operation stage.(3) the embedded web research, build server boa, understand the work process of camera image acquisition, build the client browser page, let the camera to capture images displayed on a web page.Keywords: Embedded, Gateway, Web browser,ARM9目 錄摘 要IAbstractII目

8、錄IV第1章 緒論11.1本課題研究目的與意義11.2 國(guó)內(nèi)外技術(shù)研究現(xiàn)狀11.2.1國(guó)外研究現(xiàn)狀11.2.2國(guó)內(nèi)研究現(xiàn)狀31.3視頻監(jiān)控系統(tǒng)的發(fā)展趨勢(shì)41.4 論文的組織5第2章智能家居系統(tǒng)總體方案72.1需求分析72.2視頻監(jiān)控系統(tǒng)的總體設(shè)計(jì)方案9第3章 監(jiān)控系統(tǒng)硬件環(huán)境113.1硬件平臺(tái)總體結(jié)構(gòu)11主控制芯片12Ov9650攝像頭13硬件的連接14第4章 嵌入式環(huán)境的配置154.1 Linux操作系統(tǒng)簡(jiǎn)介154.2 t服務(wù)器配置194.2.1 tftp服務(wù)器的配置194.2.2 NFS服務(wù)器配置204.3 安裝交叉編譯器20第5章 監(jiān)控系統(tǒng)的實(shí)現(xiàn)225.1 Bootloader的移植22

9、5.2 內(nèi)核的移植255.3 根文件系統(tǒng)制作265.4 boa服務(wù)器的移植285.5基于v4l的視頻采集295.6 MPEG-4編碼305.7效果演示32第6章 總結(jié)和展望336.1 總結(jié)336.2展望與不足33致謝35參考文獻(xiàn)36附件一37附件二44V山東科技大學(xué)畢業(yè)設(shè)計(jì)(論文)第1章 緒論1.1本課題研究目的與意義智能家居與普通家居相比,它不僅具有傳統(tǒng)的居住功能,提供舒適安全、高品質(zhì)的家庭生活空間。視頻監(jiān)控是智能家居中的一個(gè)重要模塊,對(duì)家庭安全有著重要的作用,而且,視頻監(jiān)控在其他方面也得到了廣泛應(yīng)用,如:交通、銀行和安全部門(mén)。視頻監(jiān)控系統(tǒng)從第一代基于模擬攝像機(jī)的模擬監(jiān)控系統(tǒng),到第二代基于計(jì)

10、算機(jī)的數(shù)字監(jiān)控系統(tǒng),再到第三代基于嵌入式的網(wǎng)絡(luò)數(shù)字監(jiān)控系統(tǒng),視頻監(jiān)控已經(jīng)經(jīng)歷了三個(gè)發(fā)展階段。目前的第三代視頻監(jiān)控系統(tǒng)是具有集前端一體化、圖像數(shù)字化、監(jiān)控網(wǎng)絡(luò)化、系統(tǒng)集成化等特性于一身的嵌入式web技術(shù)的遠(yuǎn)程網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)。嵌入式視頻web服務(wù)器的主要原理是視頻服務(wù)器內(nèi)置一個(gè)boa服務(wù)器,采用嵌入式操作系統(tǒng)。前端攝像機(jī)送來(lái)的視頻圖像通過(guò)內(nèi)部總線送到服務(wù)器,將采集到的原始圖像經(jīng)過(guò)編碼壓縮、打包等過(guò)程變成基于網(wǎng)絡(luò)協(xié)議的數(shù)據(jù)流,數(shù)據(jù)流通過(guò)網(wǎng)絡(luò)進(jìn)行傳輸,發(fā)送到終端用戶。網(wǎng)絡(luò)終端用戶可以直接用瀏覽器觀看web服務(wù)器上的攝像機(jī)圖像,授權(quán)用戶可以通過(guò)專用的客戶端軟件進(jìn)行顯示和各種操作。1.2 國(guó)內(nèi)外技術(shù)研究

11、現(xiàn)狀1.2.1國(guó)外研究現(xiàn)狀1984年美國(guó)聯(lián)合科技公司將建筑設(shè)備信息化、整合化概念應(yīng)用于美國(guó)康乃迪克州哈特佛市的CityPlaceBuilding,標(biāo)志著首棟“智能型建筑”的誕生,雖然當(dāng)時(shí)只是對(duì)一棟破舊的大樓進(jìn)行了改造,但是是采用先進(jìn)的計(jì)算機(jī)技術(shù)對(duì)都市大廈內(nèi)部的電梯照明、空調(diào)等設(shè)備進(jìn)行監(jiān)控,并且還可以提供情報(bào)資料、電郵、語(yǔ)音通信等信息的服務(wù)。自此以后美國(guó)、加拿大、歐洲、澳大利亞和東南亞等經(jīng)濟(jì)比較發(fā)達(dá)的國(guó)家先后提出了各種智能家居的方案,而且都從國(guó)家戰(zhàn)略的高度大力推廣智能家居控制系統(tǒng)。智能家居在美國(guó)、德國(guó)、新加坡、日本等國(guó)家都有廣泛的應(yīng)用。20世紀(jì)80年代初,隨著大量采用電子技術(shù)的家用電器面市,開(kāi)始

12、出現(xiàn)了住宅電子化(HE,Home Electronics)的概念。80年代中期,將家用電器、通訊設(shè)備與安防設(shè)備的功能綜合為一體,形成了家居自動(dòng)化概念(HA,HomeAutomation)。80年代末,由于通信與信息技術(shù)的發(fā)展,出現(xiàn)了對(duì)住宅中各種通信、家電、安防設(shè)備通過(guò)總線技術(shù)進(jìn)行連接、控制與管理的商用系統(tǒng),這在美國(guó)稱為智慧屋(WH,Wise Home),在歐洲稱為時(shí)髦屋(SH,Smart Home)。當(dāng)時(shí)日本正處于房產(chǎn)市場(chǎng)低迷時(shí)期,日本建設(shè)省在推進(jìn)智能建筑概念時(shí),抓住用于住宅總線技術(shù)的契機(jī),提出了家庭總線系統(tǒng)概念(HBS,Home Bus Sy

13、stem)。而隨著技術(shù)的繼續(xù)發(fā)展和生物識(shí)別技術(shù)的實(shí)用化普及,智能家居的概念才真正體現(xiàn)了其本意,在好萊塢科幻電影中看到的那種高度智能化的家居系統(tǒng)正在走進(jìn)我們的生活。 日本松下公司正在把“數(shù)碼家庭”的概念應(yīng)用到養(yǎng)老院,養(yǎng)老院的所有房間都裝有多種測(cè)量?jī)x器、觸摸式顯示屏、數(shù)碼攝像機(jī)等,并與局域網(wǎng)相連,這樣每個(gè)居住者的體溫、血壓等多項(xiàng)數(shù)據(jù)可以傳送到護(hù)理中心,實(shí)現(xiàn)遠(yuǎn)程醫(yī)療護(hù)理。美國(guó)麻省理工學(xué)院的實(shí)驗(yàn)室正在研究“智能房間”,通過(guò)生物傳感器探測(cè)人的行為來(lái)自動(dòng)控制和調(diào)節(jié)居住系統(tǒng)。日本大型住宅公司MISAWA HOME為解決購(gòu)房者對(duì)房屋防盜系統(tǒng)的不滿意,新近推出“保全住宅”該住宅內(nèi)部采用指紋辯

14、識(shí)門(mén)禁系統(tǒng),另設(shè)有隱藏式防盜室,當(dāng)遇到小偷闖入時(shí)屋主可躲進(jìn)去緊急避難,防盜室設(shè)有兩道厚重的門(mén),其中內(nèi)門(mén)只要從里面上鎖后,外部無(wú)法靠人力打開(kāi)。防盜室內(nèi)裝設(shè)電話專線,電話線埋在地下,另外還可在屋內(nèi)放置一個(gè)機(jī)器人,畝以依歹徒恐嚇的聲音來(lái)反應(yīng),并出聲求救,發(fā)揮報(bào)警求救功能。1.2.2國(guó)內(nèi)研究現(xiàn)狀伴隨著國(guó)內(nèi)房地產(chǎn)市場(chǎng)的繁榮,近年來(lái)智能家居從概念引進(jìn)到研究開(kāi)發(fā)經(jīng)歷了迅速的發(fā)展。調(diào)查發(fā)現(xiàn),目前國(guó)內(nèi)市場(chǎng)中常見(jiàn)的智能家居子系統(tǒng)基本上由原來(lái)的照明、安防和門(mén)禁對(duì)講系統(tǒng)生產(chǎn)廠家提供的,這些系統(tǒng)大都沒(méi)有脫離原有產(chǎn)品的形態(tài),屬于“嫁接智能”范疇。由于這些產(chǎn)品的技術(shù)路線多種多樣,一些大公司在整合他們的時(shí)候標(biāo)準(zhǔn)也就很難規(guī)范統(tǒng)

15、一。在我國(guó),智能化住宅和智能化家居雖然起步比較晚,但發(fā)展速度很快。80年代,我國(guó)居住條件非常困難,根本談不上智能化的問(wèn)題。80年代初所建成的住宅,其電器設(shè)計(jì)內(nèi)容僅在以下方面:樓房照明系統(tǒng)、高層供水泵控制系統(tǒng)和消防泵控制系統(tǒng)。用戶電量的計(jì)量和收費(fèi),采用房管部門(mén)或住戶輪流抄表收費(fèi)的方式。生活用水的計(jì)量則主要是按戶或按人口數(shù)收費(fèi)。弱電系統(tǒng)也是從80年代開(kāi)始才陸續(xù)設(shè)置電話配線和公用電視天線系統(tǒng)。80年代末90年代初,我國(guó)家庭基本實(shí)現(xiàn)電器化,住宅內(nèi)的弱電系統(tǒng)有所增加,如對(duì)講系統(tǒng)等。到了90年代末,電腦、有線電視、機(jī)頂盒、移動(dòng)通信等數(shù)字化通信產(chǎn)品開(kāi)始走進(jìn)家庭。  2000年9月7-8日

16、,由信息產(chǎn)業(yè)部組織,在四川省綿陽(yáng)市召開(kāi)了國(guó)家經(jīng)貿(mào)委2000年國(guó)家技術(shù)創(chuàng)新重點(diǎn)專項(xiàng)計(jì)劃“家庭信息化網(wǎng)絡(luò)技術(shù)研究及產(chǎn)品開(kāi)發(fā)”項(xiàng)目工作會(huì)議。2002年由建設(shè)部住宅產(chǎn)業(yè)化促進(jìn)中心和中國(guó)建筑科學(xué)研究院主編的居住區(qū)智能化系統(tǒng)配置與技術(shù)要求(審查稿)己送審,等待批準(zhǔn)。建設(shè)部住宅產(chǎn)業(yè)化促進(jìn)中心正在牽頭編制行業(yè)標(biāo)準(zhǔn)“居住區(qū)智能化產(chǎn)品應(yīng)用技術(shù)要求”。 2002年建設(shè)部科學(xué)技術(shù)委員會(huì)智能建筑技術(shù)開(kāi)發(fā)推廣中心組織編制了建設(shè)行業(yè)智能建筑試點(diǎn)項(xiàng)目住宅小區(qū)智能化系統(tǒng)工程驗(yàn)收評(píng)估標(biāo)準(zhǔn)作為建設(shè)行業(yè)智能建筑試點(diǎn)項(xiàng)目住宅小區(qū)智能化系統(tǒng)工程驗(yàn)收評(píng)估標(biāo)準(zhǔn)。 西南交通大學(xué)科技公司開(kāi)發(fā)了網(wǎng)絡(luò)智能控制數(shù)據(jù)終端(Intel

17、ligent ControlNetwork Data Terminal,簡(jiǎn)稱NDT)系統(tǒng),是一個(gè)基于計(jì)算機(jī)網(wǎng)絡(luò)的智能住宅控制系統(tǒng),可以穩(wěn)定運(yùn)行在多種寬帶網(wǎng)絡(luò)平臺(tái)上。它包括住宅樓宇防盜報(bào)警、貴重物品防盜報(bào)警、多重判斷防誤報(bào)功能、火災(zāi)報(bào)警、煤氣泄露報(bào)警、緊急求助、防脅持秘密報(bào)警、小區(qū)電子公告、遠(yuǎn)程家用電器控制、電話自動(dòng)報(bào)警功能、Internet電子短信、家用設(shè)備報(bào)警、水電氣多表自動(dòng)抄收等功能,通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)構(gòu)成整個(gè)住宅小區(qū)的集中管理控制系統(tǒng)。1.3視頻監(jiān)控系統(tǒng)的發(fā)展趨勢(shì)將嵌入式系統(tǒng)技術(shù)、無(wú)線通信技術(shù)和基于TCP/IP的Internet技術(shù)結(jié)合在一起的視頻監(jiān)控系統(tǒng)將成為

18、監(jiān)控系統(tǒng)的未來(lái)發(fā)展方向。利用嵌入式技術(shù)采集并對(duì)現(xiàn)場(chǎng)信息進(jìn)行相應(yīng)處理,在通過(guò)無(wú)線通信方式傳輸?shù)絀nternet上,用戶通過(guò)Internet來(lái)管理和使用信息。當(dāng)前,視頻監(jiān)控系統(tǒng)的發(fā)展趨勢(shì)可以概括為:(1) 視頻監(jiān)控?cái)?shù)字化視頻監(jiān)控發(fā)展經(jīng)歷了模擬視頻監(jiān)控、半數(shù)字監(jiān)控、數(shù)字監(jiān)控三個(gè)階段。數(shù)字化是21世紀(jì)的時(shí)代特征,視頻監(jiān)控的數(shù)字化是監(jiān)控技術(shù)的必然趨勢(shì)。(2) 視頻監(jiān)控智能化智能化是視頻監(jiān)控技術(shù)發(fā)展比較高的層次。智能化監(jiān)控能把視頻監(jiān)控從靜態(tài)的、事后取證變成動(dòng)態(tài)的、實(shí)時(shí)預(yù)防和告警對(duì)用戶來(lái)說(shuō)明顯更加重要。實(shí)際上現(xiàn)有的大型監(jiān)控系統(tǒng)都配置自動(dòng)位移偵測(cè)、晝夜自適應(yīng)切換存儲(chǔ)、預(yù)警設(shè)置等一些基本的智能化功能。(3) 視

19、頻監(jiān)控IP化視頻網(wǎng)絡(luò)、IPTV等都是網(wǎng)絡(luò)快速發(fā)展的重要應(yīng)用。隨著Internet技術(shù)的發(fā)展,基于IP的視頻監(jiān)控風(fēng)能為人們所接受,網(wǎng)絡(luò)攝像機(jī)吧壓縮的視頻信息通過(guò)TCP/IP協(xié)議。采用流媒體技術(shù)實(shí)現(xiàn)視頻在網(wǎng)上的多路復(fù)用傳輸,擁有授權(quán)的用戶可以隨時(shí)訪問(wèn)互聯(lián)網(wǎng),實(shí)現(xiàn)對(duì)真?zhèn)€監(jiān)控系統(tǒng)的指揮、調(diào)度、存儲(chǔ)、授權(quán)控制等功能。(4) 視頻監(jiān)控?zé)o線化隨著無(wú)線寬帶網(wǎng)絡(luò)的發(fā)展,基于3G的無(wú)線視頻應(yīng)用備受關(guān)注。當(dāng)監(jiān)控點(diǎn)分散且與監(jiān)控中心距離較遠(yuǎn),或被監(jiān)控對(duì)象不固定時(shí),利用傳統(tǒng)有線網(wǎng)絡(luò)的視頻監(jiān)控旺旺成本高且難以實(shí)現(xiàn),為基于多種無(wú)線傳輸手段的移動(dòng)視頻監(jiān)控具有不可替代的優(yōu)勢(shì)。1.4 論文的組織第一章:對(duì)監(jiān)控系統(tǒng)的研究意義、國(guó)內(nèi)外

20、的研究狀況以及發(fā)展趨勢(shì)做了簡(jiǎn)單概述。第二章:分析了監(jiān)控系統(tǒng)的需求,以及需要何種網(wǎng)絡(luò)結(jié)構(gòu),并簡(jiǎn)單介紹了硬件的組成。第三章:對(duì)硬件平臺(tái)的總體結(jié)構(gòu)、主控制芯片和攝像頭做了簡(jiǎn)單介紹。第四章:對(duì)嵌入式系統(tǒng)做簡(jiǎn)單的介紹,并進(jìn)行了服務(wù)器搭建和交叉編譯器的安裝等工作,為以后的工作做好基礎(chǔ)。第五章:本章講述了監(jiān)控系統(tǒng)的實(shí)現(xiàn),主要有Bootloader的移植、Linux內(nèi)核的移植、根文件系統(tǒng)的制作、boa服務(wù)器的移植,及攝像頭工作流程。第六章:對(duì)各個(gè)部分的工作做了總結(jié),提出了整個(gè)工作的不足之處并對(duì)進(jìn)一步的研究方向以及相關(guān)的問(wèn)題做了敘述。第2章智能家居系統(tǒng)總體方案隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)和嵌入式系統(tǒng)的發(fā)展以及芯片成本的下

21、降,嵌入式視頻服務(wù)器為核心的視頻監(jiān)控系統(tǒng)在市場(chǎng)上發(fā)展起來(lái)。通用的web服務(wù)器通常用于大量用戶并發(fā)訪問(wèn)的普通網(wǎng)站,以強(qiáng)有力的數(shù)據(jù)庫(kù)為用戶提供商業(yè)服務(wù),而嵌入式處理器能力和存儲(chǔ)容量有限,通用大型服務(wù)器無(wú)法在嵌入式設(shè)備上運(yùn)行。因此,采用功能相對(duì)簡(jiǎn)單、體積更小、消耗資源更少的嵌入式web服務(wù)器,是近年來(lái)出現(xiàn)的一種較為先進(jìn)的方案。目前,嵌入式web服務(wù)器的實(shí)現(xiàn)方法可分成自助實(shí)現(xiàn)和修改移植。2.1需求分析分析國(guó)內(nèi)智能家居市場(chǎng)可知消費(fèi)者對(duì)家電控制、視頻網(wǎng)絡(luò)監(jiān)控、家居環(huán)境監(jiān)測(cè)等情有獨(dú)鐘,視頻網(wǎng)絡(luò)監(jiān)控也成為了生活中不可或缺的智能產(chǎn)品。智能家居行業(yè)技術(shù)按照系統(tǒng)核心技術(shù)可分為PC架構(gòu)、單片機(jī)架構(gòu)及嵌入式架構(gòu)三個(gè)層次

22、。三種技術(shù)方案代表著智能家居行業(yè)不同時(shí)期的技術(shù)特點(diǎn)。(1)PC架構(gòu)的智能控制系統(tǒng)出現(xiàn)于中國(guó)智能家居的萌芽階段,基本停留在向使用者展示智能家居的概念,實(shí)用性不強(qiáng),屬于第一代。(2)目前很多中國(guó)智能家居廠商研制的基于單片機(jī)架構(gòu)的智能控制系統(tǒng),在實(shí)用性、易用性和專業(yè)性方面有了很大程度上的提高屬于第二代。(3)而基于嵌入式系統(tǒng)的家庭智能系統(tǒng)在國(guó)內(nèi)才剛剛出現(xiàn),隨著嵌入式技術(shù)更加廣泛的應(yīng)用及成本的之間降低,中國(guó)的智能家居核心最終將走向嵌入式。目前人類已進(jìn)入基于Internet的后PC時(shí)代,其主要特征為計(jì)算機(jī)作為組成部分緊密融于消費(fèi)品和工業(yè)品中。后PC時(shí)代的到來(lái)依賴于嵌入式技術(shù)的誕生與發(fā)展。嵌入式系統(tǒng)在通信

23、產(chǎn)品、家用電器、醫(yī)療器械、汽車制造、航空航天等領(lǐng)域的應(yīng)用,已成為促進(jìn)信息產(chǎn)業(yè)發(fā)展、加速傳統(tǒng)產(chǎn)業(yè)改造的最為實(shí)用的高新技術(shù)。隨著嵌入式處理器的性能得到了顯著的提高,嵌入式技術(shù)的應(yīng)用在最近幾年得到了廣闊的發(fā)展。對(duì)于嵌入式系統(tǒng),電器工程師協(xié)會(huì)的定義為:嵌入式系統(tǒng)是用來(lái)監(jiān)控設(shè)備、機(jī)器、裝置及工廠生產(chǎn)線等大規(guī)模系統(tǒng)的設(shè)備。通常嵌入式定義為:嵌入式系統(tǒng)是以應(yīng)用為核心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),并且軟/硬件可裁剪,適用于應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗等有嚴(yán)格要求的專用衛(wèi)星化計(jì)算機(jī)系統(tǒng)。嵌入式系統(tǒng)一般應(yīng)用嵌入式系統(tǒng)的微處理器、外圍硬件設(shè)備(可隨意定制)、嵌入式操作系統(tǒng)(可裁剪)以及用戶的應(yīng)用程序四個(gè)部分組成

24、,用于實(shí)現(xiàn)對(duì)其他現(xiàn)場(chǎng)設(shè)備的控制、監(jiān)視或管理等功能。嵌入式技術(shù)為智能家居客戶端的實(shí)現(xiàn)和發(fā)展提供了強(qiáng)大的基礎(chǔ)。使用嵌入式系統(tǒng)來(lái)完成智能家居系統(tǒng)的設(shè)計(jì)具有以下優(yōu)勢(shì):(1) 嵌入式系統(tǒng)具有功耗低、體積小、專用性強(qiáng)等功能。(2) PC架構(gòu)的智能控制系統(tǒng)出現(xiàn)于中國(guó)智能家居的萌芽階段,基本 停留在向使用者展示智能家居的概念,實(shí)用性不強(qiáng),屬于第一代。(3) 根據(jù)系統(tǒng)定制的實(shí)時(shí)操作系統(tǒng),不僅可以最大限度地利用硬件資源,并且避免了龐大系統(tǒng)的系統(tǒng)冗余。(4) 嵌入式技術(shù)伴隨Internet而生,因此具有更加卓越的網(wǎng)絡(luò)性能,可以增加更多的網(wǎng)絡(luò)應(yīng)用。(5) 軟件采用分層設(shè)計(jì),方便維護(hù)和升級(jí),大大提高了代碼利用率,縮短開(kāi)

25、發(fā)周期。嵌入式網(wǎng)絡(luò)監(jiān)控系統(tǒng)3是以嵌入式設(shè)備作為web服務(wù)器接入Internet網(wǎng)絡(luò)的。嵌入式設(shè)備連接到網(wǎng)絡(luò)后,以何種網(wǎng)絡(luò)結(jié)構(gòu)構(gòu)成系統(tǒng),就涉及到了網(wǎng)絡(luò)體系結(jié)構(gòu)的選擇問(wèn)題。網(wǎng)絡(luò)體系結(jié)構(gòu)對(duì)整個(gè)網(wǎng)絡(luò)監(jiān)控系統(tǒng)來(lái)說(shuō)是處于基礎(chǔ)地位的,合理選擇網(wǎng)絡(luò)體系結(jié)構(gòu)對(duì)系統(tǒng)運(yùn)行效率、系統(tǒng)性用的廣泛性和可維護(hù)性都有至關(guān)重要的作用。C/S和B/S結(jié)構(gòu)是當(dāng)今世界開(kāi)發(fā)模式技術(shù)架構(gòu)的兩大主流技術(shù)。C/S結(jié)構(gòu)即客戶機(jī)和服務(wù)器結(jié)構(gòu)。它是軟件系統(tǒng)體系結(jié)構(gòu),C/S結(jié)構(gòu)充分利用兩端硬件環(huán)境的優(yōu)勢(shì),將任務(wù)合理的分配到client和server端,降低了系統(tǒng)的通訊開(kāi)銷。目前大多數(shù)應(yīng)用軟件都是client/server形式兩層結(jié)構(gòu),由于現(xiàn)在的軟件

26、應(yīng)用系統(tǒng)正在向分布式的web應(yīng)用發(fā)展,web和client/server應(yīng)用都可進(jìn)行同樣的業(yè)務(wù)處理,應(yīng)用不同的模塊共享邏輯組件。因此,內(nèi)部的和外部的用戶都可以訪問(wèn)新的和現(xiàn)有的應(yīng)用系統(tǒng),通過(guò)現(xiàn)有應(yīng)用系統(tǒng)中的邏輯可以擴(kuò)展出新的應(yīng)用系統(tǒng)。B/S結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過(guò)www瀏覽器端實(shí)現(xiàn),極少不煩事務(wù)邏輯在客戶端實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn),形成三層3-tier結(jié)構(gòu)。這樣可以大大簡(jiǎn)化客戶端電腦載荷,減輕系統(tǒng)維護(hù)與升級(jí)的成本和工作量。2.2視頻監(jiān)控系統(tǒng)的總體設(shè)計(jì)方案智能家居監(jiān)控系統(tǒng)主要由硬

27、件和軟件兩部分組成。硬件部分是有CMOS攝像頭和ARM9開(kāi)發(fā)板;軟件部分由系統(tǒng)軟件(包括Bootloader、嵌入式Linux操作系統(tǒng)和驅(qū)動(dòng)程序)和應(yīng)用軟件(包括web服務(wù)器、CGI程序、視頻采集等)。網(wǎng)線串口線本次設(shè)計(jì)有三個(gè)部分組成,前端是用于視頻采集的CMOS攝像頭,中間部分是移植了嵌入式Linux操作系統(tǒng)的ARM9開(kāi)發(fā)板,它的作用是對(duì)采集來(lái)的圖像進(jìn)行處理,并內(nèi)建嵌入式web服務(wù)器和視頻流媒體服務(wù)器,從而將視頻傳遞給遠(yuǎn)端用戶。第三個(gè)部分是監(jiān)控端,由帶有瀏覽器的PC機(jī)組成,用來(lái)瀏覽遠(yuǎn)端的視頻,同時(shí)也可以通過(guò)網(wǎng)絡(luò)對(duì)系統(tǒng)平臺(tái)進(jìn)行控制。如圖2.1所示。 監(jiān)控端ARM9開(kāi)發(fā)板CMOS攝像頭嵌入式We

28、b服務(wù)器器是指將Web服務(wù)器引入到嵌入式系統(tǒng)中,在相應(yīng)的硬件平臺(tái)和軟件系統(tǒng)的支持下,根據(jù)應(yīng)用的需要實(shí)現(xiàn)通用的Web服務(wù)器的全部或者部分功能。嵌入式Web服務(wù)器仍然以TCP/IP協(xié)議為底層,在該Web中使用的應(yīng)用層的通信協(xié)議是HTTP協(xié)議,通過(guò)HTTP協(xié)議實(shí)現(xiàn)客戶端(一般為瀏覽器)和嵌入式Web服務(wù)器的信息交換4。 在嵌入式領(lǐng)域,常用的Web服務(wù)器有thttpd和boa,boa目前用的最多。boa是一個(gè)非常小巧的Web服務(wù)器,可執(zhí)行代碼只有約60 KB,占用系統(tǒng)資源少,而且速度快、安全性好5。目前使用的Linux2.6內(nèi)核還沒(méi)有包含boa代碼,因此需要移植到本系統(tǒng)中。首先從下載boa源代碼(目前

29、最新版本boa-0.94.13),解壓到Linux系統(tǒng)目錄下,用交叉編譯器編譯。這樣在boa-0.94.13/src目錄下生成boa應(yīng)用程序,把生成的boa應(yīng)用程序下載到開(kāi)發(fā)板上Linux系統(tǒng)中的/bin目錄下,讓boa在系統(tǒng)啟動(dòng)時(shí)自動(dòng)運(yùn)行,這樣在開(kāi)發(fā)板上就移植了boa服務(wù)器。第3章 監(jiān)控系統(tǒng)硬件環(huán)境智能家居監(jiān)控系統(tǒng)采用TQ2440開(kāi)發(fā)板,是一個(gè)有高性能、高集成度及強(qiáng)擴(kuò)展功能的一體化開(kāi)發(fā)板。TQ2440由底板和核心板組成。核心板采用的是S3C2440嵌入式處理器芯片1,是三星公司研制的一款處理器。攝像頭采用的是ov9650圖像傳感器2。3.1硬件平臺(tái)總體結(jié)構(gòu)本系統(tǒng)的硬件平臺(tái)總體結(jié)構(gòu)如圖3.1所

30、示。該設(shè)計(jì)將硬件系統(tǒng)分成兩部分:核心板和外圍電路。核心板主要由S3C2440A微處理器、64MB NAND Flash、64MB SDRAM、晶振、3.3V轉(zhuǎn)1.33V電壓轉(zhuǎn)換芯片組成。外圍電路則主要為圖3.1核心板以外的相關(guān)模塊。ov9650攝像頭接口電路LCD顯示模塊電源模塊移動(dòng)控制模塊ARM920T核心板存儲(chǔ)模塊DM9000網(wǎng)卡及網(wǎng)絡(luò)接口USB從接口USB主接口圖3.1 系統(tǒng)硬件平臺(tái)結(jié)構(gòu)圖主控制芯片本次設(shè)計(jì)采用Samsung公司生產(chǎn)的S3C2440A微處理器作為主控制芯片。它是Samsung公司基于ARM920T核,采用0.13umCMOS工藝生產(chǎn)的16/32位RISC微處理器。是一款專

31、為手持設(shè)備及低功耗、小尺寸、高性能微控制器解決方案的微處理器。內(nèi)部主要含以下模塊:(1) 1.2V內(nèi)核,1.8V/2.5V/3.3V存儲(chǔ)器,3.3V擴(kuò)展I/O16kB指令(2) cache(Ichche)/16kB數(shù)據(jù)cache(Dchche)(3) 外部存儲(chǔ)控制器(SDRAM控制盒片選邏輯)(4) 集成LCD專用DMA的LCD控制器(支持最大4k色STN256KTFT)4路擁有外部請(qǐng)求引腳的DMA控制器(5) 3路URAT5)2路SPI(6) IIC總線接口(多主支持)(7) IIS音頻編碼接口(8) AC97編解碼器接口 (9) 1.0版SD主接口,兼容2.11版MMC接口(10) 2路U

32、SB主機(jī)控制/1路USB期間控制(ver1.1)(11) 4路PWM定時(shí)器/1路內(nèi)部定時(shí)器/看門(mén)狗定時(shí)器(12) 8路10位ADC和觸摸屏接口(13) 具有日歷功能的RTC(14) 攝像頭接口(15) 130個(gè)通用I/O,24個(gè)外部中斷源(16) 電源控制:正常,慢速,空閑,睡眠模式 帶PLL片上時(shí)鐘發(fā)生器Ov9650攝像頭s3c2440僅僅提供了一個(gè)攝像接口,因此要實(shí)現(xiàn)其功能,還需要攝像頭。在這里,我們使用OV9650。OV9650內(nèi)部有大量的寄存器需要配置,這就需要另外的數(shù)據(jù)接口。OV9650的數(shù)據(jù)接口稱為SCCB(串行攝像控制總線),它由兩條數(shù)據(jù)線組成:一個(gè)是用于傳輸時(shí)鐘信號(hào)的SIO_C

33、,另一個(gè)是用于傳輸數(shù)據(jù)信號(hào)的SIO_D。SCCB的傳輸協(xié)議與IIC的極其相似,只不過(guò)IIC在每傳輸完一個(gè)字節(jié)后,接收數(shù)據(jù)的一方要發(fā)送一位的確認(rèn)數(shù)據(jù),而SCCB一次要傳輸9位數(shù)據(jù),前8位為有用數(shù)據(jù),而第9位數(shù)據(jù)在寫(xiě)周期中是Dont-Care位(即不必關(guān)心位),在讀周期中是NA位。SCCB定義數(shù)據(jù)傳輸?shù)幕締卧獮橄啵╬hase),即一個(gè)相傳輸一個(gè)字節(jié)數(shù)據(jù)。SCCB只包括三種傳輸周期,即3相寫(xiě)傳輸周期(三個(gè)相依次為設(shè)備從地址,內(nèi)存地址,所寫(xiě)數(shù)據(jù)),2相寫(xiě)傳輸周期(兩個(gè)相依次為設(shè)備從地址,內(nèi)存地址)和2相讀傳輸周期(兩個(gè)相依次為設(shè)備從地址,所讀數(shù)據(jù))。當(dāng)需要寫(xiě)操作時(shí),應(yīng)用3相寫(xiě)傳輸周期,當(dāng)需要讀操作時(shí)

34、,依次應(yīng)用2相寫(xiě)傳輸周期和2相讀傳輸周期。因此SCCB一次只能讀或?qū)懸粋€(gè)字節(jié)。下面我們就用s3c2440的IIC總線接口分別與OV9650的SIO_C和SIO_D相連接來(lái)實(shí)現(xiàn)SCCB的功能。硬件的連接第4章 嵌入式環(huán)境的配置4.1 嵌入式操作系統(tǒng)簡(jiǎn)介4.1.1 嵌入式操作系統(tǒng)的概念嵌入式系統(tǒng)(Embedded system),是一種“完全嵌入受控器件內(nèi)部,為特定應(yīng)用而設(shè)計(jì)的專用計(jì)算機(jī)系統(tǒng)”,根據(jù)英國(guó)電氣工程師協(xié)會(huì)( U.K. Institution of Electrical Engineer)的定義,嵌入式系統(tǒng)為控制、監(jiān)視或輔助設(shè)備、機(jī)器或用于工廠運(yùn)作的設(shè)備。與個(gè)人計(jì)算機(jī)這樣的通用計(jì)算機(jī)系統(tǒng)

35、不同,嵌入式系統(tǒng)通常執(zhí)行的是帶有特定要求的預(yù)先定義的任務(wù)。由于嵌入式系統(tǒng)只針對(duì)一項(xiàng)特殊的任務(wù),設(shè)計(jì)人員能夠?qū)λM(jìn)行優(yōu)化,減小尺寸降低成本。嵌入式系統(tǒng)通常進(jìn)行大量生產(chǎn),所以單個(gè)的成本節(jié)約,能夠隨著產(chǎn)量進(jìn)行成百上千的放大。嵌入式系統(tǒng)是用來(lái)控制或者監(jiān)視機(jī)器、裝置、工廠等大規(guī)模設(shè)備的系統(tǒng)。國(guó)內(nèi)普遍認(rèn)同的嵌入式系統(tǒng)定義為:以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗等嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。通常,嵌入式系統(tǒng)是一個(gè)控制程序存儲(chǔ)在ROM中的嵌入式處理器控制板。事實(shí)上,所有帶有數(shù)字接口的設(shè)備,如手表、微波爐、錄像機(jī)、汽車等,都使用嵌入式系統(tǒng),有些嵌入式系統(tǒng)還包

36、含操作系統(tǒng),但大多數(shù)嵌入式系統(tǒng)都是由單個(gè)程序?qū)崿F(xiàn)整個(gè)控制邏輯。嵌入式系統(tǒng)的核心是由一個(gè)或幾個(gè)預(yù)先編程好以用來(lái)執(zhí)行少數(shù)幾項(xiàng)任務(wù)的微處理器或者單片機(jī)組成。與通用計(jì)算機(jī)能夠運(yùn)行用戶選擇的軟件不同,嵌入式系統(tǒng)上的軟件通常是暫時(shí)不變的;所以經(jīng)常稱為“固件”。4.1.2 嵌入式操作系統(tǒng)的分類(1) VxWorks VxWorks操作系統(tǒng)是美國(guó)WindRiver公司于1983年設(shè)計(jì)開(kāi)發(fā)的一種實(shí)時(shí)操作系統(tǒng)。VxWorks擁有良好的持續(xù)發(fā)展能力、高性能的內(nèi)核以及良好的用戶開(kāi)發(fā)環(huán)境,在實(shí)時(shí)操作系統(tǒng)領(lǐng)域內(nèi)占據(jù)一席之地。它是目前嵌入式系統(tǒng)領(lǐng)域中使用最廣泛、市場(chǎng)占有率最高的系統(tǒng)。它支持多種處理器,如

37、x86,i960,Sun Sparc,Moto-rola MC68xxx,MIPS RX000,Power PC, ARM , StrongARM等。大多數(shù)的VxW-orksAPI是專有的。 (2) QNX QNX是一個(gè)實(shí)時(shí)的、可擴(kuò)充的操作系統(tǒng);它部分遵循POSIX相關(guān)標(biāo)準(zhǔn),如POSIX.1b 實(shí)時(shí)擴(kuò)展;它提供了一個(gè)很小的微內(nèi)核以及一些可選的配合進(jìn)程。 其內(nèi)核僅提供4種服務(wù):進(jìn)程調(diào)度、進(jìn)程間通信、底層網(wǎng)絡(luò)通信和中斷處理,其進(jìn)程在獨(dú)立的地址空間中運(yùn)行。所有其他操作系統(tǒng)服務(wù)都實(shí)現(xiàn)

38、為協(xié)作的用戶進(jìn)程,因此QNX內(nèi)核非常小巧(QNX4x大約為12KB),而且運(yùn)行速度極快。這個(gè)靈活的結(jié)構(gòu)可以使用戶根據(jù)實(shí)際的需求,將系統(tǒng)配置成微小的嵌入式操作系統(tǒng)或包括幾百個(gè)處理器的超級(jí)虛擬機(jī)操作系統(tǒng)。   (3) Palm OS  3Com公司的Palm OS在掌上電腦和PDA市場(chǎng)上占有很大的市場(chǎng)份額。它有開(kāi)放的操作系統(tǒng)應(yīng)用程序接口(API),開(kāi)發(fā)商可以根據(jù)需要自行開(kāi)發(fā)所需的應(yīng)用程序。  (4) Windows CE Microsoft Windows CE是從整體

39、上為有限資源的平臺(tái)設(shè)計(jì)的多線程、完整優(yōu)先權(quán)、多任務(wù)的操作系統(tǒng)。它的模塊化設(shè)計(jì)允許它對(duì)從掌上電腦到專用的工業(yè)控制器的用戶電子設(shè)備進(jìn)行定制。操作系統(tǒng)的基本內(nèi)核至少需要200KB的ROM。 (5) LynxOS   Lynx Real-time Systems的LynxOS是一個(gè)分布式、嵌入式、可規(guī)模擴(kuò)展的實(shí)時(shí)操作系統(tǒng),它遵循POSIX.1a,POSIX.1b和POSIX.1c標(biāo)準(zhǔn)。   LynxOS支持線程概念,提供256個(gè)全局用戶線程優(yōu)先級(jí);提供一些傳統(tǒng)的、非實(shí)時(shí)系統(tǒng)的服務(wù)特征,包括基于調(diào)用需求的

40、虛擬內(nèi)存, 一個(gè)基于Motif的用戶圖形界面,與工業(yè)標(biāo)準(zhǔn)兼容的網(wǎng)絡(luò)系統(tǒng)以及應(yīng)用開(kāi)發(fā)工具。  Motif 是開(kāi)放軟件基金(OSF)于1989年推出的一個(gè)圖形用戶界面系統(tǒng)。 (6) 嵌入式Linux 隨著Linux的迅速發(fā)展,嵌入式Linux現(xiàn)在已經(jīng)有許多的版本,包括強(qiáng)實(shí)時(shí)的嵌入式Linux(如新墨西哥工學(xué)院的RT-Linux和堪薩斯大學(xué)的KURT-Linux)和一般的嵌入式Linux 版本(如uClinux和Pocket Linux等)。 其中,RT-Linux通過(guò)把通常的Linux任務(wù)優(yōu)先級(jí)設(shè)為

41、最低,而所有的實(shí)時(shí)任務(wù)的優(yōu)先級(jí)都高于它,以達(dá)到既兼容通常的Linux任務(wù)又保證強(qiáng)實(shí)時(shí)性能的目的。  由于嵌入式系統(tǒng)越來(lái)越追求數(shù)字化、網(wǎng)絡(luò)化和智能化,因此原來(lái)在某些設(shè)備或領(lǐng)域中占主導(dǎo)地位的軟件系統(tǒng)越來(lái)越難以為繼,因?yàn)橐_(dá)到上述要求,整個(gè)系統(tǒng)必須是開(kāi)放的、提供標(biāo)準(zhǔn)的API,并且能夠方便地與眾多第三方的軟硬件溝通。  (7) uC/OS uC/OS是源碼公開(kāi)的實(shí)時(shí)嵌入式操作系統(tǒng)。 4.1.3 嵌入式Linux的簡(jiǎn)介L(zhǎng)inux是1991年由芬蘭人Linus Torvalds發(fā)明的,一套免費(fèi)使用和自由傳播的類Unix操作系統(tǒng),是個(gè)基于

42、POSIX和UNIX的多用戶、多任務(wù)、支持多線程和多CPU的 操作系統(tǒng):Linux不僅支持x86芯片,它可以支持20-30中CPU;Linux是開(kāi)放源代碼的,不存在黑箱技術(shù),遍布全球的眾多愛(ài)好者都是Linux開(kāi)發(fā)者的強(qiáng)大技術(shù)支持者,Linux的源代碼隨處可得,注釋豐富,文檔齊全,易于解決各種問(wèn)題;Linux在內(nèi)核結(jié)構(gòu)的設(shè)計(jì)中考慮適應(yīng)系統(tǒng)的可裁剪性的要求。Linux主要特點(diǎn)如下: (1) Linux是開(kāi)放源碼的,不存在黑箱技術(shù),遍布全球的眾多Linux愛(ài)好者又是Linux開(kāi)發(fā)的強(qiáng)大技術(shù)后盾。(2) Linux的內(nèi)核小、功能強(qiáng)大、運(yùn)行穩(wěn)定、系統(tǒng)健壯、效率高。(3) Linux易于定制裁剪

43、,在價(jià)格上極具競(jìng)爭(zhēng)力。(4) Linux不僅支持x86 CPU,還可以支持其他數(shù)十種CPU芯片。 (5) 有大量的且不斷增加的開(kāi)發(fā)工具,這些工具為嵌入式系統(tǒng)的開(kāi)發(fā)提供了良好的開(kāi)發(fā)環(huán)境。(6) Linux沿用了Unix的發(fā)展方式,遵循國(guó)際標(biāo)準(zhǔn),可以方便地獲得眾多第三方軟硬件廠商的支持。 (7) Linux內(nèi)核的結(jié)構(gòu)在網(wǎng)絡(luò)方面是非常完整的,它提供了對(duì)十兆/百兆/千兆以太網(wǎng)、無(wú)線網(wǎng)絡(luò)、令牌網(wǎng)、光纖網(wǎng)、衛(wèi)星網(wǎng)等多種聯(lián)網(wǎng)方式的全面支持。(8) 在圖像處理、文件管理及多任務(wù)支持等諸多方面,Linux的表現(xiàn)也都非常出色,不僅可以充當(dāng)嵌入式系統(tǒng)的開(kāi)發(fā)平臺(tái),本身也是嵌入式系統(tǒng)應(yīng)用開(kāi)

44、發(fā)的好工具。 綜上所述,正是由于嵌入式Linux具有源碼開(kāi)放、移植簡(jiǎn)易、資源內(nèi)容豐富、免費(fèi)等優(yōu)點(diǎn),使它在嵌入式控制領(lǐng)域越來(lái)越流行。更重要的是,由于嵌入式Linux與PC機(jī)的Linux源于同一套內(nèi)核代碼。只是裁剪的程度不同,這使得很多為PC機(jī)的開(kāi)發(fā)的軟件經(jīng)過(guò)了再次的編譯后,也可以直接在嵌入式控制設(shè)備上工作,這使得它的軟件資源極大的豐富。4.2 t服務(wù)器配置嵌入式系統(tǒng)開(kāi)發(fā)多采用交叉開(kāi)發(fā)模式,其中產(chǎn)生嵌入式軟件的平臺(tái)稱為宿主機(jī),通常為PC電腦,運(yùn)行嵌入式軟件的平臺(tái)稱為目標(biāo)機(jī)。宿主機(jī)一般通過(guò)網(wǎng)絡(luò),USB,JTAG等方式將軟件下載到目標(biāo)機(jī)。4.2.1 tftp服務(wù)器的配置T Protocol,

45、簡(jiǎn)單文件傳輸協(xié)議)是TCP/IP協(xié)議族中的用來(lái)在客戶機(jī)與服務(wù)器之間進(jìn)行簡(jiǎn)單文件傳輸?shù)膮f(xié)議,提供不復(fù)雜、開(kāi)銷不大的文件傳輸服務(wù)。 TFTP這種簡(jiǎn)單的基于UDP的文件傳輸協(xié)議,通常只能用于小文件的傳輸。并且它不具備通常的FTP的許多功能,它只能從文件服務(wù)器上獲得或?qū)懭胛募荒芰谐瞿夸?,也不能進(jìn)行認(rèn)證。在嵌入式開(kāi)發(fā)中,tftp服務(wù)常用于通過(guò)從PC機(jī)服務(wù)端的tftp目錄中下載鏡像文件到目標(biāo)開(kāi)發(fā)板中,以待燒寫(xiě)或運(yùn)行。使用這種方式下載文件,操作方便、并且速度也挺快。4.2.2 NFS服務(wù)器配置NFS(網(wǎng)絡(luò)文件系統(tǒng))為兩臺(tái)Linux主機(jī)之間的通訊提供了類似于Windows上共享目錄一樣的服務(wù),在嵌入式Li

46、nux開(kāi)發(fā)中,Linux目標(biāo)機(jī)經(jīng)常通過(guò)NFS方式訪問(wèn)Linux宿主機(jī)上的文件,為了實(shí)現(xiàn)這種訪問(wèn),首先需要在Linux搭建NFS服務(wù)器。配置NFS服務(wù)器:vi /etc/exports,在打開(kāi)的文件中添加如下一行:/home/S5-driver/lesson8/rootfs *(rw,sync,no_root_squash)。此配置是為了讓目標(biāo)板在完成掛載,進(jìn)行相關(guān)測(cè)試。下面是對(duì)這一行代碼的解釋。/home/S5-driver/lesson8/rootfs:共享的目錄*:允許訪問(wèn)共享目錄的主機(jī)IP(rw,sync,no_root_squash):訪問(wèn)權(quán)限4.3 安裝交叉編譯器交叉編譯,簡(jiǎn)單地說(shuō),

47、就是在一個(gè)平臺(tái)上生成另一個(gè)平臺(tái)上的可執(zhí)行代碼。同一個(gè)體系結(jié)構(gòu)可以運(yùn)行不同的操作系統(tǒng);同樣,同一個(gè)操作系統(tǒng)也可以在不同的體系結(jié)構(gòu)上運(yùn)行。舉例來(lái)說(shuō),我們常說(shuō)的x86 Linux平臺(tái)實(shí)際上是Intel x86體系結(jié)構(gòu)和Linux for x86操作系統(tǒng)的統(tǒng)稱;而x86 WinNT平臺(tái)實(shí)際上是Intel x86體系結(jié)構(gòu)和Windows NT for x86操作系統(tǒng)的簡(jiǎn)稱。交叉編譯出來(lái)的程序,所要運(yùn)行的目標(biāo)環(huán)境中,各種資源,都相對(duì)有限,所以很難進(jìn)行直接的本地編譯最常見(jiàn)的情況是:在進(jìn)行嵌入式開(kāi)發(fā)時(shí),目標(biāo)平臺(tái),即嵌入式開(kāi)發(fā)板,比如是最大主頻200MHz的ARM的CPU,加上32M的RAM,加上1G的Nand

48、 Flash等等。在如此相對(duì)比較緊張的硬件資源的前提下,在已經(jīng)運(yùn)行了嵌入式Linux的前提下,是沒(méi)法很方便的,直接在嵌入式Linux下,去本地編譯,去在ARM的CPU下,編譯出來(lái),供ARM的CPU可以運(yùn)行的程序的。因?yàn)榫幾g,開(kāi)發(fā),都需要相對(duì)比較多的CPU,內(nèi)存,硬盤(pán)等資源,而嵌入式開(kāi)發(fā)上的那點(diǎn)資源,只夠嵌入式(Linux)系統(tǒng)運(yùn)行的,沒(méi)太多剩余的資源,供你本地編譯。本設(shè)計(jì)采用的S3C2440是ARM體系的架構(gòu),而Linux屬于X86的架構(gòu),因此,需要用交叉編譯器將程序進(jìn)行編譯,移植到ARM9上才能正常運(yùn)行。第5章 監(jiān)控系統(tǒng)的實(shí)現(xiàn)5.1 Bootloader的移植1. Bootloader簡(jiǎn)介B

49、ootloader是嚴(yán)重依賴于硬件而實(shí)現(xiàn)的,特別是在嵌入式世界。因此,在嵌入式世界里建立一個(gè)通用的Bootloader幾乎是不可能的。盡管如此,我們?nèi)钥梢詫?duì)Bootloader歸納出一些通用的概念,以指導(dǎo)用戶特定的Bootloader設(shè)計(jì)與實(shí)現(xiàn)。簡(jiǎn)單地說(shuō),Bootloader就是在操作系統(tǒng)內(nèi)核運(yùn)行之前的一段小程序,通過(guò)這段小程序,我們可以初始化硬件設(shè)備、建立內(nèi)存空間映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境。在嵌入式系統(tǒng)中,通常并沒(méi)有像BIOS那樣的固件程序,因此整個(gè)系統(tǒng)的家在啟動(dòng)任務(wù)就完全由Bootloader來(lái)完成。在專用的嵌入式板子運(yùn)行GN

50、U/Linux系統(tǒng)已經(jīng)變得越來(lái)越流行。一個(gè)嵌入式Linux系統(tǒng)從軟件的角度看通??梢苑譃樗膫€(gè)層次:(1) Bootloader用來(lái)加載內(nèi)核。(2) Kernel為特定嵌入式開(kāi)發(fā)板的定制內(nèi)核以及控制內(nèi)核引導(dǎo)系統(tǒng)的參數(shù)。(3) rootfs包括根文件系統(tǒng)和建立于Flash內(nèi)存設(shè)備上的文件系統(tǒng)。文件系統(tǒng)提供管理的各種配置文件以及系統(tǒng)執(zhí)行用戶應(yīng)用程序的運(yùn)算環(huán)境。(4) user特定于用戶的應(yīng)用程序。有時(shí)在用戶應(yīng)用程序和內(nèi)核層之間可能還會(huì)包括一個(gè)嵌入式圖形用戶界面。2. 常見(jiàn)Bootloader介紹Bootloader的編寫(xiě)依賴于硬件。每種不同體系結(jié)構(gòu)的處理器都有不同的Bootloader。不過(guò)Boot

51、loader的發(fā)展也趨于支持多種體系結(jié)構(gòu),比如U-boot從最初的只支持PowerPC,到目前同時(shí)支持PowerPC、ARM、MIPS、X86等多種體系結(jié)構(gòu)。除了依賴于處理器的體系結(jié)構(gòu)外,Bootloader實(shí)際上也依賴于具體的嵌入式板級(jí)設(shè)備的配置,也就是說(shuō),對(duì)于兩塊不同的嵌入式板而言,即使它們是基于同一種處理器而構(gòu)建的,要想讓運(yùn)行在一塊板子上的Bootloader程序也能運(yùn)行在另一塊板子上,通常也都需要對(duì)Bootloader進(jìn)行移植工作。下面是對(duì)常見(jiàn)Bootloader的簡(jiǎn)介。(1) U-boot 這是現(xiàn)在使用最多的bootloader之一,是sourceforge上的一個(gè)開(kāi)源項(xiàng)目

52、。支持ARM,MIPS,PowerPC,x86等處理器,同時(shí)支持linux,VxWorks,NetBSD, QNX等操作系統(tǒng)。(2) PPCBoot 這是德國(guó)DENX小組開(kāi)發(fā)的用于多種嵌入式CPU的Bootloader引導(dǎo)程序。目前支持ARM,MIPS,PowerPC等處理器。(3) RedBoot Redhat公司隨ECOS發(fā)布的一個(gè)開(kāi)源項(xiàng)目??梢酝ㄟ^(guò)串口和以太網(wǎng)口與GDB進(jìn)行通信和調(diào)試應(yīng)用程序。(4) ARMBoot 這也是sourceforge上的一個(gè)開(kāi)源項(xiàng)目,設(shè)計(jì)只針對(duì)ARM的處理器結(jié)構(gòu),所以在ARM內(nèi)核的平臺(tái)上移植比較方便。(5) Blob&#

53、160;Blob(Boot Loader Object)是由Jan-Derk Bakker and Erik Mouw發(fā)布的,是專門(mén)為StrongARM 構(gòu)架下的LART設(shè)計(jì)的Boot Loader。Blob支持SA1100的LART主板,但用戶也可以自行修改移植。Blob也提供兩種工作模式,在啟動(dòng)時(shí)處于正常的啟動(dòng)加載模式,但是它會(huì)延時(shí) 10 秒等待終端用戶按下任意鍵而將 Blob 切換到下載模式。如果在 10 秒內(nèi)沒(méi)有用戶按鍵,則 Blob 繼續(xù)啟動(dòng) Linux內(nèi)核。(6) Vivi 韓國(guó)mizi公司開(kāi)發(fā)的bootloader,適用于ARM9的處理器。3. U-boot分析u-bo

54、ot是一個(gè)開(kāi)源項(xiàng)目,全稱Universal Boot Loader,從FADSROM、8xxROM、PPCBOOT逐步發(fā)展演化而來(lái)。U-boot除了支持PowerPC系列的處理器外,還能支持MIPS、X86、ARM、NIOS、XScale等諸多常用系列的處理器。這兩個(gè)特點(diǎn)正是u-boot項(xiàng)目的開(kāi)發(fā)目標(biāo),即支持盡可能多的嵌入式處理器和嵌入式操作系統(tǒng)。4. U-boot的目錄結(jié)構(gòu)u-boot源碼目錄、編譯形式與Linux內(nèi)核很相似。不少u-boot源碼就是相應(yīng)的Linux內(nèi)核源程序的簡(jiǎn)化,特別是一些設(shè)備的驅(qū)動(dòng)程序。下面是u-boot的目錄結(jié)構(gòu):* board 目標(biāo)板相關(guān)文件,主要包含SD

55、RAM、FLASH驅(qū)動(dòng);* common 獨(dú)立于處理器體系結(jié)構(gòu)的通用代碼,如內(nèi)存大小探測(cè)與故障檢測(cè);* cpu 與處理器相關(guān)的文件。如mpc8xx子目錄下含串口、網(wǎng)口、LCD驅(qū)動(dòng)及中斷初始化等文件;* driver 通用設(shè)備驅(qū)動(dòng),如CFI FLASH驅(qū)動(dòng)(目前對(duì)INTEL FLASH支持較好)* doc U-Boot的說(shuō)明文檔;* examples可在U-Boot下運(yùn)行的示例程序;如hello_world.c,timer.c;* include U-Boot頭文件;尤其configs子目錄下與目標(biāo)板相關(guān)的配置頭文件是移植過(guò)程中經(jīng)常要修改的文件;* lib_xxx 處理器體系相關(guān)的文件,如lib

56、_ppc, lib_arm目錄分別包含與PowerPC、ARM體系結(jié)構(gòu)相關(guān)的文件;* net 與網(wǎng)絡(luò)功能相關(guān)的文件目錄,如bootp,nfs,tftp;* post上電自檢文件目錄。尚有待于進(jìn)一步完善;* rtc RTC驅(qū)動(dòng)程序;* tools 用于創(chuàng)建U-Boot S-RECORD和BIN鏡像文件的工具;5.2 內(nèi)核的移植Linux是一個(gè)具有完整功能的Unix操作系統(tǒng),并試圖把Unix各版本的優(yōu)勢(shì)于一身。 Linux操作系統(tǒng)主要由進(jìn)程調(diào)度、內(nèi)存管理、虛擬文件系統(tǒng)、網(wǎng)絡(luò)接口、進(jìn)程間通信等幾個(gè)部分組成。運(yùn)行命令:make menuconfig,出現(xiàn)如下界面: 按照自己板子的具體情況進(jìn)行相關(guān)配置。

57、配置完后運(yùn)行make進(jìn)行編譯,編譯完后生成zImage。5.3 根文件系統(tǒng)制作簡(jiǎn)單來(lái)說(shuō),根文件系統(tǒng)就是一種目錄結(jié)構(gòu)。根文件系統(tǒng)和普通的文件系統(tǒng)的區(qū)別在于:根文件系統(tǒng)要包括Linux啟動(dòng)時(shí)所必須的目錄和關(guān)鍵性的文件。Linux支持多種文件系統(tǒng)類型,在嵌入式上常用的有:ROMFS、JFFS2、NFS、CRAMFS、YAFFS、UBIFS等。Linux引入了虛擬文件系統(tǒng)VFS(Virtual ),為各類文件系統(tǒng)提供一個(gè)統(tǒng)一的操作界面和應(yīng)用編程接口在Linux系統(tǒng)中是通過(guò)mount命令來(lái)掛載不同的文件系統(tǒng)。使用NFS掛載根文件系統(tǒng)在開(kāi)發(fā)板的串口控制臺(tái)輸入如下命令:setenv bootargs noi

58、nitrd console=ttySAC0,115200 init=/linuxrc root=/dev/nfs rw nfsroot=28:/home/S5-driver/lesson8/rootfs ip=:28:::eth0:off下面是對(duì)上面代碼的解釋。(1) initrd, noinitrd當(dāng)你沒(méi)有使用ramdisk啟動(dòng)系統(tǒng)的時(shí)候,你需要使用noinitrd這個(gè)參數(shù),但是如果使用了的話,就需要指定initrd=r_addr,size, r_addr表示initrd在內(nèi)存中

59、的位置,size表示initrd的大小。(2) console:console=tty  使用虛擬串口終端設(shè)備。console=ttyS,options 使用特定的串口,options可以是這樣的形式bbbbpnx,這里bbbb是指串口的波特率,p是奇偶位(從來(lái)沒(méi)有看過(guò)使用過(guò)),n是指的bits。根據(jù)當(dāng)前的環(huán)境,有時(shí)用ttyS,有時(shí)用ttySAC,網(wǎng)上有人說(shuō),這是跟內(nèi)核的版本有關(guān),2.4用ttyS,2.6用ttySAC,但實(shí)際情況是官方文檔中也是使用ttyS,所以應(yīng)該是跟內(nèi)核版本沒(méi)有關(guān)聯(lián)的??梢圆榭碊ocumentation/serial-console.txt找到相關(guān)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論