日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀] boa服務(wù)器是一個小巧高效的web服務(wù)器(大小只有60kb),效率高,專為嵌入式應(yīng)用而開發(fā),可以支持CGI腳本適合各種資源有限的嵌入式應(yīng)用環(huán)境,是一種單任務(wù)的web服務(wù)器,其對于http的請求采用順序執(zhí)行方式來完成,不會調(diào)用fork創(chuàng)建新的進程來實現(xiàn),但是在執(zhí)行CGI的時候,起采用的是多進程的方式,可以單獨為CGI程序fork相應(yīng)的進程來執(zhí)行,這種設(shè)計方式極大的保證了再嵌入式平臺上部署web服務(wù)不會給平臺帶來過大的壓力和過多的資源損耗而影響平臺運行其他應(yīng)用的性能,非常適合一些嵌入式的應(yīng)用需求。

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

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

 


 

圖1 Boa log

二、準(zhǔn)備工作

1)下載Boa源碼包

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

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

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

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

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

http://www.cnblogs.com/tdyizhen1314/p/4124886.html,完成安裝后,按照下圖搭建好交叉編譯環(huán)境,其中設(shè)置好網(wǎng)絡(luò)后,該圖中的micro usb連接電腦的方式可以用WiFi連接,同時借助于ssh遠程登錄工具,登錄開發(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)的文件

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

// 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文件修改

注釋掉下面兩句話:

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工具來進行配置生成makefile,具體的命令如下:

首先轉(zhuǎn)到src目錄下

cd boa-0.94.19/src

然后執(zhí)行./configure

5)修改makefile中的編譯工具,在生成的makefile文件中是指定了CC=gcc即使用gcc工具來進行編譯,但是我們的目標(biāo)是要講Boa移植到開發(fā)板上,開發(fā)板是基于ARM架構(gòu)的,因此需要修改編譯工具,即修改CC=gcc為:

CC = arm-softfloat-linux-gnu-gcc

同時在編譯Boa中還需要使用CPP編譯工具,使用的是gcc-E因此還需要修改CPP = gcc -E 為 CC = arm-softfloat-linux-gnu-gcc -E。

6)編譯Boa

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

7)Boa配置

在下載的源碼目錄下有一個boa.conf配置文件,在該配置文件中用戶可以修改自己的web配置,包括Group、user、ScriptAlias、documentRoot、SserverName、AccessLog等信息,具體的修改可以參考http://www.boa.org中的配置資料和方法進行修改,也可以直接打開boa.conf文件看其中注釋進行修改。

8)下載到開發(fā)板

將文件在開發(fā)板的/etc目錄下建一個boa文件夾,然后將編譯和修改好的boa、boa.conf拷貝到開發(fā)板的/etc/boa目錄下,PC機器上的etc/mime.types文件拷貝到開發(fā)板的/etc目錄下。

完成上述文件下載后,在410c開發(fā)板的/etc/boa文件夾下創(chuàng)建www目錄,在www目錄下創(chuàng)建cgi-bin目錄,其中www目錄用于存放網(wǎng)頁html文件,cgi-bin用于存放cgi腳本。

最后將自己的主頁文件index.html拷貝到開發(fā)板的www目錄下,如果index.html還有關(guān)聯(lián)的文件或者文件夾,都全部復(fù)制到該目錄下。到此,整個Boa web服務(wù)器移植完成,在PC機上打開瀏覽器,輸入開發(fā)板的ip即可看到主頁內(nèi)容。

在完成了web服務(wù)器的搭建后,同時結(jié)合前面的一篇博客《基于DragonBoard 410c平臺的移動圖像監(jiān)測系統(tǒng)》,最后就可以方便的構(gòu)建基于web的移動圖像檢測系統(tǒng),用moTIon實現(xiàn)移動圖像監(jiān)測,同時基于web模式進行查看監(jiān)測內(nèi)容。

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

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月10日消息,美國ZEUS(Zettawatt Equivalent Ultrashort laser pulse System)激光設(shè)施成功發(fā)射了2拍瓦(2千萬億瓦)光束,成為美國當(dāng)前運行中的最強激光

關(guān)鍵字: 激光 發(fā)電

9月10日消息,NVIDIA在演講中展示了其Blackwell Ultra AI服務(wù)器的驚人能力,尤其是在投資回報率(ROI)方面,其表現(xiàn)遠超所謂的“免費”GPU。

關(guān)鍵字: NVIDIA AMD

9月10日消息,據(jù)媒體報道,瑞士洛桑國際管理發(fā)展學(xué)院最新發(fā)布的《2025年世界人才排名》顯示,中國香港排名大幅上升,由去年的第九位躍升至全球第四,創(chuàng)下歷來最高位次,位居亞洲之首。

關(guān)鍵字: 科技 AI

9月10日消息,在最近的高盛Communacopia +科技大會上,Intel副總裁John Pitzer透露了Intel在x86和IFS計劃方面的一些新細節(jié)。

關(guān)鍵字: Intel 處理器

9月10日消息,128GB顯存的RTX 5090是沒有的,不過128GB顯存的AI GPU確實有。

關(guān)鍵字: NVIDIA AMD

方案解析:通過從電視HDMI ARC接口解析出光纖、同軸、I2S、左右聲道4種信號,任選其一橋接到藍牙、WIFI、U段音頻發(fā)射,再發(fā)射到接收端(如耳機、音箱),為無線音頻發(fā)射提供ARC回傳數(shù)字音頻橋接

關(guān)鍵字: 方案開發(fā) 電子方案 納祥科技

9月9日消息,小米突然辭退王騰,這件事來的很是突然,引因此被擠上了熱搜。

關(guān)鍵字: 小米 雷軍 王騰

9月9日消息,今日,國際權(quán)威市場調(diào)研機構(gòu)英富曼(Omdia)發(fā)布《中國AI云市場,1H25》報告。

關(guān)鍵字: AI 人工智能

9月9日消息,AMD發(fā)布了其最新的Software Adrenalin驅(qū)動版本25.9.1,最大的亮點就是可在支持FSR 3.1的DirectX 12游戲中啟用FSR 4。

關(guān)鍵字: AMD Zen6 2nm

9月9日消息,NVIDIA首席財務(wù)官Colette Kress在高盛Communacopia+技術(shù)大會上發(fā)表了講話。

關(guān)鍵字: NVIDIA AMD
關(guān)閉