《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于ARM處理器的嵌入式WEB服務器設計
基于ARM處理器的嵌入式WEB服務器設計
EEworld
EEworld
摘要: 隨著嵌入式系統的大規模發展,智能化信息終端通過Internet實現互聯已成為當今發展的主要趨勢,而嵌入式Web...
Abstract:
Key words :

關鍵字:ARM處理器" title="ARM處理器">ARM處理器;Internet" title="Internet">Internet;嵌入式Web服務器" title="嵌入式Web服務器">嵌入式Web服務器;Linux

0 引言
    隨著計算機技術、網絡技術和微電子技術的深入發展,特別是各種高性能SOC(system onchip)的設計開發和嵌入式操作系統的出現,嵌
入式系統日益廣泛地被用于航空航天、工業控制、移動通訊、家用電器以及消費電子等設備中。“設備即網絡”是后PC時代對嵌入式系統的
客觀要求。因此,需要建立嵌入式的web服務器,以便在智能家居系統中通過智能終端設備(如掌上電腦等),實現對信息家電的遠程控制,而信息家電也可以根據需要自動將設備運行的狀態信息發送給設定的目標對象。因此。嵌入式web技術給人們的日常生活和工作帶來了極大的方便,在各種企業和工業系統中也都有非常重要的實際意義。
    嵌入式web服務器以其低成本、小體積、低功耗等諸多優點,而在生產、生活的許多領域發揮著越來越重要的作用。嵌入式系統的CPU已從過去的8位發展到如今的32位,并且大多采用RISC(Reduced Instruction Set Computer)結構,其處理器速度可達幾百兆赫茲。由于ARM對多種操作系統的兼容,故可以很方便地運行嵌入式等操作系統,而且功能十分強大。ARM公司生產的32位嵌入式芯片就以其優良的性能而在嵌入式市場上占有相當的份額。另外,在操作系統方面,Linux也因為其強大的功能和開放的優勢。在嵌入式系統中得到了廣泛的應用。本文以基于ARM9的嵌入式系統為基礎,詳細介紹了Linux環境下嵌入式web服務器的實現方法。

1 嵌入式web服務器的硬件設計
1.1 微處理器的選擇
    AT91SAM9263是一種基于ARM926EJ-S內核的ARM處理器,它帶有MMU存儲器管理單元,當其運行在200MHz時擁有220MIPS的運算性能,并具有DSP擴展指令和JAVA硬件加速功能。AT9lSAM9263有能力連接多種內存設備和大容量硬盤設備,并嵌入有LCD控制器、2D圖形加速器、圖像傳感器接口、標準外設接口、多媒體卡接口、CAN控制器等。AT9lSAM9263擁有兩個獨立的外部存儲器總線EBI0 (External Bus InterfaceO)和EBIl(External Bus1),本設計正是采用外部總線來擴展網卡芯片,從而實現嵌入式web服務器的。
1.2 網卡芯片的選擇
    本設計采用CS8900A來擴展嵌入式系統外圍網口。CS8900A是Cirrus公司生產的一種高集成度且全面支持IEEE802.3標準的以太網控制器,可支持8位、16位微處理器,并可以工作在I/O方式和Memory方式。它的片內集成有4KB容量的Packetpage結構的RAM,該4KB存儲器映像結構RAM包括片內各種控制、狀態、命令寄存器,以及片內發送、接收緩存。用戶可以通過I/O方式、Memory方式或DMA方式訪問它們,圖l所示是CS8900A的結構框圖。

7a.JPG[next]

1.3 硬件結構
    本系統的硬件結構框圖如圖2所示。本系統以AT91SAM9263為核心,通過網卡芯片CS8900以及RJ45接口來鏈接Ethernet網絡。系統采用的
大容量存儲器Flash是一種可在系統中進行電檫寫、掉電后信息不丟失的存儲器,主要用于存放系統啟動代碼(bootloader)、Linux內核和文件系統,也可以存放用戶應用程序。本系統選用SAMSUNG公司的K9F1208UOB作為Flash存儲器,并采用8bit總線,其單片容量為16 MB。

