<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 如何在DragonBoard 410c平臺上移植web服務(wù)?

如何在DragonBoard 410c平臺上移植web服務(wù)?

作者: 時(shí)間:2018-08-06 來(lái)源:網(wǎng)絡(luò ) 收藏

一、boa web服務(wù)器介紹

本文引用地址:http://dyxdggzs.com/article/201808/385389.htm

boa服務(wù)器是一個(gè)小巧高效的web服務(wù)器(大小只有60kb),效率高,專(zhuān)為嵌入式應用而開(kāi)發(fā),可以支持CGI腳本適合各種資源有限的嵌入式應用環(huán)境,是一種單任務(wù)的web服務(wù)器,其對于http的請求采用順序執行方式來(lái)完成,不會(huì )調用fork創(chuàng )建新的進(jìn)程來(lái)實(shí)現,但是在執行CGI的時(shí)候,起采用的是多進(jìn)程的方式,可以單獨為CGI程序fork相應的進(jìn)程來(lái)執行,這種設計方式極大的保證了再嵌入式平臺上部署web服務(wù)不會(huì )給平臺帶來(lái)過(guò)大的壓力和過(guò)多的資源損耗而影響平臺運行其他應用的性能,非常適合一些嵌入式的應用需求。


圖1 Boa log

二、準備工作

1)下載Boa源碼包

在http://www.boa.org/網(wǎng)站上可以下載最新的Boa源碼,本文移植過(guò)程中下載的是0.94.13版本。

2)搭建開(kāi)發(fā)環(huán)境

本文移植的過(guò)程是基于linux系統環(huán)境下完成的,需要在 410c上安裝好linux操作系統,具體的安裝方法可以參考高通提供的 410c 的LinuxUserGuide.pdf文檔,并且設置好網(wǎng)絡(luò )。

3)在PC機上安裝好交叉編譯工具鏈

本文使用的是arm-linux-gcc 4.4.3,具體的安裝方法可以參考以下鏈接:

http://www.cnblogs.com/tdyizhen1314/p/4124886.html,完成安裝后,按照下圖搭建好交叉編譯環(huán)境,其中設置好網(wǎng)絡(luò )后,該圖中的micro usb連接電腦的方式可以用WiFi連接,同時(shí)借助于ssh遠程登錄工具,登錄開(kāi)發(fā)板即可。


圖2 編譯環(huán)境

三 、Boa 的移植

1) 解壓Boa包

# tar xzf boa-0.94.13.tar.gz

2)參考Boa官網(wǎng)上的資料http://www.boa.org/,安裝bison和flex工具

3)修改相關(guān)的文件

在安裝的過(guò)程總需要修改src/compat.h、src/log.c和src/boa.c三個(gè)文件,具體的修改方法如下:

// src/compat.h文件修改

#gedit src/compat.h

找到:#define TIMEZONE_OFFSET(foo) foo##-》tm_gmtoff

將該代碼修改為:#define TIMEZONE_OFFSET(foo) (foo)-》tm_gmtoff

//src/log.c文件修改

#gedit src/log.c

找到代碼段:

if (dup2(error_log, STDERR_FILENO) == -1) {

DIE(“unable to dup2 the error log”);

}

將該代碼段注釋掉。

//src/boa.c文件修改

注釋掉下面兩句話(huà):

if (passwdbuf == NULL) {

DIE(”getpwuid”);

}

if (initgroups(passwdbuf->pw_name, passwdbuf->pw_gid) == -1) {

DIE(”initgroups”);

}

if (setuid(0) != -1) {

DIE(”icky Linux kernel bug!”);

}

4) 生成Makefile文件

在解壓后的boa源碼文件中,提供了configure工具來(lái)進(jìn)行配置生成makefile,具體的命令如下:

首先轉到src目錄下

cd boa-0.94.19/src

然后執行./configure

5)修改makefile中的編譯工具,在生成的makefile文件中是指定了CC=gcc即使用gcc工具來(lái)進(jìn)行編譯,但是我們的目標是要講Boa移植到開(kāi)發(fā)板上,開(kāi)發(fā)板是基于A(yíng)RM架構的,因此需要修改編譯工具,即修改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

直接執行#make命令即可進(jìn)行編譯,編譯后就可以得到可執行的boa文件,如果需要進(jìn)一步壓縮boa大小,可以執行#arm-softfloat-linux-gnu-strip boa,還可以進(jìn)一步對生成的boa進(jìn)行瘦身。

7)Boa配置

在下載的源碼目錄下有一個(gè)boa.conf配置文件,在該配置文件中用戶(hù)可以修改自己的web配置,包括Group、user、ScriptAlias、documentRoot、SserverName、AccessLog等信息,具體的修改可以參考http://www.boa.org中的配置資料和方法進(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機器上的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)的文件或者文件夾,都全部復制到該目錄下。到此,整個(gè)Boa web服務(wù)器移植完成,在PC機上打開(kāi)瀏覽器,輸入開(kāi)發(fā)板的ip即可看到主頁(yè)內容。

在完成了web服務(wù)器的搭建后,同時(shí)結合前面的一篇博客《基于 410c平臺的移動(dòng)圖像監測系統》,最后就可以方便的構建基于web的移動(dòng)圖像檢測系統,用moTIon實(shí)現移動(dòng)圖像監測,同時(shí)基于web模式進(jìn)行查看監測內容。

如果在移植過(guò)程中對html不熟悉,可以通過(guò)瀏覽器打開(kāi)一個(gè)頁(yè)面(如www.baidu.com)然后另存為html文件即可,然后復制或者修改其中一個(gè)html為index.html文件即可,然后就可以用這個(gè)程序做測試。



關(guān)鍵詞: DragonBoard 410cWeb服務(wù)

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>