當(dāng)前位置:首頁 > 物聯(lián)網(wǎng) > 網(wǎng)絡(luò)協(xié)議
[導(dǎo)讀]   lwIP是瑞士計算機科學(xué)院(Swedish InsTItute of Computer Science)的Adam Dunkels等開發(fā)的一套用于嵌入式系統(tǒng)的開放源代碼TCP/IP協(xié)議棧。L

  lwIP是瑞士計算機科學(xué)院(Swedish InsTItute of Computer Science)的Adam Dunkels等開發(fā)的一套用于嵌入式系統(tǒng)的開放源代碼TCP/IP協(xié)議棧。Lwip既可以移植到操作系統(tǒng)上,又可以在無操作系統(tǒng)的情況下獨立運行。

  1、LwIP的特性

 ?。?) 支持多網(wǎng)絡(luò)接口下的IP轉(zhuǎn)發(fā)

  (2) 支持ICMP協(xié)議

 ?。?) 包括實驗性擴展的的UDP(用戶數(shù)據(jù)報協(xié)議)

 ?。?) 包括阻塞控制,RTT估算和快速恢復(fù)和快速轉(zhuǎn)發(fā)的TCP(傳輸控制協(xié)議)

 ?。?) 提供專門的內(nèi)部回調(diào)接口(Raw API)用于提高應(yīng)用程序性能

 ?。?) 可選擇的Berkeley接口API(多線程情況下)

  (7) 在最新的版本中支持ppp

 ?。?) 新版本中增加了的IP fragment的支持。

  (9) 支持DHCP協(xié)議,動態(tài)分配ip地址。

  2 Lwip在ucos上的移植。   2.1 系統(tǒng)初始化

  sys_int必須在tcpip協(xié)議棧任務(wù)tcpip_thread創(chuàng)建前被調(diào)用。

  #define MAX_QUEUES 20

  #define MAX_QUEUE_ENTRIES 20

  typedef struct {

  OS_EVENT* pQ;//ucos中指向事件控制塊的指針

  void* pvQEntries[MAX_QUEUE_ENTRIES];//消息隊列

  //MAX_QUEUE_ENTRIES消息隊列中最多消息數(shù)

  } TQ_DESCR, *PQ_DESCR;

  typedef PQ_DESCR sys_mbox_t;//可見lwip中的mbox其實是ucos的消息隊列

  staTIc char pcQueueMemoryPool[MAX_QUEUES * sizeof(TQ_DESCR) ];

  void sys_init(void)

  {

  u8_t i;

  s8_t ucErr;

  pQueueMem = OSMemCreate( (void*)pcQueueMemoryPool, MAX_QUEUES, sizeof(TQ_DESCR), &ucErr );//為消息隊列創(chuàng)建內(nèi)存分區(qū)

  //init lwip task prio offset

  curr_prio_offset = 0;

  //init lwip_TImeouts for every lwip task

  //初始化lwip定時事件表,具體實現(xiàn)參考下面章節(jié)

  for(i=0;i《LWIP_TASK_MAX;i++){

  lwip_TImeouts[i].next = NULL;

  }

  }

  2.2 創(chuàng)建一個和tcp/ip相關(guān)新進程

  lwip中的進程就是ucos中的任務(wù),創(chuàng)建一個新進程的代碼如下:

  #define LWIP_STK_SIZE 10*1024//和tcp/ip相關(guān)任務(wù)的堆棧大小??梢愿鶕?jù)情況自

  //己設(shè)置,44b0開發(fā)板上有8M的sdram,所以設(shè)大

  //一點也沒有關(guān)系:)

  //max number of lwip tasks

  #define LWIP_TASK_MAX 5 //和tcp/ip相關(guān)的任務(wù)最多數(shù)目

  //first prio of lwip tasks

  #define LWIP_START_PRIO 5 //和tcp/ip相關(guān)任務(wù)的起始優(yōu)先級,在本例中優(yōu)先級可

  //以從(5-9)。注意tcpip_thread在所有tcp/ip相關(guān)進程中//應(yīng)該是優(yōu)先級最高的。在本例中就是優(yōu)先級5

  //如果用戶需要創(chuàng)建和tcp/ip無關(guān)任務(wù),如uart任務(wù)等,

  //不要使用5-9的優(yōu)先級

  OS_STK LWIP_TASK_STK[LWIP_TASK_MAX][LWIP_STK_SIZE];//和tcp/ip相關(guān)進程

  //的堆棧區(qū)

  u8_t curr_prio_offset ;

  sys_thread_t sys_thread_new(void (* function)(void *arg), void *arg,int prio)

  {

  if(curr_prio_offset 《 LWIP_TASK_MAX){

  OSTaskCreate(function,(void*)0x1111, &LWIP_TASK_STK[curr_prio_offset][LWIP_STK_SIZE-1],

  LWIP_START_PRIO+curr_prio_offset );

  curr_prio_offset++;

  return 1;

  } else {

  // PRINT(“ lwip task prio out of range ! error! ”);

  }

  }

  從代碼中可以看出tcpip_thread應(yīng)該是最先創(chuàng)建的。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

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

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

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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