7b.JPG
    本系統中的SDRAM存儲芯片選用的是MT48LC16M16A2TG,設計時可將兩片16位MT48LC16M16A2TG并聯為32位數據寬度64 MB空間的SDRAM存儲系統。
    另外,系統還集成了一個USB HOST和USBDevice接口、一個JTAG接口、一個SD卡接口、一個RS232串口以及AC97音頻接口。
1.4 網絡接口電路設計
    Web服務器系統設計的一個核心部分就是網絡接口電路。本設計的網絡接口電路的構成電路如圖3所示。該網絡接口電路可與AT9lSAM9263
的外部總線相連接,其控制信號線主要有三根,分別是片選信號線、讀有效和寫有效信號線。另外,可通過控制總線、一組地址總線和一組數據總線將網絡接口電路與ARM芯片相連。網絡電路后端連接有RJ45接口,主要是提供與ETHERNET的連接通訊接口。

7c.JPG

2 WEB服務器軟件設計
2.1 Linux系統移植
    本設計采用Linux作為操作系統,Linux系統具有開放源碼、軟件資源豐富、內核功能強大、性能高效、穩定、可支持多種硬件平臺等特點。除此之外,Linux還具有完善的網絡通信功能,可支持TCP/IP等多種協議,而且Linux系統內核中已經緊密地集成了網絡功能并有大量的網絡應用程序,可為實現網絡通信提供有力的支持。Linux強大的網絡功能是選用其作為嵌入式web服務器軟件系統的一個重要原因。
    一個嵌入式系統通常可以分引導加載程序、內核、文件系統為3個層次。因此,Linux的系統移植也包括3個部分:即引導程序(BootLoa-der)移植、內核移植和文件系統制作。
    Bootloader (引導加載程序)是系統加電后運行的第一段代碼。它的運行時間非常短,但對于嵌入式系統來說。這是一個非常重要的系統組成部分,主要負責ARM硬件的初始化,設置Linux的啟動參數,然后跳轉到Linux內核啟動代碼的第一行語句引導Linux。本系統采用U-boot作為bootloader。U-Boot的全稱是Universal Boot Loader,是遵循GPL條款的開放源碼項目,它從FADSROM、8xxROM、PPCBOOT逐步發展演化而來。
    內核是所有嵌入式Linux系統的核心軟件,內核移植是一個比較復雜的任務,也是嵌入式系統開發中非常重要的一個過程。內核移植一般包括內核配置、編譯和內核下載三大部分。移植過程的關鍵步驟如下:
    (1)準備下載linux源碼
    本設計選用的內核版本是linux-26.22,然后通過解壓縮得到內核源碼。同時在linux系統開發環境下安裝交叉編譯器arm-linux-gcc。
    (2)修改內核代碼
    修改內核代碼主要是選定Linux內核對處理器的支持和修改以及與外部設備相關的內核代碼。首先在linux-2.6.22根目錄下修改Makefile文件,主要應當修改下面兩行內容:
    ARCH=arm;說明目標是ARM體系結構;
    CROSS_COMPILE =/usr/local/arm/1.3.1/bin/aim-linux-gcc;設置為宿主機上交叉編譯工具鏈的絕對路徑。
    除此之外。還需要修改與AT91SAM9263處理器相關的代碼,這些代碼集中在arch目錄中和include目錄下文件名以asm開頭的子目錄中。
    (3)配置和編譯內核
    配置內核選項是移植內核過程中很重要的一步,主要是對內核功能模塊進行選擇及參數設定。在內核源代碼目錄下運行make menuconfig可對內核進行配置,主要是載入AT91SAM9263參考開發板的默認配置,并在此基礎上進行相關的驅動選擇等。配置完成后,可保存退出配置菜單界面,然后在內核源代碼目錄上輸入命令make,這樣。編譯完成后,就會生成uImage文件。
    本設計所采用的文件系統是直接從網絡上獲取一個已經生成的文件系統,并在此基礎上進行添加和修改,最后形成自己的文件系統。在開發過程中,可利用Linux系統所提供的NFS服務,并通過網絡掛載文件系統進行系統調試。最后將Uboot映像文件、Linux內核文件uImage、文件系統鏡像文件燒寫到NANDflash上相應的分區。
