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

當(dāng)前位置:首頁(yè) > 電源 > 數(shù)字電源
[導(dǎo)讀]文章介紹了基于ARM9的嵌入式Web服務(wù)器Boa的軟、硬件設(shè)計(jì)及其實(shí)現(xiàn),硬件部分的核心是三星的S3C2410X處理器。最后成果形式為可以遠(yuǎn)程訪問(wèn)的WebServer嵌入式服務(wù)器。Boa是一款單任務(wù)的HTTP服務(wù)器。與其他傳統(tǒng)的Web服務(wù)器不同的是當(dāng)有連接請(qǐng)求到來(lái)時(shí),它并不為每個(gè)連接單獨(dú)創(chuàng)建進(jìn)程,也不通過(guò)復(fù)制自身進(jìn)程來(lái)處理多鏈接。而是通過(guò)建立HTTP請(qǐng)求列表來(lái)處理多路HTTP連接請(qǐng)求。同時(shí)它只為CGI程序創(chuàng)建新的進(jìn)程,這樣就在最大程度上節(jié)省了系統(tǒng)資源,這對(duì)嵌入式系統(tǒng)來(lái)說(shuō)至關(guān)重要。同時(shí)它還具有自動(dòng)生成目錄、自

1.ARM簡(jiǎn)介

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

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

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

嵌入式Web服務(wù)器是指將Web服務(wù)器引入到現(xiàn)場(chǎng)嵌入式設(shè)備中,并駐留其中有限的代碼空間內(nèi)。與傳統(tǒng)的Web應(yīng)用相比,簡(jiǎn)化了系統(tǒng)結(jié)構(gòu),并將信息采集和信息發(fā)布都集成到現(xiàn)場(chǎng)的嵌入式設(shè)備中。在相應(yīng)得軟硬件平臺(tái)支持下,利用標(biāo)準(zhǔn)的接口形式和通信協(xié)議,內(nèi)嵌于嵌入式設(shè)備的Web服務(wù)器可以向任何接入到它所在網(wǎng)絡(luò)的合法用戶提供統(tǒng)一的基于瀏覽器方式的操作和控制界面,此時(shí)瀏覽器成了設(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;②對(duì)Linux進(jìn)行配置(makem e n u c o n f i g),并選擇適合本課題系統(tǒng)得相關(guān)配置;③編譯生成Linux映像文件zlmage;④通過(guò)u-boot的tftp命令將該文件下載到目標(biāo)板并執(zhí)行。這將在下面的內(nèi)容中作介紹。

 

 

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

3 . 2 . 1 將J X A R M 9 - 2 4 1 0的串口0與P C的C O M 1連接,J X A R M 9 - 2 4 1 0的網(wǎng)卡和P C 的網(wǎng)卡使用直連網(wǎng)線進(jìn)行連接, 或者將J X A R M 9 - 2 4 1 0和P C機(jī)使用普通網(wǎng)線接入同一局域網(wǎng)。A R M 實(shí)驗(yàn)箱的I P 為192.168.1.45,虛擬機(jī)下的Linux的IP設(shè)為192.168.1.180,并將安全級(jí)別設(shè)置成無(wú)防火墻,宿主機(jī)IP設(shè)為192.168.1.145.

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

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

2)提示“packet too big”,這個(gè)問(wèn)題是由于uboot接收到非法的包產(chǎn)生的,少量這種提示不會(huì)影響內(nèi)核的加載,如果導(dǎo)致內(nèi)核加載失敗,請(qǐng)按照如下方式檢查:①使用直接網(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源代碼

Boa web服務(wù)器的源代碼可以從http://www.boa.org下載,本文中下載文件為:

boa-0.94.13.tar.gz,為當(dāng)前最新版本。

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

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

3)修改Makefile文件,找到CC=gcc,將其改成C C = a r m - l i n u x - g c c,再找到C P P = g c c - E,將其改成C P P = a r m - l i n u x -gcc-E,并保存退出。

