新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于PXA270嵌入式Web服務器的設計與實現

        基于PXA270嵌入式Web服務器的設計與實現

        作者: 時間:2009-07-06 來源:網絡 收藏

        2.3 協議處理模塊的功能

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

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

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

        3 硬件平臺與軟件

        3.1 硬件開發平臺

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

        3.2 軟件

        嵌入式Web服務器的軟件開發主要包括以下幾項內容:

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

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

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

        ③創建JFFS2根文件系統。對于一個實際的嵌入式應用系統,僅包含Linux內核是不夠的,還必須有文件系統的支持。在嵌入式Linux內核啟動后,需要加載根文件系統,以支持系統與用戶交互。

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


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 揭阳市| 长岭县| 浑源县| 页游| 迁西县| 宁波市| 南安市| 东至县| 杭州市| 会昌县| 延寿县| 平山县| 渝中区| 紫金县| 望都县| 八宿县| 台山市| 凌源市| 富顺县| 铁岭县| 佛冈县| 徐汇区| 喜德县| 微博| 正蓝旗| 福州市| 蓝田县| 广西| 蚌埠市| 长武县| 无极县| 临城县| 广汉市| 合作市| 定兴县| 东光县| 墨玉县| 荔波县| 冷水江市| 上思县| 浦县|