《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于ARM和eCos的嵌入式WEB服務器設計
基于ARM和eCos的嵌入式WEB服務器設計
摘要: 為了實現Web服務器的功能,嵌入式操作系統和一個可實現的TCP/IP協議棧是必需的,因此對嵌入式處理器提出了更高的要求。與傳統的8/16位單片機相比,ARM核處理器在運算速度、功耗和存儲容量方面都有很大的優勢,而且ARM核處理器可以很方便地實現嵌入式TCP/IP協議棧,所以ARM核處理器成為嵌入式Web服務器設備的首選處理器。
Abstract:
Key words :

  引 言

  隨著現代通信技術和網絡技術的迅猛發展,以太網技術也越來越成熟,特別是基于TCP/IP通信協議的Web技術得到了廣泛應用。我們可以用微控制器加以太網接口芯片,取代PC機進行現場控制,組成嵌入式Web Serv-er系統?,F場傳感器自動跟蹤各監測點的信息,把檢測到的數據存儲在非易失性存儲器中,并及時發布到互聯網上;相關的工作人員就可以通過Web技術對設備進行遠程控制、管理和維護,從瀏覽器上直接監控現場設備的運行,這樣就大大提高了生產效率和管理水平。

  為了實現WEB服務器的功能,嵌入式操作系統和一個可實現的TCP/IP協議棧是必需的,因此對嵌入式處理器提出了更高的要求。與傳統的8/16位單片機相比,ARM核處理器在運算速度、功耗和存儲容量方面都有很大的優勢,而且ARM核處理器可以很方便地實現嵌入式TCP/IP協議棧,所以ARM核處理器成為嵌入式Web服務器設備的首選處理器。系統的設計模型如圖1所示。

系統的設計模型

  1 系統硬件設計

  ARM核處理器LPC2210基于支持實時仿真和嵌入跟蹤的32/16位ARM7TDMI—S CPU。片內有16 KBSRAM,通過外部存儲器接口配置成4組,每組的容量達16 MB。LPC2210采用144腳封裝,功耗極低,具有多個32位定時器、8路10位ADC、PWM輸出,最多可提供76個GPIO以及多達9個外部中斷引腳;采用3級流水線技術,極大地提高了指令執行效率,通過可編程的片內鎖相環(PLL)可實現最大60 MHz的CPU操作頻率。

  LPC2210的EMC組合符合ARM公司的PL090標準,總線寬度可設置為8位、16位或32位,通常16位總線寬度的存儲器具有較高的性價比。

  以Philips公司的ARM核處理器LPC2210為核心來實現嵌入式Web服務器;網絡接口芯片采用Realtek公司的NE2000兼容芯片RTL8019AS,它內置了10BASE—T收發器,通過HR901170A器件接入以太網。硬件結構如圖2所示。

硬件結構

點擊看原圖

 

 

  在圖1中,LPC2210擴展了2 MB的NOR Flash(芯片型號為SST39VFl60)和8.MB PSRAM(芯片型號為MT45W4Mwl6)。為了方便調試及最終代碼的固化應用,使用LPC2210外部存儲器接口BankO和Bankl的地址空間,通過片選信號選通nCE_F和nCE_R,來將地址空間Bank0和Bankl分別分配給PSRAM和Flash。通常將代碼固化到Flash,分配Flash為Bank0,PSRAM為Bankl,因為Bank0可以用來引導程序的運行。

  LPC2210的大容量片上存儲器為TCP/IP協議棧的實現和數據處理提供了足夠的存儲空間;利用LPC2210SPI接口擴展MMC/SD卡作為外部非易失性存儲器,可以將ADC現場采集的數據、IP地址、網卡物理地址以及更新網頁保存在里面,需要時還可隨時更換MMc/SD卡。LPC2210具有ARM和Thumb指令集,采用流水線處理技術,能在指令執行期間預處理下一條指令,極大地提高了指令執行效率,為需要快速傳輸數據的網絡應用提供了有效的支持。

  2 系統軟件設計

  eCos(embedded Configurable operating system,嵌入式可配置操作系統)是一種針對16位、32位和64位處理器的可移植嵌入式實時操作系統。由于其源代碼公開,因而越來越多的設計人員開始關注eCos操作系統。eCos最大的特點是模塊化、內核可配置。最小版本的eCos只有幾百字節,非常適合小型嵌入式系統的開發。與嵌入式Linux相比,eCos有配置靈活和節省資源的優勢。它的其他優點是使用多任務搶占機制、具有最小的中斷延遲、支持嵌入式系統所需的所有同步原語,并擁有靈活的調度策略和中斷處理機制。因而eCos具有良好的實時性,與μClinux和μC/OS等操作系統相比,它更適用于處理實時信號的設備,如移動通信、WLAN等通信設備的開發。

  3 eCos的移植

  圖3所示為eCos的移植流程。eCos的移植通過3個子模塊來完成,即體系結構抽象層(Architeeture Hal)、變體抽象層(Variant Hal)和平臺抽象層(Platform Hal)。對一個新的體系結構來說,系統結構抽象層的建立相對來說比較困難。目前,eCos已經支持各種主流CPU,也就是說,eCos源碼中包含了CPU的體系結構層和變體抽象層,所以移植工作主要集中在平臺抽象層。

