RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

ethernetif_input和tcpip協(xié)議棧線程的作用

嵌入式情報(bào)局 ? 來(lái)源:嵌入式情報(bào)局 ? 2024-03-20 10:01 ? 次閱讀

1、最近項(xiàng)目遇到的問(wèn)題

最近在stm32上用cubemax移植了lwip協(xié)議棧,lwip就不用過(guò)多介紹了,(lightweight IP)一款輕量級(jí)的開(kāi)源TCP/IP協(xié)議棧,專為嵌入式系統(tǒng)設(shè)計(jì),具有小巧高效、可裁剪性強(qiáng),主要是已經(jīng)發(fā)展和廣泛應(yīng)用多年,可靠性還是可以的,基本上大多數(shù)嵌入式系統(tǒng)的網(wǎng)絡(luò)通信需求都可以滿足。

然而最近項(xiàng)目中通信數(shù)據(jù)量大一點(diǎn),老是send超時(shí),運(yùn)行時(shí)間久了還會(huì)直接掛在ethnetif_input,這可把我給整郁悶了。

最后定位到原因還是lwip適配的兩個(gè)線程優(yōu)先級(jí)分配得有問(wèn)題,導(dǎo)致FreeRTOS信號(hào)量超時(shí)異常。

2、兩個(gè)主要線程

在lwIP協(xié)議棧中,ethernetif_input線程和tcpip協(xié)議棧線程是兩個(gè)核心的線程,在處理網(wǎng)絡(luò)數(shù)據(jù)包和執(zhí)行TCP/IP協(xié)議棧功能時(shí)的作用就不用多說(shuō)了,下面簡(jiǎn)單的介紹下兩個(gè)線程的作用:

ethernetif_input線程:

ethernetif_input線程負(fù)責(zé)接收來(lái)自網(wǎng)絡(luò)接口(如以太網(wǎng)接口)的數(shù)據(jù)包,并將其傳遞給lwIP協(xié)議棧進(jìn)行處理。

這個(gè)線程通常運(yùn)行在較低的優(yōu)先級(jí),因?yàn)樗饕?fù)責(zé)接收和緩存數(shù)據(jù)包,而不涉及復(fù)雜的協(xié)議處理。

在實(shí)際應(yīng)用中,可以根據(jù)系統(tǒng)的需求和性能進(jìn)行調(diào)整,但通常情況下,ethernetif_input線程的優(yōu)先級(jí)相對(duì)較低。

tcpip協(xié)議棧線程:

tcpip協(xié)議棧線程是lwIP協(xié)議棧的核心線程,負(fù)責(zé)處理TCP/IP協(xié)議棧的各種功能,包括TCP連接管理、IP數(shù)據(jù)報(bào)的路由和轉(zhuǎn)發(fā)、以及UDP數(shù)據(jù)包的處理等。

由于tcpip協(xié)議棧線程需要處理復(fù)雜的協(xié)議邏輯和數(shù)據(jù)包處理,因此它通常運(yùn)行在較高的優(yōu)先級(jí)。

保持tcpip協(xié)議棧線程的較高優(yōu)先級(jí)有助于確保網(wǎng)絡(luò)數(shù)據(jù)包的及時(shí)處理和協(xié)議棧功能的高效執(zhí)行。

在實(shí)際的嵌入式系統(tǒng)設(shè)計(jì)中,需要根據(jù)具體的硬件平臺(tái)和應(yīng)用場(chǎng)景來(lái)合理設(shè)置這兩個(gè)線程的優(yōu)先級(jí)。通常情況下,可以通過(guò)操作系統(tǒng)或者裸機(jī)編程的方式來(lái)配置線程的優(yōu)先級(jí),以滿足系統(tǒng)對(duì)網(wǎng)絡(luò)數(shù)據(jù)處理和協(xié)議棧功能的實(shí)時(shí)性和效率要求。

3、總 結(jié)

