如何在DragonBoard 410c平臺(tái)上移植web服務(wù)_第1頁(yè)
如何在DragonBoard 410c平臺(tái)上移植web服務(wù)_第2頁(yè)
如何在DragonBoard 410c平臺(tái)上移植web服務(wù)_第3頁(yè)
如何在DragonBoard 410c平臺(tái)上移植web服務(wù)_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

如何在DragonBoard410c平臺(tái)上移植web服務(wù)?一、boaweb服務(wù)器介紹boa服務(wù)器是一個(gè)小巧高效的web服務(wù)器(大小只有60kb),效率高,專(zhuān)為嵌入式應(yīng)用而開(kāi)發(fā),可以支持CGI腳本適合各種資源有限的嵌入式應(yīng)用環(huán)境,是一種單任務(wù)的web服務(wù)器,其對(duì)于http的請(qǐng)求采用順序執(zhí)行方式來(lái)完成,不會(huì)調(diào)用fork創(chuàng)建新的進(jìn)程來(lái)實(shí)現(xiàn),但是在執(zhí)行CGI的時(shí)候,起采用的是多進(jìn)程的方式,可以單獨(dú)為CGI程序fork相應(yīng)的進(jìn)程來(lái)執(zhí)行,這種設(shè)計(jì)方式極大的保證了再嵌入式平臺(tái)上部署web服務(wù)不會(huì)給平臺(tái)帶來(lái)過(guò)大的壓力和過(guò)多的資源損耗而影響平臺(tái)運(yùn)行其他應(yīng)用的性能,非常適合一些嵌入式的應(yīng)用需求。圖1Boalog二、準(zhǔn)備工作1)下載Boa源碼包在/網(wǎng)站上可以下載最新的Boa源碼,本文移植過(guò)程中下載的是0.94.13版本。2)搭建開(kāi)發(fā)環(huán)境本文移植的過(guò)程是基于linux系統(tǒng)環(huán)境下完成的,需要在DragonBoard410c上安裝好linux操作系統(tǒng),具體的安裝方法可以參考高通提供的DragonBoard410c的LinuxUserGuide.pdf文檔,并且設(shè)置好網(wǎng)絡(luò)。3)在PC機(jī)上安裝好交叉編譯工具鏈本文使用的是arm-linux-gcc4.4.3,具體的安裝方法可以參考以下鏈接:/tdyizhen1314/p/4124886.html,完成安裝后,按照下圖搭建好交叉編譯環(huán)境,其中設(shè)置好網(wǎng)絡(luò)后,該圖中的microusb連接電腦的方式可以用WiFi連接,同時(shí)借助于ssh遠(yuǎn)程登錄工具,登錄開(kāi)發(fā)板即可。圖2編譯環(huán)境三、Boa的移植1)解壓Boa包#tarxzfboa-0.94.13.tar.gz2)參考Boa官網(wǎng)上的資料/,安裝bison和flex工具3)修改相關(guān)的文件在安裝的過(guò)程總需要修改src/compat.h、src/log.c和src/boa.c三個(gè)文件,具體的修改方法如下://src/compat.h文件修改#geditsrc/compat.h找到:#defineTIMEZONE_OFFSET(foo)foo##-》tm_gmtoff將該代碼修改為:#defineTIMEZONE_OFFSET(foo)(foo)-》tm_gmtoff//src/log.c文件修改#geditsrc/log.c找到代碼段:if(dup2(error_log,STDERR_FILENO)==-1){DIE(“unabletodup2theerrorlog”);}將該代碼段注釋掉。//src/boa.c文件修改注釋掉下面兩句話:if(passwdbuf==NULL){DIE(”getpwuid”);}if(initgroups(passwdbuf->pw_name,passwdbuf->pw_gid)==-1){DIE(”initgroups”);}和if(setuid(0)!=-1){DIE(”ickyLinuxkernelbug!”);}4)生成Makefile文件在解壓后的boa源碼文件中,提供了configure工具來(lái)進(jìn)行配置生成makefile,具體的命令如下:首先轉(zhuǎn)到src目錄下cdboa-0.94.19/src然后執(zhí)行./configure5)修改makefile中的編譯工具,在生成的makefile文件中是指定了CC=gcc即使用gcc工具來(lái)進(jìn)行編譯,但是我們的目標(biāo)是要講Boa移植到開(kāi)發(fā)板上,開(kāi)發(fā)板是基于ARM架構(gòu)的,因此需要修改編譯工具,即修改CC=gcc為:CC=arm-softfloat-linux-gnu-gcc同時(shí)在編譯Boa中還需要使用CPP編譯工具,使用的是gcc-E因此還需要修改CPP=gcc-E為CC=arm-softfloat-linux-gnu-gcc-E。6)編譯Boa直接執(zhí)行#make命令即可進(jìn)行編譯,編譯后就可以得到可執(zhí)行的boa文件,如果需要進(jìn)一步壓縮boa大小,可以執(zhí)行#arm-softfloat-linux-gnu-stripboa,還可以進(jìn)一步對(duì)生成的boa進(jìn)行瘦身。7)Boa配置在下載的源碼目錄下有一個(gè)boa.conf配置文件,在該配置文件中用戶可以修改自己的web配置,包括Group、user、ScriptAlias、documentRoot、SserverName、AccessLog等信息,具體的修改可以參考中的配置資料和方法進(jìn)行修改,也可以直接打開(kāi)boa.conf文件看其中注釋進(jìn)行修改。8)下載到開(kāi)發(fā)板將文件在開(kāi)發(fā)板的/etc目錄下建一個(gè)boa文件夾,然后將編譯和修改好的boa、boa.conf拷貝到開(kāi)發(fā)板的/etc/boa目錄下,PC機(jī)器上的etc/mime.types文件拷貝到開(kāi)發(fā)板的/etc目錄下。完成上述文件下載后,在410c開(kāi)發(fā)板的/etc/boa文件夾下創(chuàng)建www目錄,在www目錄下創(chuàng)建cgi-bin目錄,其中www目錄用于存放網(wǎng)頁(yè)html文件,cgi-bin用于存放cgi腳本。最后將自己的主頁(yè)文件index.html拷貝到開(kāi)發(fā)板的www目錄下,如果index.html還有關(guān)聯(lián)的文件或者文件夾,都全部復(fù)制到該目錄下。到此,整個(gè)Boaweb服務(wù)器移植完成,在PC機(jī)上打開(kāi)瀏覽器,輸入開(kāi)發(fā)板的ip即可看到主頁(yè)內(nèi)容。在完成了web服務(wù)器的搭建后,同時(shí)結(jié)合前面的一篇博客《基于DragonBoard410c平臺(tái)的移動(dòng)圖像監(jiān)測(cè)系統(tǒng)》,最后就可以方便的構(gòu)建基于web的移動(dòng)圖像檢測(cè)系統(tǒng),用motion實(shí)現(xiàn)移動(dòng)

溫馨提示

  • 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)論