4)運(yùn)行make進(jìn)行編譯,在boa/src目錄下將生成Boa文件,該文件即為Boa Web服務(wù)器執(zhí)行文件。將調(diào)試信息剝?nèi)ィ玫降淖詈蟪绦蛑挥屑s60KB大小。

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

Boa啟動(dòng)時(shí)將加載一個(gè)配置文件boa.

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

conf的加載目錄。

用戶可以根據(jù)自己需要,對(duì)boa.conf進(jìn)行修改,但必須要保證其他的輔助文件和設(shè)置必須和boa.conf里的配置相符,不然Boa就不能正常工作。在上面的例子中,我們還需要?jiǎng)?chuàng)建日志文件所在目錄/var/log/boa,將mime.types文件拷貝到/etc目錄。mime.types文件用來(lái)指明不同文件擴(kuò)展名對(duì)應(yīng)的MIME類型,一般可以直接從Linux主機(jī)上拷貝一個(gè),大部分也都是在主機(jī)的/etc目錄下。[!--empirenews.page--]

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

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

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

 

 

可以將嵌入式目標(biāo)系統(tǒng)上的/etc目錄復(fù)制到主機(jī)的NFS共享目錄下,然后將NFS共享目錄下的etc重新mount為目標(biāo)系統(tǒng)上的/etc目錄。這樣就可以在主機(jī)上對(duì)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/目錄。

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

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

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

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

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

啟動(dòng)后測(cè)試Boa服務(wù)器,在網(wǎng)頁(yè)瀏覽器中訪問(wèn)如下網(wǎng)址:http://192.168.1.45/如果網(wǎng)絡(luò)連接正常,且Boa啟動(dòng)正常的話,將可以看到/mnt/jffs2/web/index.

html網(wǎng)頁(yè),如圖3所示,表示靜態(tài)HTML頁(yè)面測(cè)試通過(guò)??梢孕薷脑摼W(wǎng)頁(yè),并替換成所需要的網(wǎng)頁(yè),然后刷新瀏覽器顯示。

 

 

3.5 動(dòng)態(tài)Web頁(yè)面測(cè)試

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

上述命令首先將編寫好的CGI程序cgi_test放置boa.conf定義的cgi-bin目錄下。

本課題中路徑為/ m n t / j f f s 2 / w e b / c g i -bin/,然后啟動(dòng)boa服務(wù)器。CGI程序就能被正確地執(zhí)行。

使用網(wǎng)頁(yè)瀏覽器訪問(wèn)如下網(wǎng)址:http:

//192.168.1.45/cgi-bin/cgi_test.

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

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

?CAN總線(Controller Area Network)設(shè)計(jì)?涉及多個(gè)關(guān)鍵方面,包括硬件設(shè)計(jì)、軟件實(shí)現(xiàn)、通信協(xié)議以及實(shí)際應(yīng)用中的挑戰(zhàn)和解決方案。

關(guān)鍵字: ?CAN總線 硬件設(shè)計(jì)