所以通常情況下,tcpip協(xié)議棧線程的優(yōu)先級(jí)需要設(shè)置得更高,因?yàn)閠cpip協(xié)議棧線程需要處理復(fù)雜的協(xié)議邏輯、數(shù)據(jù)包處理、連接管理等任務(wù),保持tcpip協(xié)議棧線程的較高優(yōu)先級(jí)可以確保網(wǎng)絡(luò)數(shù)據(jù)包的及時(shí)處理和協(xié)議棧功能的高效執(zhí)行,從而提高系統(tǒng)的響應(yīng)速度和網(wǎng)絡(luò)通信的穩(wěn)定性。

ethernetif_input線程通常負(fù)責(zé)接收和緩存數(shù)據(jù)包,相對(duì)來(lái)說(shuō)不涉及太多復(fù)雜的處理邏輯,因此可以設(shè)置相對(duì)較低的優(yōu)先級(jí)。

經(jīng)過(guò)優(yōu)先級(jí)調(diào)整后,跑了2天都沒(méi)有出現(xiàn)異常問(wèn)題。

審核編輯:黃飛

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6035

    文章

    44554

    瀏覽量

    634617
  • TCP
    TCP
    +關(guān)注

    關(guān)注

    8

    文章

    1353

    瀏覽量

    79055
  • UDP
    UDP
    +關(guān)注

    關(guān)注

    0

    文章

    325

    瀏覽量

    33931
  • LwIP
    +關(guān)注

    關(guān)注

    2

    文章

    86

    瀏覽量

    27148
  • 線程
    +關(guān)注

    關(guān)注

    0

    文章

    504

    瀏覽量

    19675

原文標(biāo)題:在單片機(jī)上運(yùn)行Lwip線程優(yōu)先級(jí)很重要~