2.2 Web服務器的移植
    Web服務器Boa是一個單任務的小型HTTP服務器,源代碼開放、性能優秀,運行所需空間僅為140 KB左右。特別適合于在嵌入式系統中。本設計采用移植Boa的方法來實現嵌入式Web服務器部分,以滿足訪問網頁的要求,其主要移植過程如下:
    首先是下載Boa源代碼。Boa web服務器的源代碼可以從http:∥www.boa.org下載,本文中的下載文件為:boa-0.94.13.tar.gz.
其次是安裝并編譯Boa源代碼,操作時可執行以下命令:
    #cd/home/
    #tar zxvfboa.tar.gz
    #cd boa/src
    生成Makefile文件#./configure后,即可修改Makefile文件,找到CC=gcc,將其改成CC=armlinux-gcc;再找到CPP=gee-E,其將其改成CPP=arm-linux-gec-E,然后保存退出。
    運行make進行編譯后,即可在boa/src目錄下生成Boa文件,該文件即為Boa Web服務器執行文件。
    勢頭應當配置Boa Web服務器。Boa啟動時將加載一個配置文件boa.conf。用戶可以根據自己的需要對boa.conf進行修改,但必須保證其它的輔助文件和設置必須與boa.conf里的配置相符,否則,Boa就不能正常工作。Boa源碼boa-0.94.13目錄下已有一個示例文件boa.  conf位于boa/example下面,可以根據需要在其基礎上進行修改。然后將修改好的配置文件Boa.conf存放于嵌入式系統根文件/etc/boa目錄下。
    最后就是測試Boa的運行。在re文件中執行:#ifconfig eth0 192.168.0.1命令給嵌入式Web服務器配置IP。并通過IE瀏覽器連接到運行Boa的嵌入式系統http:∥192.168.0.1/,這樣,就可以訪問到之前放置的index頁面了。

3 結束語
    本設計以AT9lSAM9263為核心,在此基礎上給出了一個web服務器。并在硬件方面設計了一個嵌入式系統,該系統包括網絡接口、AD卡接
