亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ARM9的Web服務(wù)器Boa的軟、硬件設(shè)計(jì)

        2013-06-01 06:58:56長江泰州通信管理處
        電子世界 2013年13期
        關(guān)鍵詞:源代碼內(nèi)核網(wǎng)頁

        長江泰州通信管理處 金 勇

        基于ARM9的Web服務(wù)器Boa的軟、硬件設(shè)計(jì)

        長江泰州通信管理處 金 勇

        文章介紹了基于ARM9的嵌入式Web服務(wù)器Boa的軟、硬件設(shè)計(jì)及其實(shí)現(xiàn),硬件部分的核心是三星的S3C2410X處理器。最后成果形式為可以遠(yuǎn)程訪問的WebServer嵌入式服務(wù)器。Boa是一款單任務(wù)的HTTP服務(wù)器。與其他傳統(tǒng)的Web服務(wù)器不同的是當(dāng)有連接請求到來時,它并不為每個連接單獨(dú)創(chuàng)建進(jìn)程,也不通過復(fù)制自身進(jìn)程來處理多鏈接。而是通過建立HTTP請求列表來處理多路HTTP連接請求。同時它只為CGI程序創(chuàng)建新的進(jìn)程,這樣就在最大程度上節(jié)省了系統(tǒng)資源,這對嵌入式系統(tǒng)來說至關(guān)重要。同時它還具有自動生成目錄、自動解壓文件等功能。因此,Boa在嵌入式系統(tǒng)中具有很高的應(yīng)用價值。

        ARM;Linux;嵌入式Web服務(wù)器;CGI

        1.ARM簡介

        廣義地講,凡是帶有微處理器的專用軟硬件系統(tǒng)都可以稱為嵌入式系統(tǒng)。它是嵌入到對象體系中的專用計(jì)算機(jī)系統(tǒng),以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗等嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。目前非常流行的ARM內(nèi)核有ARM7TDM1、StrongARM、ARM720T、ARM9TDM1、ARM920T、ARM940T、ARM946T、ARM966T、ARM10TDM1等。本文所討論的目標(biāo)板的CPU為ARM920T內(nèi)核的三星S3C2410芯片。

        ARM9系列微處理器主要應(yīng)用于無線設(shè)備、儀器儀表、安全系統(tǒng)、機(jī)頂盒、高端打印機(jī)、數(shù)字照相機(jī)和數(shù)字?jǐn)z像機(jī)等。它包含ARM920T、ARM922T和ARM940T三種類型,廣泛應(yīng)用于PDA、移動通信、路由器、工業(yè)控制等領(lǐng)域。

        圖1 JXARM9-2410 Linux開發(fā)流程

        圖2 Boa測試開發(fā)環(huán)境

        圖3 index.html網(wǎng)頁

        2.嵌入式Web服務(wù)器實(shí)現(xiàn)原理

        嵌入式Web服務(wù)器是指將Web服務(wù)器引入到現(xiàn)場嵌入式設(shè)備中,并駐留其中有限的代碼空間內(nèi)。與傳統(tǒng)的Web應(yīng)用相比,簡化了系統(tǒng)結(jié)構(gòu),并將信息采集和信息發(fā)布都集成到現(xiàn)場的嵌入式設(shè)備中。在相應(yīng)得軟硬件平臺支持下,利用標(biāo)準(zhǔn)的接口形式和通信協(xié)議,內(nèi)嵌于嵌入式設(shè)備的Web服務(wù)器可以向任何接入到它所在網(wǎng)絡(luò)的合法用戶提供統(tǒng)一的基于瀏覽器方式的操作和控制界面,此時瀏覽器成了設(shè)備的前端控制板。當(dāng)前在嵌入式應(yīng)用領(lǐng)域,嵌入式系統(tǒng)轉(zhuǎn)變?yōu)榍度胧絎ebServer,大體可分為2種實(shí)現(xiàn)方案:(1)基于網(wǎng)關(guān)服務(wù)器的嵌入式設(shè)備Internet接入;(2)直接實(shí)現(xiàn)TCP/IP的嵌入式設(shè)備Internet接入。本課題中采用第二種實(shí)現(xiàn)方案。

        3.系統(tǒng)功能的實(shí)現(xiàn)

        3.1 開發(fā)流程

        圖1為本課題所采用的實(shí)驗(yàn)環(huán)境以及開發(fā)流程。①在主機(jī)的RedHat Linux操作系統(tǒng)下安裝Linux發(fā)行包以及交叉編譯器armlinux-gcc;②對Linux進(jìn)行配置(make menuconfig),并選擇適合本課題系統(tǒng)得相關(guān)配置;③編譯生成Linux映像文件zlmage;④通過u-boot的tftp命令將該文件下載到目標(biāo)板并執(zhí)行。這將在下面的內(nèi)容中作介紹。

        3.2 加載Linux內(nèi)核映像

        3.2.1 將JXARM9-2410的串口0與PC的COM1連接,JXARM9-2410的網(wǎng)卡和PC的網(wǎng)卡使用直連網(wǎng)線進(jìn)行連接,或者將JXARM9-2410和PC機(jī)使用普通網(wǎng)線接入同一局域網(wǎng)。ARM實(shí)驗(yàn)箱的IP為192.168.1.45,虛擬機(jī)下的Linux的IP設(shè)為192.168.1.180,并將安全級別設(shè)置成無防火墻,宿主機(jī)IP設(shè)為192.168.1.145。

        3.2.2 將JXARM9-2410上電,正常情況下將在終端DNW中看到bootloader菜單界面。在bootloader中按照提示進(jìn)行加載完成后輸入CTRL+C進(jìn)入Linux命令行。如果出現(xiàn)失敗,則可能存在一下幾種問題:

        1)加載內(nèi)核時總體是“TT”,這是由于tftp服務(wù)器沒有連接成功,在uboot中輸入ping 192.168.1.180命令,如果提示為not alive請檢查網(wǎng)絡(luò)有沒有正確連接:使用網(wǎng)線正確與否或者宿主機(jī)和目標(biāo)機(jī)的IP地址不在同一子網(wǎng)。此處要求宿主機(jī)和目標(biāo)機(jī)都在192.168.1.xxx網(wǎng)段,而且最后一位不能相同;如果提示為alive而仍然提示“TT”,請檢查Windows防火墻設(shè)置,關(guān)閉防火墻,如果仍然不行,請關(guān)閉系統(tǒng)中啟動的其它程序,如殺毒軟件等。

        2)提示“packet too big”,這個問題是由于uboot接收到非法的包產(chǎn)生的,少量這種提示不會影響內(nèi)核的加載,如果導(dǎo)致內(nèi)核加載失敗,請按照如下方式檢查:①使用直接網(wǎng)線連接計(jì)算機(jī)和實(shí)驗(yàn)箱;②關(guān)閉計(jì)算機(jī)中打開的所有與網(wǎng)絡(luò)相關(guān)的程序。

        3.3 Boa Web服務(wù)器的建立

        建立Boa Web服務(wù)器包括以下步驟:

        3.3.1 下載Boa源代碼

        當(dāng)我們的目光就投向這張看上去令人難以置信的照片。我們看到的是什么?一個男人,一具人形,還是只是一幅喬裝打扮?是一個恍如隔世的噩夢,還是一幅后現(xiàn)代主義的當(dāng)代影像?照片的不確定性是多層面的,帶來的是伴隨著新奇和些許恐懼的疏離效果。

        Boa web服務(wù)器的源代碼可以從http://www.boa.org下載,本文中下載文件為:boa-0.94.13.tar.gz,為當(dāng)前最新版本。

        3.3.2 安裝并編譯Boa源代碼

        1)通過Vmware Tools中的文件共享將Windows下載的Boa源代碼復(fù)制到/home/cvtech/jx2410/examples/目錄下。

        2)安裝源代碼:生成Makefile文件#./configure。

        3)修改Makefile文件,找到CC=gcc,將其改成CC=arm-linux-gcc,再找到CPP=gcc-E,將其改成CPP=arm-linuxgcc-E,并保存退出。

        4)運(yùn)行make進(jìn)行編譯,在boa/src目錄下將生成Boa文件,該文件即為Boa Web服務(wù)器執(zhí)行文件。將調(diào)試信息剝?nèi)?,得到的最后程序只有約60KB大小。

        3.3.3 配置Boa Web服務(wù)器,使其能夠支持CGI程序的執(zhí)行

        Boa啟動時將加載一個配置文件boa.conf,在Boa程序運(yùn)行前,必須首先編輯該文件,并將其放置于src/defines.h文件中SEVER-ROOT宏定義所定義的缺省目錄,或者在啟動Boa時使用參數(shù)“-c”指定boa.conf的加載目錄。

        3.4 系統(tǒng)功能的測試

        在移植完Boa服務(wù)器后就是測試它能否正常工作,靜態(tài)HTML頁面能否正常訪問,還將測試動態(tài)Web頁面能否正常訪問。本課題中將采用NFS方式來進(jìn)行測試工作。

        測試Web服務(wù)器。Boa測試開發(fā)環(huán)境如圖2所示:

        可以將嵌入式目標(biāo)系統(tǒng)上的/etc目錄復(fù)制到主機(jī)的NFS共享目錄下,然后將NFS共享目錄下的etc重新mount為目標(biāo)系統(tǒng)上的/etc目錄。這樣就可以在主機(jī)上對etc目錄下的各種配置文件進(jìn)行修改而立刻在目標(biāo)系統(tǒng)上生效。

        先前設(shè)定JXARM9-2410的IP地址為:192.168.1.45,且在JXARM9-2410的JFFS2文件系統(tǒng)中已經(jīng)預(yù)先燒寫好了配置好的boa.conf文件,位于/mnt/jffs2/etc/目錄。

        啟動JXARM9-2410 Linux,然后按如下步驟進(jìn)行:

        a)將Boa的執(zhí)行文件復(fù)制到tftpboot目錄下;

        b)將主機(jī)下的tftpboot目錄掛載到目標(biāo)板的nfs目錄下;

        c)啟動Boa服務(wù)器。

        根據(jù)上文中boa.conf的配置,此時在目標(biāo)板的mnt/jffs2/web目錄下包含測試主頁面index.html、存放各種圖片的目錄IMAGES以及CGI腳本的存放目錄cgi-bin。

        啟動后測試Boa服務(wù)器,在網(wǎng)頁瀏覽器中訪問如下網(wǎng)址:http://192.168.1.45/

        如果網(wǎng)絡(luò)連接正常,且Boa啟動正常的話,將可以看到/mnt/jffs2/web/index.html網(wǎng)頁,如圖3所示,表示靜態(tài)HTML頁面測試通過??梢孕薷脑摼W(wǎng)頁,并替換成所需要的網(wǎng)頁,然后刷新瀏覽器顯示。

        3.5 動態(tài)Web頁面測試

        在JXARM9-2410 Linux的命令行中輸入如下命令,將主機(jī)的tftpboot目錄掛載到目標(biāo)板的nfs目錄:

        上述命令首先將編寫好的CGI程序cgi_test放置boa.conf定義的cgi-bin目錄下。本課題中路徑為/mnt/jffs2/web/cgibin/,然后啟動boa服務(wù)器。CGI程序就能被正確地執(zhí)行。

        使用網(wǎng)頁瀏覽器訪問如下網(wǎng)址:http://192.168.1.45/cgi-bin/cgi_test。

        如果正確,將顯示輸出一個表單。點(diǎn)擊“submit”按鈕將提交表單并由cgi_test程序處理,將在頁面上返回處理的信息。

        [1]張毅,趙國鋒.嵌入式Internet的幾種接入方式比較[J].重慶郵電學(xué)院學(xué)報,2002,4(14):83-86.

        [2]龔波,萬啟常,黃力.ARM平臺上嵌入式Web服務(wù)器實(shí)現(xiàn)[J].湘潭師范學(xué)院學(xué)報,2005,27(2):99-101.

        [3]石道生,吳軍霞,羅慧謙.基于ARM9的嵌入式Web服務(wù)器的研究[J].中國水運(yùn)(學(xué)術(shù)版),2006,6(8):128-129.

        [4]奚立群,劉德華.Web服務(wù)器的嵌入式技術(shù)[J].吉林化工學(xué)院學(xué)報,2003,20(4):90-93.

        [5]陸永建,王萍,吳佳,張永力.嵌入式Web服務(wù)器Boa的移植及其應(yīng)用[J].河海大學(xué)常州分校學(xué)報,2005,19(4):44-47.

        金勇(1979—),男,江蘇泰州人,大學(xué)本科,工程師,現(xiàn)供職于長江泰州通信管理處,研究方向:通信工程。

        猜你喜歡
        源代碼內(nèi)核網(wǎng)頁
        人工智能下復(fù)雜軟件源代碼缺陷精準(zhǔn)校正
        萬物皆可IP的時代,我們當(dāng)夯實(shí)的IP內(nèi)核是什么?
        強(qiáng)化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
        基于TXL的源代碼插樁技術(shù)研究
        基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計(jì)
        Linux內(nèi)核mmap保護(hù)機(jī)制研究
        基于CSS的網(wǎng)頁導(dǎo)航欄的設(shè)計(jì)
        電子制作(2018年10期)2018-08-04 03:24:38
        軟件源代碼非公知性司法鑒定方法探析
        基于URL和網(wǎng)頁類型的網(wǎng)頁信息采集研究
        電子制作(2017年2期)2017-05-17 03:54:56
        揭秘龍湖產(chǎn)品“源代碼”
        国产偷闻女邻居av在线观看| 97午夜理论片在线影院| 女同亚洲女同精品| 狠狠亚洲超碰狼人久久老人| 国产69精品麻豆久久| 韩国一级成a人片在线观看| 精品国产亚洲av麻豆尤物| 日韩精品一区二区亚洲观看av| 超碰人人超碰人人| 国产精品福利自产拍久久 | 丝袜国产高跟亚洲精品91| 日本经典中文字幕人妻| 亚洲国产精品免费一区| 日本免费久久高清视频| 国产精品美女久久久久av超清| 亚洲人成人影院在线观看| 国产韩国精品一区二区三区| 成人性生交大片免费5| 欧美日韩亚洲中文字幕二区| 日本五月天婷久久网站| 国产区高清在线一区二区三区| 97超碰国产成人在线| 亚洲 卡通 欧美 制服 中文| 欧美成人三级网站在线观看| 亚洲国产精品二区三区| 东北女人啪啪对白| 三级4级全黄60分钟| 亚洲精品成人网线在线播放va| 亚洲精品中文字幕乱码| 永久免费人禽av在线观看| 在线精品免费观看| 中文字幕精品亚洲一区二区三区| 国产极品少妇一区二区| 伊人久久五月丁香综合中文亚洲| 国产成人cao在线| 国产一区二区av在线免费观看| 久久久久久久综合综合狠狠| 在线免费毛片| 久久偷拍国内亚洲青青草| 久久亚洲精品情侣| 成人欧美一区二区三区1314|