eCos的移植流程

  RedBoot移植是平臺抽象層移植的最好開始。RedBoot是位于硬件抽象層之上的命令行接口,并且包含GDB調試工具及其調試stub。一旦硬件抽象層移植到目標板中,RedBoot能將程序加載到目標板中,并且能在目標板上調試代碼。

 

  4 TCP/IP協議棧——LwIP的實現

  LwIP是瑞士計算機科學院Adam Dunkles等人開發的用于嵌入式系統的開放源代碼TCP/IP協議棧。它既可以移植到操作系統上,也可以在無操作系統的情況下運行。LwIP實現的重點是,在保持TCP協議主要功能的基礎上,減少對RAM的占用;一般只需要幾十字節的RAM和40 KB左右的ROM就可以運行,這使得LwIP適合在中低端的嵌入式系統中應用。

  LwIP主要可以分為圖4所示的幾個層次。主要功能模塊有:操作系統模擬層、網絡接口函數、實現TCP/IP協議的各部分模塊 (IP、UDP、TCP、IC—MP、ARP)、緩沖和存儲管理子系統、校驗和函數。

LwIP軟件層次

點擊看原圖

 

 

  LwIP API是一組應用程序接口,通過該接口程序員就可以使用LwIP所有的功能。另外,LwIP也為開發者提供了更加高級的BSD Socket APl,使其可以使用通用的Socket函數來編寫網絡通信軟件。操作系統模擬層可以使LwIP能夠使用操作系統提供的一些高級管理功能,例如信號量管理、消息隊列管理、創建線程等。

  4.1 IP處理

  LwIP僅能實現IP層大部分基本功能。它雖然能夠發送、接收以及轉發信息包,但不能接收和發送IP分片包,也不能處理攜帶IP參數選項的信息包。不過對大多數的應用來說,這不會成為問題。

  ①接收信息包。對于到達的IP信息包,可由網絡設備驅動調用ip_input()函數開始處理,并在這里完成對IP版本字段及包頭長度的初始完整性檢查,同時還要計算和驗證包頭校驗和。

  ②發送信息包。外發的信息包由ip_output()函數處理,該函數使用ip_route()函數查找適當的網絡接口來傳送信息包。當外發的網絡接口確定后,信息包傳給以外發網絡接口為參數的ip_output_if()函數。

 ?、坜D發信息包。如果沒有網絡接口的地址與到達信息包的目標地址相同,信息包應被轉發。這項工作由ip_ forward()函數完成。

 ?、躀CMP處理。ICMP處理相當簡單。ip_input()函數收到的ICMP信息包被移交給icmp_input()函數,后者對ICMP包頭解碼,然后進行適當的動作。

  4.2 UDP處理

  UDP是被用來在不同進程問分解信息包的簡單協議。每個UDP會話的狀態保存在一個PCB結構體中。UDP PCB保存在一個鏈表中,當一個UDP數據包到達時對這個鏈表進行匹配檢索。

  4.3 TCP處理

  TCP屬于傳輸層協議,它為應用層提供了可靠的字節流服務。對它的描述要比對其他協議的描述復雜的多,其代碼占了LwIP代碼總量的50%?;镜腡CP處理過程被分割為6個功能函數來實現,tcp_input()、tep_ process()及tcp_receive()函數與TCP輸入有關,tcp_write()、tcp_enqueue()及tcp_output()則用于TCP輸出。TCP的處理過程如圖5所示。

