資源描述:
《LwIP裸機(jī)移植與編程介紹》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、LwIP相關(guān)知識(shí)介紹浙江省國家大學(xué)科技園B座2樓(九堡九環(huán)路9號(hào))1部門:嵌入式軟件123LwIP源碼組織架構(gòu)與移植42LwIP介紹與源碼獲取常見的嵌入式TCP/IP協(xié)議棧背景介紹5簡單RAW接口編程實(shí)例3隨著社會(huì)的快速發(fā)展,在數(shù)據(jù)采集領(lǐng)域,針對一些小型監(jiān)測設(shè)備通過網(wǎng)絡(luò)功能來實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)傳輸顯得異常重要。而現(xiàn)存的IP網(wǎng)諸如全球Internet網(wǎng)的趨勢愈演愈烈,只要那些設(shè)備上實(shí)現(xiàn)了TCP/IP協(xié)議棧并增加一個(gè)網(wǎng)絡(luò)接口,就可以方便的接入到現(xiàn)有的網(wǎng)絡(luò)中,所以小型化嵌入式設(shè)備的網(wǎng)絡(luò)接入技術(shù)是未來物聯(lián)網(wǎng)實(shí)現(xiàn)的關(guān)鍵。背景介紹背景介紹TCP/IP協(xié)議棧網(wǎng)絡(luò)接入網(wǎng)絡(luò)接口4背景介紹背景介紹TCP/I
2、P協(xié)議棧是一種四層的結(jié)構(gòu)模型,如圖所示:對于一些低端的嵌入式產(chǎn)品,受到本身硬件資源的限制,幾乎沒辦法支持完整的TCP/IP協(xié)議棧,而且一些情況也不需要支持!5常見的嵌入式TCP/IP協(xié)議棧uC/IPuC/IP是由GuyLancaster編寫的一套基于uC/OS且開放源碼的TCP/IP協(xié)議棧,亦可移植到操作系統(tǒng),是一套完全免費(fèi)的、可供研究的TCP/IP協(xié)議棧,uC/IP大部分源碼是從公開源碼BSD發(fā)布站點(diǎn)和KA9Q(一個(gè)基于DOS單任務(wù)環(huán)境運(yùn)行的TCP/IP協(xié)議棧)移植過來。uC/IP具有如下一些特點(diǎn):帶身份驗(yàn)證和報(bào)頭壓縮支持的PPP協(xié)議,優(yōu)化的單一請求/回復(fù)交互過程,支持IP/TC
3、P/UDP協(xié)議,可實(shí)現(xiàn)的網(wǎng)絡(luò)功能較為強(qiáng)大,并可裁減。uC/IP協(xié)議棧被為一個(gè)帶最小化用戶接口及可應(yīng)用串行鏈路網(wǎng)絡(luò)模塊。根據(jù)采用CPU、編譯器和系統(tǒng)所需實(shí)現(xiàn)協(xié)議的多少,協(xié)議棧需要的代碼容量空間在30-60KB之間。6uIPuIP由瑞典計(jì)算機(jī)科學(xué)學(xué)院(網(wǎng)絡(luò)嵌入式系統(tǒng)小組)的AdamDunkels開發(fā)。其源代碼由C語言編寫,并完全公開。uIP協(xié)議棧去掉了完整的TCP/IP中不常用的功能,簡化了通訊流程,但保留了網(wǎng)絡(luò)通信必須使用的協(xié)議,設(shè)計(jì)重點(diǎn)放在了IP/TCP/ICMP/UDP/ARP這些網(wǎng)絡(luò)層和傳輸層協(xié)議上,保證了其代碼的通用性和結(jié)構(gòu)的穩(wěn)定性。1)代碼非常少,其協(xié)議棧代碼不到6K,很方
4、便閱讀和移植。2)占用的內(nèi)存數(shù)非常少,RAM占用僅幾百字節(jié)。3)對數(shù)據(jù)的處理采用輪循機(jī)制,不需要操作系統(tǒng)的支持。4)支持多個(gè)主動(dòng)連接和被動(dòng)連接并發(fā)。5)其硬件處理層、協(xié)議棧層和應(yīng)用層共用一個(gè)全局緩存區(qū),不存在數(shù)據(jù)的拷貝,且發(fā)送和接收都是依靠這個(gè)緩存區(qū),極大的節(jié)省空間和時(shí)間。常見的嵌入式TCP/IP協(xié)議棧7LwIPLwIP是瑞士計(jì)算機(jī)科學(xué)院(SwedishInstituteofComputerScience)的AdamDunkels等開發(fā)的一套用于嵌入式系統(tǒng)的開放源代碼TCP/IP協(xié)議棧。LwIP的含義是LightWeight(輕型)IP協(xié)議。LwIP可以移植到操作系統(tǒng)上,也可以在無
5、操作系統(tǒng)的情況下獨(dú)立運(yùn)行。LwIPTCP/IP實(shí)現(xiàn)的重點(diǎn)是在保持TCP協(xié)議主要功能的基礎(chǔ)上減少對RAM的占用,一般它只需要幾十K的RAM和40K左右的ROM就可以運(yùn)行,這使LwIP協(xié)議棧適合在低端嵌入式系統(tǒng)中使用。常見的嵌入式TCP/IP協(xié)議棧8常見的嵌入式TCP/IP協(xié)議棧三種TCP/IP協(xié)議棧的比較LwIP和uC/IP是同量級(jí)別的兩個(gè)開源協(xié)議棧,兩者代碼容量和實(shí)現(xiàn)功能相似,LwIP沒有操作系統(tǒng)針對性。而uC/IP協(xié)議最初是針對uC/OS設(shè)計(jì),依賴于操作系統(tǒng)。從應(yīng)用和開發(fā)的角度看,選擇LWIP更有優(yōu)勢,網(wǎng)上可供參考的文檔資料較多;而uC/IP在文檔支持與軟件升級(jí)管理上有很多不足,
6、但是它最初是針對UC/OS而設(shè)計(jì),如果選用UC/OS作為軟件基礎(chǔ)的話,在系統(tǒng)函數(shù)構(gòu)造方面有優(yōu)勢。uIP代碼容量小巧,實(shí)現(xiàn)功能精簡,但也限制了在一些稍高要求場合下的應(yīng)用,如大容量數(shù)據(jù)傳輸。LwIP介紹與源碼獲取LwIP介紹9lwIPisasmallindependentimplementationoftheTCP/IPprotocolsuitethathasbeendevelopedbyAdamDunkelsattheComputerandNetworksArchitectures(CNA)labattheSwedishInstituteofComputerScience(SICS)
7、.ThefocusofthelwIPTCP/IPimplementationistoreducetheRAMusagewhilestillhavingafullscaleTCP.ThismakinglwIPsuitableforuseinembeddedsystemswithtensofkilobytesoffreeRAMandroomforaround40kilobytesofcodeROM.LwIP介紹與源碼獲取10LwIP主要特性LwIP的版本較多,新的版本通常