口、USB接口等各種外設。文中還在網絡接口的基礎上,給出了將Linux移植到硬件平臺,并最終移植web服務器的實現方法。這種方法通過頁
面訪問的測試,結果表明,本系統運行穩定,且訪問速度正常。
 

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲一区二区三区777| 欧美视频免费在线| 狠狠色综合播放一区二区| 久久精品30| 欧美在线观看网址综合| 国产日韩欧美黄色| 久久精品成人一区二区三区| 一区二区成人精品| 一区二区成人精品| 国产区欧美区日韩区| 欧美午夜宅男影院| 欧美在线一二三区| 久久精品视频亚洲| 亚洲国产精品专区久久| 欧美日韩精品三区| 亚洲一区二区三区涩| 亚洲字幕一区二区| 国产乱肥老妇国产一区二| 久久久久久久一区二区| 亚洲第一久久影院| 亚洲国产清纯| 国产精品盗摄久久久| 香蕉乱码成人久久天堂爱免费 | 亚洲小视频在线观看| 亚洲最新视频在线播放| 一本色道久久综合狠狠躁篇怎么玩 | 一区二区三区|亚洲午夜| 一区二区三区视频在线播放| 亚洲天堂av在线免费观看| 亚洲无玛一区| 国产一区在线播放| 欧美另类videos死尸| 久久福利影视| 久久激情久久| 久久免费精品视频| 欧美成人精品一区二区| 欧美在线免费一级片| 欧美伊人久久| 一区二区三区偷拍| 亚洲欧美另类综合偷拍| 亚洲日本免费电影| 在线亚洲伦理| 在线播放精品| 国产美女一区| 合欧美一区二区三区| 亚洲国产精品高清久久久| 日韩一级网站| 伊人久久亚洲热| 亚洲日本免费| 黄色成人精品网站| 亚洲国产你懂的| 夜夜狂射影院欧美极品| 亚洲欧美视频一区二区三区| 亚洲精品婷婷| 亚洲成色精品| 国产精品男女猛烈高潮激情| 欧美连裤袜在线视频| 国产精品成人播放| 国产一区二区无遮挡| 国产精品视频yy9099| 欧美日韩视频专区在线播放 | 欧美丝袜第一区| 国产午夜精品在线观看| 欧美三级欧美一级| 国产欧美亚洲精品| 亚洲茄子视频| 午夜精品理论片| 一区二区三区免费观看| 欧美在线观看天堂一区二区三区| 亚洲美女尤物影院| 久久精品日韩欧美| 中国成人亚色综合网站| 一区二区三区黄色| 久久久国产成人精品| 久久黄金**| 欧美日韩国产综合久久| 国产午夜精品久久久久久久| 亚洲日本在线观看| 久久国产精品久久久久久久久久 | 中文久久乱码一区二区| 久久激情视频| 亚洲在线免费| 欧美国产一区二区在线观看 | 午夜精品一区二区三区电影天堂| 亚洲久久视频| 久久久久久久高潮| 国产精品成人va在线观看| 亚洲国产91色在线| 欧美亚洲尤物久久| 亚洲欧美日韩精品久久亚洲区| 亚洲国内自拍| 亚洲国产专区校园欧美| 性18欧美另类| 欧美日韩一区自拍| 亚洲国产婷婷香蕉久久久久久| 午夜日韩av| 午夜国产不卡在线观看视频| 亚洲欧美一区二区三区在线| 欧美国产国产综合| 国内精品一区二区| 亚洲免费在线观看视频| 亚洲一区免费| 欧美成人国产一区二区| 黄色av日韩| 久久精品国产99国产精品| 午夜在线电影亚洲一区| 欧美亚洲第一区| 99精品国产99久久久久久福利| 99国产麻豆精品| 亚洲视频第一页| 欧美成人午夜剧场免费观看| 激情久久久久久| 亚洲精品综合| 午夜在线视频观看日韩17c| 亚洲无线视频| 欧美日韩亚洲成人| 亚洲日本在线观看| 亚洲美女视频网| 欧美激情麻豆| 亚洲人午夜精品免费| 日韩视频精品| 午夜视频在线观看一区| 欧美性大战久久久久久久蜜臀| 亚洲精选久久| 在线午夜精品自拍| 欧美日韩伦理在线免费| 日韩视频中文字幕| 这里只有精品在线播放| 欧美视频精品在线| 亚洲天堂成人| 午夜精彩视频在线观看不卡| 国产精品普通话对白| 亚洲尤物影院| 久久国产精品高清| 黑人巨大精品欧美一区二区| 亚洲电影免费| 欧美电影资源| 日韩午夜电影在线观看| 亚洲午夜精品国产| 国产精品永久在线| 久久国产精品99精品国产| 免费一级欧美片在线观看| 欧美视频一区在线| 一区二区欧美日韩| 亚洲综合色激情五月| 国产精品免费视频观看| 欧美亚洲视频在线观看| 麻豆精品视频在线观看视频| 国产精品国产三级国产| 亚洲性夜色噜噜噜7777| 欧美诱惑福利视频| 狠狠色综合色区| 亚洲乱码久久| 国产精品久久777777毛茸茸| 午夜精品影院| 欧美成人在线影院| 一本色道久久88精品综合| 新狼窝色av性久久久久久| 国外成人在线| 夜色激情一区二区| 国产精品美女主播| 久久精品一区四区| 欧美全黄视频| 亚洲欧美日韩一区在线观看| 久久综合色影院| 欧美视频在线视频| 亚洲综合视频1区| 欧美gay视频| 在线中文字幕一区| 久久精品亚洲热| 亚洲三级免费电影| 欧美一区日韩一区| 亚洲国产精品v| 亚洲欧美国产制服动漫| 精品白丝av| 亚洲男人第一网站| 永久免费毛片在线播放不卡| 亚洲午夜精品| 激情综合色综合久久| 亚洲校园激情| 永久久久久久| 先锋影院在线亚洲| 最新亚洲激情| 久久激情一区| 日韩亚洲欧美中文三级| 久久夜色精品国产亚洲aⅴ| 国产日产欧产精品推荐色 | 亚洲国产精品久久91精品| 欧美视频日韩视频| 久久精品国产69国产精品亚洲| 欧美日韩一本到| 久久国产一区| 国产精品久久久一本精品| 亚洲国产一区二区三区a毛片| 国产精品久久久一区麻豆最新章节 | 欧美性猛交一区二区三区精品| 亚洲国产高清一区二区三区| 国产精品每日更新在线播放网址| 亚洲黄色免费网站| 国产伦精品一区二区三区免费|