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