<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è) > 嵌入式系統 > 設計應用 > 基于PXA270嵌入式Web服務(wù)器的設計與實(shí)現

基于PXA270嵌入式Web服務(wù)器的設計與實(shí)現

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

2.3 協(xié)議處理模塊的功能

TCP/IP協(xié)議包括很多的協(xié)議,鑒于的應用場(chǎng)合和有限的資源,并不是所有的協(xié)議都需要,應根據系統的要求有選擇的加以。以太網(wǎng)數據的傳輸是采用MAC地址來(lái)識別。為了保證系統在以太網(wǎng)的正常通信,首先需要ARP協(xié)議,因為ARP協(xié)議提供IP地址到MAC地址的轉換功能。要實(shí)現在Internet上通信,在網(wǎng)絡(luò )層一定要實(shí)現IP協(xié)議,以及能報告數據傳送差錯等情況的ICMP協(xié)議,因為IP協(xié)議是面向無(wú)連接的,它無(wú)法將狀態(tài)信息和錯誤信息傳到最初的主機上,因此要通過(guò)網(wǎng)際控制報文協(xié)議(ICMP)實(shí)現。在傳輸層主要有TCP協(xié)議和UDP協(xié)議,UDP協(xié)議是面向無(wú)連接的數據報文傳輸協(xié)議,而TCP協(xié)議則是面向可靠的數據流的傳輸。應用的需要和對可靠性的要求,在傳輸層采用TCP協(xié)議,并對TCP協(xié)議進(jìn)行簡(jiǎn)化處理。在應用層,遠端主機是通過(guò)瀏覽器的訪(fǎng)問(wèn)控制方式讀取數據的,所以要實(shí)現HTTP協(xié)議。其他一些在Internet上應用較廣泛的協(xié)議(如FTP協(xié)議、SMTP協(xié)議等)在此無(wú)需實(shí)現。

協(xié)議處理模塊完成對連接信息進(jìn)行分析,根據參數的不同,發(fā)送不同的HTTP協(xié)議頭信息,在Linux系統下建立通信雙方的服務(wù)程序可以使用套接字技術(shù),常用的套接字有2種:流式套接字和數據報套接字。本系統為實(shí)現功能采用的是流式套接字,流式套接字用法流程圖如圖3所示。

流式套接字提供了一種可靠的面向連接的數據傳輸方法,此方法對單個(gè)的數據報和對數據包都提供一種流式數據傳輸。流式套接字由socket函數調用來(lái)創(chuàng )建、而且調用時(shí)必須用bind函數為它分配一個(gè)地址。使用listen函數建立和客戶(hù)機的連接,該函數告訴套接字開(kāi)始偵聽(tīng)客戶(hù)機的連接請求。一旦將套接字設置成偵聽(tīng)連接后,用accept函數來(lái)完成連接,如果連接成功,accept函數將返回一個(gè)新套接字的描述符,新套接字被用作以后處理的連接。一旦客戶(hù)機套接字和服務(wù)器套接字建立連接,雙方就可以通過(guò)send()和recv()函數來(lái)發(fā)送和接收數據。

3 硬件平臺與軟件

3.1 硬件開(kāi)發(fā)平臺

的Web服務(wù)器硬件平臺為研興科技開(kāi)發(fā)的EDK-270SL硬件系統,EDK-270SL是研興科技針對Intel CPU推出的Linux開(kāi)發(fā)平臺。微處理器最高主頻可達624 MHz,加入了WirelessMMX技術(shù),大大提升了多媒體處理能力,同時(shí)PXA270還引入PC機上的Intel SpeedStep動(dòng)態(tài)電源管理技術(shù),在保證CPU性能的情況下,最大限度地降低移動(dòng)設備的功耗。EDK-270SL由處理器核心板、主板及LCD三部分組成。EDK-270SL上還集成了下列部件:64 MB SDRAM、32 MB FLASH Memory、LAN91C113以太網(wǎng)接口、1個(gè)全功能串口,1個(gè)帶流控串口、1個(gè)紅外接口、1個(gè)CF、接口、1個(gè)USB HOST、1個(gè)USB SLAVE、2個(gè)SSP接口等。因處理器的高性能、低成本、高效率等特點(diǎn),廣泛應用于PDA、智能電器、儀器儀表、監測控制等領(lǐng)域。

3.2 軟件

嵌入式Web服務(wù)器的軟件開(kāi)發(fā)主要包括以下幾項內容:

(1)嵌入式操作系統ARM-linux的移植。ARM-Linux可移植性強,用戶(hù)通過(guò)重新進(jìn)行配置、編譯內核可以使其內核文件小于500 kB。Linux是源碼公開(kāi)的免費操作系統,所用版本支持MMU功能。ARM-Linux網(wǎng)絡(luò )支持功能強大,支持PPP,Ethernet等多種網(wǎng)絡(luò )連接方式,包括完整的TCP/IP協(xié)議棧及大量的其他協(xié)議。另外,由于A(yíng)RM-Linux的開(kāi)放性,新的網(wǎng)絡(luò )協(xié)議可以很容易地加入到內核中。移植過(guò)程如下:

①安裝交叉編譯工具鏈。由于嵌入式設備沒(méi)有足夠的內存以及存儲資源來(lái)完成編譯工作,于是就必須在主機上完成針目標機的代碼編譯生成,編譯后的代碼下載到目標機上運行。

②編譯Linux內核需要的源碼樹(shù):linux2.6.9-270SL1.tar.gz。使用自動(dòng)編譯腳本my編譯內核,生成可運行在嵌入式系統上的內核映像文件zImage。

③創(chuàng )建JFFS2根文件系統。對于一個(gè)實(shí)際的嵌入式應用系統,僅包含Linux內核是不夠的,還必須有文件系統的支持。在嵌入式Linux內核啟動(dòng)后,需要加載根文件系統,以支持系統與用戶(hù)交互。

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>