<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è) > 嵌入式系統 > 設計應用 > 基于A(yíng)RM&Linux的嵌人式設備遠程調試模塊設計

基于A(yíng)RM&Linux的嵌人式設備遠程調試模塊設計

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

由于具有開(kāi)源、技術(shù)成熟、應用廣泛等特點(diǎn)。故采用μC為操作系統。移植主要包括如下幾個(gè)步驟:
(1)運行環(huán)境準備。操作系統運行前需要對硬件初始化,該部分功能由BootLoader完成。該系統采用德國DENX小組開(kāi)發(fā)的交叉平臺U-Boot.作為Boot-Loader。因此,先準備好芯片的loader.bin文件和U-Boot文件。
(2)內核配置。首先下載μC源代碼,并配置Linux內核,在Networking option以及Network de-vice support中選擇支持TCP/IP協(xié)議,在Network de-vice support目錄下的Ethernet中選擇OtherISACard,并選擇NE確2000/NE 1000 support(該選擇根據系統所選擇的網(wǎng)卡芯片要求選擇)。
(3)ramdisk制作。ramdisk是μCLinux操作系統的目錄結構。用戶(hù)可根據需要設置目錄結構后制作ramdisk。如此Linux啟動(dòng)后系統會(huì )加載用戶(hù)所需的目錄結構。
(4)移植操作系統。首先,利用Windows自帶的超級終端工具將loader.bin文件、U-Boot文件通過(guò)XMODEM協(xié)議發(fā)送到AT91RM9200內部的SRAM中。其次,進(jìn)入U-Boot的人機交互命令模式。用flash命令依次向NOR-F LASH中燒錄loader,u-boot,kernel,ramdisk文件。至此,Linux內核移植完成,重啟便可進(jìn)入Linux操作系統。
2.2 嵌入式Web Server的實(shí)現
Web Servet是實(shí)現網(wǎng)絡(luò )通信的基礎。目前在μClinux下,主要有3個(gè)Web Server:Httpd,Thttpd和Boa.Httpd是最簡(jiǎn)單的一個(gè)Web Server,它的功能最弱,不支持認證,不支持CGI。Thttpd和Boa都支持認證、CGI等,功能都比較全。為了實(shí)現動(dòng)態(tài)Web技術(shù),這里選擇實(shí)現一個(gè)支持CGI且非常適合于嵌入式系統的BoaWeb Server。
Boa是一個(gè)單任務(wù)的HTTP服務(wù)器,源代碼開(kāi)放,性能好。它與常規的Web服務(wù)器不同,Boa不對每個(gè)進(jìn)入服務(wù)器的連接開(kāi)辟進(jìn)程,更不為處理多路復用而開(kāi)辟進(jìn)程,Boa僅對正在進(jìn)行的HTTP連接復用,而且也只為獨立用戶(hù)網(wǎng)關(guān)接口CGI開(kāi)辟進(jìn)程。測試表明,Boa服務(wù)器的速度比常規的Web服務(wù)器要快,比Apache服務(wù)器快兩倍以上。目前,μClinux的代碼中已經(jīng)包含Boa的源代碼,在μClinux下實(shí)現Boa,需要對Boa做一些配置和修改。這主要通過(guò)對boa.conf和mime.types文件進(jìn)行修改實(shí)現。需要改動(dòng)的配置有以下幾項:將對應項目改為如下?tīng)顟B(tài):

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


至此,Boa服務(wù)器已移植完成,但只有讀權限,如果需要進(jìn)行寫(xiě)入和修改操作則需要賦予Boa服務(wù)器rOOt,權限,方法如下:
將boa.c文件中的如下部分注釋掉:


該注釋操作會(huì )為黑客人侵留下可能,請慎重選擇。文中系統屬于內部局域網(wǎng)絡(luò ),故以次方式賦予Boa服務(wù)器最高權限.便于系統功能的完善。
2.3 CGI技術(shù)
2.3.1 CGI簡(jiǎn)介
到目前為止,實(shí)現動(dòng)態(tài)Web頁(yè)面有4種技術(shù)可供選擇:CGI,ASP,PHP和JSP。因為目前μClinux不支持ASP,PHP等動(dòng)態(tài)Web頁(yè)面技術(shù),而且CGI應用程序可用大部分高級語(yǔ)言編寫(xiě),程序員可以自由選擇自己熟悉的編程語(yǔ)言完成,因此在該中選擇了CGI。
CGI規定了Web服務(wù)器調用其他可執行程序的接口協(xié)議標準,提供web服務(wù)器一個(gè)執行外部程序的通道,這種服務(wù)端技術(shù)使得瀏覽器和服務(wù)器之間具有交互性。CGI程序屬于一個(gè)外部程序,需要編譯成可執行文件,以便在服務(wù)端運行。Web服務(wù)器通過(guò)調用CGI程序實(shí)現與Web瀏覽器的交互,也就是CGI程序接收Web瀏覽器發(fā)送給Web服務(wù)器的信息,進(jìn)行處理后,將響應結果再回送給Web服務(wù)器及web瀏覽器,其工作過(guò)程如圖2所示。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)


評論


相關(guān)推薦

技術(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>