文章出處:【微信號(hào):嵌入式情報(bào)局,微信公眾號(hào):嵌入式情報(bào)局】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于μCOS-Ⅱ的嵌入式TCPIP_協(xié)議的研究與實(shí)現(xiàn)

    基于μCOS-Ⅱ的嵌入式TCPIP_協(xié)議的研究與實(shí)現(xiàn)
    發(fā)表于 08-20 09:28

    一種新的嵌入式TCPIP協(xié)議的研究與實(shí)現(xiàn)

    一種新的嵌入式TCPIP協(xié)議的研究與實(shí)現(xiàn)
    發(fā)表于 08-20 10:37

    ARM開(kāi)發(fā)教程之基于ARM微處理器TCPIP協(xié)議LwlP實(shí)現(xiàn)

    ARM開(kāi)發(fā)教程之基于ARM微處理器TCPIP協(xié)議LwlP實(shí)現(xiàn)
    發(fā)表于 08-24 22:42

    請(qǐng)問(wèn)這個(gè)input函數(shù)的原型是在哪里?

    [C] 純文本查看 復(fù)制代碼err_t ethernetif_input(struct netif *netif){err_t err;struct pbuf *p;p
    發(fā)表于 07-25 01:47

    HI3861的SDK中LWIP的TCPIP線程優(yōu)先級(jí)?

    想知道LWIP中的tcpip線程的優(yōu)先級(jí)設(shè)置的是多少?還有就是底層wifi協(xié)議是否有任務(wù)處理?如果有,優(yōu)先級(jí)是多少?
    發(fā)表于 11-20 17:37

    基于STM32單片機(jī)LwIP協(xié)議的相關(guān)資料推薦

    (struct netif *netif, struct pbuf *p)4.3.3 pbuf * low_level_input(struct netif *netif)4.3.4 ethernetif_input(struct netif *netif)4.3.5
    發(fā)表于 01-20 06:35

    MCU_STM32CUBEMX v5.5.0的一個(gè)BUG是什么原因造成的呢

    STM32CUBEMX v5.5.0 配置FreeRTOS + LWIP,在MX_LWIP_Init()中的倒數(shù)第二句,osThreadNew(ethernetif_input, &
    發(fā)表于 03-01 06:23

    為什么CubeMX V6.5.0生成的ethernetif.h文件中會(huì)存在錯(cuò)誤呢

    CubeMX 版本 6.5.0 在 /LWIP/target/ethernetif.h 中生成以下行:static void ethernetif_input(void const
    發(fā)表于 12-08 06:34

    對(duì)幾種開(kāi)源的TCPIP協(xié)議分析

    對(duì)幾種開(kāi)源的TCPIP協(xié)議分析
    發(fā)表于 11-03 16:52 ?24次下載

    嵌入式TCPIP協(xié)議LWIP的內(nèi)部結(jié)構(gòu)

    分析了嵌入式 TCPIP協(xié)議主要對(duì)LWIP的基本結(jié)構(gòu),介紹了嵌入式TCPIP協(xié)議LWIP的內(nèi)
    發(fā)表于 02-17 15:55 ?76次下載
    嵌入式<b class='flag-5'>TCPIP</b><b class='flag-5'>協(xié)議</b><b class='flag-5'>棧</b>LWIP的內(nèi)部結(jié)構(gòu)

    基于ARM的輕量級(jí)TCPIP協(xié)議的移植及應(yīng)用

    本文著重與講訴基于ARM的輕量級(jí)TCPIP協(xié)議的移植及應(yīng)用
    發(fā)表于 10-14 17:55 ?54次下載
    基于ARM的輕量級(jí)<b class='flag-5'>TCPIP</b><b class='flag-5'>協(xié)議</b><b class='flag-5'>棧</b>的移植及應(yīng)用

    TCPIP協(xié)議的實(shí)現(xiàn)lwip

    TCPIP協(xié)議的實(shí)現(xiàn)lwip方便初學(xué)者剛開(kāi)始接觸lwip,有個(gè)大概的了解與認(rèn)識(shí)。
    發(fā)表于 03-14 15:40 ?13次下載

    AN1921 - Microchip TCPIP精簡(jiǎn)協(xié)議

    本應(yīng)用筆記描述Microchip傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議(TCP/IP)精簡(jiǎn)協(xié)議庫(kù)的結(jié)構(gòu)和接口,并提供部分簡(jiǎn)單的演示應(yīng)用。實(shí)現(xiàn)TC P/IP精簡(jiǎn)協(xié)
    發(fā)表于 03-22 10:16 ?3次下載
    AN1921 - Microchip <b class='flag-5'>TCPIP</b>精簡(jiǎn)<b class='flag-5'>協(xié)議</b><b class='flag-5'>棧</b>

    基于STM32的虛擬多線程(TI_BLE協(xié)議_ZStack協(xié)議)

    基于STM32的虛擬多線程,可以很好的用于裸機(jī)程序中,用于模擬小型操作系統(tǒng)的多線程概念。本實(shí)例參考了參考TI_BLE協(xié)議_ZStack協(xié)議
    發(fā)表于 06-14 10:42 ?6925次閱讀
    基于STM32的虛擬多<b class='flag-5'>線程</b>(TI_BLE<b class='flag-5'>協(xié)議</b><b class='flag-5'>棧</b>_ZStack<b class='flag-5'>協(xié)議</b><b class='flag-5'>棧</b>)

    tcpip協(xié)議是什么?tcpip協(xié)議有哪些協(xié)議?tcpip協(xié)議中報(bào)文封裝和解封裝過(guò)程

    tcpip協(xié)議是什么? TCP/IP協(xié)議是計(jì)算機(jī)網(wǎng)絡(luò)中使用的最常見(jiàn)的網(wǎng)絡(luò)協(xié)議
    的頭像 發(fā)表于 08-01 17:51 ?8546次閱讀
    <b class='flag-5'>tcpip</b><b class='flag-5'>協(xié)議</b><b class='flag-5'>棧</b>是什么?<b class='flag-5'>tcpip</b><b class='flag-5'>協(xié)議</b><b class='flag-5'>棧</b>有哪些<b class='flag-5'>協(xié)議</b>?<b class='flag-5'>tcpip</b><b class='flag-5'>協(xié)議</b><b class='flag-5'>棧</b>中報(bào)文封裝和解封裝過(guò)程
    RM新时代网站-首页