隨著硬件設(shè)計(jì)復(fù)雜性的不斷增加,高層次綜合(HLS)技術(shù)已成為加速設(shè)計(jì)流程、提高設(shè)計(jì)效率的關(guān)鍵手段。HLS允許設(shè)計(jì)師使用高級(jí)編程語(yǔ)言(如C、C++)來(lái)描述硬件行為,然后通過(guò)綜合工具將這些描述轉(zhuǎn)化為底層的硬件描述語(yǔ)言(HDL...

關(guān)鍵字: HLS HDL 硬件設(shè)計(jì)

在復(fù)雜的硬件設(shè)計(jì)過(guò)程中,Verilog作為一種廣泛使用的硬件描述語(yǔ)言(HDL),其模塊化的設(shè)計(jì)思想極大地提高了設(shè)計(jì)效率和可維護(hù)性。模塊實(shí)例化作為Verilog設(shè)計(jì)中的關(guān)鍵環(huán)節(jié),其正確性和高效性直接影響到整個(gè)項(xiàng)目的成敗。本...

關(guān)鍵字: Verilog 硬件設(shè)計(jì) HDL

嵌入式開發(fā)是當(dāng)今信息技術(shù)領(lǐng)域不可或缺的一部分,它融合了硬件設(shè)計(jì)、軟件開發(fā)和系統(tǒng)集成等多個(gè)學(xué)科,專門用于創(chuàng)建那些被嵌入到特定設(shè)備或系統(tǒng)中的專用計(jì)算機(jī)系統(tǒng)。嵌入式開發(fā)的主要過(guò)程包括利用分立元件或集成器件進(jìn)行電路設(shè)計(jì)、結(jié)構(gòu)設(shè)計(jì)...

關(guān)鍵字: 嵌入式開發(fā) 硬件設(shè)計(jì) 軟件開發(fā)

嵌入式開發(fā)是一項(xiàng)綜合了硬件設(shè)計(jì)、軟件編程以及系統(tǒng)整合的技術(shù)活動(dòng),其目的是為了創(chuàng)造出能夠在特定環(huán)境中高效、穩(wěn)定運(yùn)行的嵌入式系統(tǒng)。這一流程涵蓋了多個(gè)緊密關(guān)聯(lián)且不可或缺的階段,從最初的客戶需求分析到最終的產(chǎn)品測(cè)試和交付,每個(gè)環(huán)...

關(guān)鍵字: 嵌入式開發(fā) 硬件設(shè)計(jì)

可視化直覺(jué)式平臺(tái),適用TN- LCD 設(shè)計(jì)、模擬﹑測(cè)試,能加快開發(fā)速度

關(guān)鍵字: 微控制器 LCD 布局 硬件設(shè)計(jì)

EDA是電子設(shè)計(jì)自動(dòng)化(Electronic Design Automation)的縮寫,在20世紀(jì)60年代中期從計(jì)算機(jī)輔助設(shè)計(jì)(CAD)、計(jì)算機(jī)輔助制造(CAM)、計(jì)算機(jī)輔助測(cè)試(CAT)和計(jì)算機(jī)輔助工程(CAE)的概...

關(guān)鍵字: eda工具 硬件設(shè)計(jì)

單片機(jī)(MCU)系統(tǒng)的發(fā)展結(jié)合了相關(guān)的軟硬件技術(shù)。要完成單片機(jī)系統(tǒng)的開發(fā),用戶不僅要掌握編程技術(shù),還要根據(jù)實(shí)際應(yīng)用選擇合理的單片機(jī)芯片和外圍器件,以此為基礎(chǔ)設(shè)計(jì)硬件電路。MCU(微控制器)硬件設(shè)計(jì)是一個(gè)復(fù)雜的過(guò)程,涉及多...

關(guān)鍵字: MCU 硬件設(shè)計(jì)

單片機(jī)是嵌入式系統(tǒng)的核心元件,使用單片機(jī)的電路要復(fù)雜得多,但在更改和添加新功能時(shí),帶有單片機(jī)的電路更加容易實(shí)現(xiàn),這也正是電器設(shè)備使用單片機(jī)的原因。那么在單片機(jī)電路的設(shè)計(jì)中需要注意的難點(diǎn)有哪些?

關(guān)鍵字: 單片機(jī) 電路 硬件設(shè)計(jì)

ETC(Electronic Toll Collection )電子收費(fèi)系統(tǒng),旨在消除收費(fèi)道路、收費(fèi)汽車專用道、收費(fèi)橋梁和收費(fèi)隧道的時(shí)間延誤,在不收取現(xiàn)金和不要求車輛停車的情況完成收費(fèi)。它利用DSRC(Dedi-cate...

關(guān)鍵字: ETC RSU OBU
關(guān)閉