當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于ARM處理器的嵌入式WEB服務(wù)器設(shè)計(jì)

摘要:隨著嵌入式系統(tǒng)的大規(guī)模發(fā)展,智能化信息終端通過(guò)Internet實(shí)現(xiàn)互聯(lián)已成為當(dāng)今發(fā)展的主要趨勢(shì),而嵌入式Web服務(wù)器正是嵌入式Internet中的關(guān)鍵技術(shù)。文中研究了嵌入式WeM艮務(wù)器,并給出了其在Linux環(huán)境下的實(shí)現(xiàn)方法。
關(guān)鍵詞:ARM處理器;Internet;嵌入式Web服務(wù)器;Linux

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

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

 

[!--empirenews.page--]
1.3 硬件結(jié)構(gòu)
    本系統(tǒng)的硬件結(jié)構(gòu)框圖如圖2所示。本系統(tǒng)以AT91SAM9263為核心,通過(guò)網(wǎng)卡芯片CS8900以及RJ45接口來(lái)鏈接Ethernet網(wǎng)絡(luò)。系統(tǒng)采用的
大容量存儲(chǔ)器Flash是一種可在系統(tǒng)中進(jìn)行電檫寫、掉電后信息不丟失的存儲(chǔ)器,主要用于存放系統(tǒng)啟動(dòng)代碼(bootloader)、Linux內(nèi)核和文件系統(tǒng),也可以存放用戶應(yīng)用程序。本系統(tǒng)選用SAMSUNG公司的K9F1208UOB作為Flash存儲(chǔ)器,并采用8bit總線,其單片容量為16 MB。

 


    本系統(tǒng)中的SDRAM存儲(chǔ)芯片選用的是MT48LC16M16A2TG,設(shè)計(jì)時(shí)可將兩片16位MT48LC16M16A2TG并聯(lián)為32位數(shù)據(jù)寬度64 MB空間的SDRAM存儲(chǔ)系統(tǒng)。
    另外,系統(tǒng)還集成了一個(gè)USB HOST和USBDevice接口、一個(gè)JTAG接口、一個(gè)SD卡接口、一個(gè)RS232串口以及AC97音頻接口。
1.4 網(wǎng)絡(luò)接口電路設(shè)計(jì)
    Web服務(wù)器系統(tǒng)設(shè)計(jì)的一個(gè)核心部分就是網(wǎng)絡(luò)接口電路。本設(shè)計(jì)的網(wǎng)絡(luò)接口電路的構(gòu)成電路如圖3所示。該網(wǎng)絡(luò)接口電路可與AT9lSAM9263
的外部總線相連接,其控制信號(hào)線主要有三根,分別是片選信號(hào)線、讀有效和寫有效信號(hào)線。另外,可通過(guò)控制總線、一組地址總線和一組數(shù)據(jù)總線將網(wǎng)絡(luò)接口電路與ARM芯片相連。網(wǎng)絡(luò)電路后端連接有RJ45接口,主要是提供與ETHERNET的連接通訊接口。

[!--empirenews.page--]

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

3 結(jié)束語(yǔ)
    本設(shè)計(jì)以AT9lSAM9263為核心,在此基礎(chǔ)上給出了一個(gè)web服務(wù)器。并在硬件方面設(shè)計(jì)了一個(gè)嵌入式系統(tǒng),該系統(tǒng)包括網(wǎng)絡(luò)接口、AD卡接
口、USB接口等各種外設(shè)。文中還在網(wǎng)絡(luò)接口的基礎(chǔ)上,給出了將Linux移植到硬件平臺(tái),并最終移植web服務(wù)器的實(shí)現(xiàn)方法。這種方法通過(guò)頁(yè)
面訪問(wèn)的測(cè)試,結(jié)果表明,本系統(tǒng)運(yùn)行穩(wěn)定,且訪問(wèn)速度正常。
 

本站聲明: 本文章由作者或相關(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)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