TCP的處理過程

點擊看原圖

 

 

  4.4 應用程序接口設計

  LwIP API專為LwIP設計,所以它可以充分利用LwIP的內部結構實現其設計目標。LwIP API與BSDAPI類似,但操作相對低級。API不需要在應用程序和協議棧之間復制數據,因為應用程序可以巧妙地直接處理內部緩沖區。另外,BSD Socket API易于理解,并且很多應用程序為它而寫,所以LwIP保留一個BSD Socket兼容層是很有用的。

  鑒于TCP/IP協議棧的處理模式,APl分成兩部分實現。如圖6所示,一部分作為應用程序的連接庫實現,另一部分在TCP/IP進程內實現。這兩部分之間采用由操作系統模擬層提供的進程間通信機制(IPC)進行通信。當前的實現采用以下3種IPC方式:共享內存、消息傳遞和信號量。雖然這些IPC方式被操作系統支持,但它們并不需要操作系統底層支持,實際上是操作系統模擬層在模擬它們。

API實現

  結 語

  基于實時內核eCos,在嵌入式系統中實現了LwIP協議棧的移植與優化。移植優化后的LwIP棧做為一個網絡模塊運行,代碼占用40 KB的ROM,實現了Ethernet/IP/TCP網絡功能,并提供了模塊API,與系統實現無縫連接?;贚wIP的網絡應用任務與其他非網絡應用任務在eGos實時內核管理下協調運行。進一步增強了協議棧的網絡安全性與穩定性,并開發相應的的網絡應用程序。“eCos/LwIP協議棧”架構有望應用在信息家電和網絡化的儀器、儀表方面。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产精品久久久久久久久| 欧美与欧洲交xxxx免费观看| 激情综合久久| 欧美激情精品久久久久久黑人| 麻豆久久婷婷| 久久只有精品| 亚洲女人天堂av| 99av国产精品欲麻豆| 亚洲高清视频一区二区| 欧美亚洲免费在线| 亚洲欧美久久久| 亚洲视频免费在线| 一本色道久久88精品综合| 亚洲精品一区二区三区婷婷月| 在线观看亚洲a| 在线观看亚洲视频啊啊啊啊| 极品av少妇一区二区| 国模大胆一区二区三区| 国产一区二区视频在线观看| 国产性色一区二区| 国产一区二区中文字幕免费看| 国产午夜久久久久| 国产亚洲欧洲997久久综合| 国产香蕉久久精品综合网| 国产视频久久网| 国产亚洲网站| 在线观看国产日韩| 亚洲国产欧美一区二区三区久久| 亚洲国产精品一区二区三区| 最新成人av在线| 日韩亚洲欧美一区二区三区| 日韩一级视频免费观看在线| 一区二区免费在线视频| 在线中文字幕一区| 亚洲影音一区| 欧美一区免费视频| 亚洲黄色成人久久久| 日韩亚洲视频| 亚洲一区免费在线观看| 亚洲欧美一区二区三区极速播放| 欧美在线国产| 老司机一区二区| 欧美激情一区在线观看| 欧美日韩另类字幕中文| 国产精品久久久爽爽爽麻豆色哟哟| 国产精品人人爽人人做我的可爱| 国产香蕉97碰碰久久人人| 在线看欧美日韩| 99国产精品99久久久久久粉嫩 | 国产综合色产在线精品| 在线观看免费视频综合| 亚洲国产日韩欧美在线动漫| 99视频精品| 新67194成人永久网站| 亚洲国产视频直播| 一区二区三区成人精品| 欧美在线亚洲综合一区| 欧美成人亚洲| 国产精品mm| 黄色成人在线| 99国产精品一区| 欧美在线一二三| 一本色道久久88亚洲综合88| 午夜精品亚洲| 欧美不卡福利| 国产精品入口尤物| 亚洲国产欧美日韩精品| 亚洲综合欧美日韩| 亚洲精品少妇网址| 欧美中文字幕视频在线观看| 欧美国产在线观看| 国产欧美日韩视频一区二区三区| 欧美高清视频在线播放| 亚洲网站在线看| 久久久亚洲一区| 欧美激情1区2区3区| 国产精品嫩草99a| 激情成人亚洲| 在线一区日本视频| 亚洲激情在线视频| 午夜久久久久久| 国产精品日韩欧美一区二区三区| aa日韩免费精品视频一| 9l视频自拍蝌蚪9l视频成人| 99av国产精品欲麻豆| 性欧美8khd高清极品| 欧美成人中文字幕| 国产精品一区毛片| 91久久精品一区| 性欧美1819sex性高清| 日韩视频在线一区二区| 久久av一区| 欧美性淫爽ww久久久久无| 1000部国产精品成人观看| 午夜精品久久久久久久| 亚洲午夜女主播在线直播| 欧美激情第3页| 在线观看久久av| 久久成人18免费观看| 欧美在线1区| 国产精品女主播一区二区三区| 亚洲每日更新| 亚洲最新在线| 欧美激情综合在线| 亚洲电影观看| 亚洲国产影院| 麻豆91精品91久久久的内涵| 国产亚洲视频在线| 欧美一区二区三区免费观看视频 | 欧美国产精品久久| 极品尤物av久久免费看| 午夜欧美电影在线观看| 亚洲综合首页| 欧美亚州在线观看| 亚洲精品中文字| 99国产欧美久久久精品| 久久免费的精品国产v∧| 国产日韩久久| 制服丝袜激情欧洲亚洲| 亚洲精品视频在线播放| 久久人人97超碰人人澡爱香蕉| 国产在线一区二区三区四区| 一区二区久久| 亚洲理论在线观看| 久久人人97超碰国产公开结果| 国产精品色婷婷| 亚洲一区欧美一区| 亚洲视频一二| 欧美经典一区二区| 亚洲第一级黄色片| 欧美一区二区三区四区在线观看地址 | 一区二区在线不卡| 午夜在线播放视频欧美| 午夜精品国产更新| 国产精品草草| 亚洲国产精品毛片| 亚洲黄色免费| 久久综合久久综合这里只有精品| 国产乱人伦精品一区二区| 欧美一级淫片播放口| 性欧美videos另类喷潮| 国产精品视频福利| 亚洲视频免费在线观看| 夜夜嗨av色综合久久久综合网| 另类av导航| 亚洲国产视频一区| 亚洲人成在线观看一区二区 | 久久精品国产亚洲a| 国产乱码精品一区二区三| 亚洲一区二区三区高清| 久久久久国产精品人| 国内外成人在线视频| 欧美一区二区三区的| 久久精品亚洲一区| 狠狠色狠狠色综合日日五| 欧美在线观看你懂的| 久久久久女教师免费一区| 国产日韩欧美精品在线| 亚洲国产成人精品视频| 免播放器亚洲一区| 亚洲国产精品日韩| 99re热这里只有精品视频| 久久综合网hezyo| 一本久道久久久| 亚洲欧美乱综合| 国产免费观看久久黄| 欧美一区二区三区在线看| 久久久久久穴| 亚洲免费观看高清在线观看| 国产精品99久久久久久有的能看 | 欧美—级高清免费播放| 亚洲精品免费观看| 亚洲免费视频观看| 国产欧美日本| 亚洲二区三区四区| 国产精品多人| 午夜日韩av| 免费日韩一区二区| 日韩亚洲精品电影| 午夜精品久久久久久久男人的天堂 | 性18欧美另类| 国产主播一区二区三区| 亚洲片在线资源| 欧美日韩国产区| 欧美一区二区免费| 欧美91大片| 一区二区三区欧美| 久久久久久久国产| 在线视频欧美日韩精品| 久久精品国产99精品国产亚洲性色| 国产主播精品| 9色porny自拍视频一区二区| 国产精品ⅴa在线观看h| 亚洲国产欧美精品| 欧美日韩在线一区二区三区| 香蕉久久夜色精品| 欧美激情日韩| 午夜精品久久久久久久99樱桃 | 国产性色一区二区| 日韩午夜av电影|