日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LWIP总结

發布時間:2024/4/17 编程问答 60 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LWIP总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

介紹

????Lwip,light weight IP;是由Adam Dunkels 開發的一個小型開源的TCP/IP協議棧;目前已經為全球共同開發的開源協議;支持TCPIP協議族的核心協議;包括:ARP/ICMP/TCP/UDP/IPV4/IPV6/DHCP等;其核心特點是:功能齊全、運行需求的RAM和ROM少;

編程模型

????所有的功能和性能都可進行裁剪和配置;相關文件為:lwipopts.h

????內部實現支持帶操作系統和不帶操作系統;核心框架是:外部單線程驅動協議棧狀態機;底層使用中斷進行數據的接收;

????其提供三種API :1)RAW API 2)lwip API 3)BSD API。其中BSD API就是大家最熟悉的socket API了。Linux和Windows平臺中的socket接口都與此大同小異;

移植

將lwip移植到不同的平臺主要包括兩個部分工作:

  • MAC+PHY層移植,包括初始化、數據的收發;
  • 應用層框架移植,如操作系統層的線程創建、定時器、消息郵箱;
  • 平臺

    ????硬件:STM32F107 PHY芯片:DM9161AEP

    ????軟件:UCOS-ii????

    移植核心點

    ????ST公司針對STM32F107 不帶操作系統版本的LWIP移植版本,文件名為STM32F107_ETH_LwIP,版本為V1.0.0;由于其版本不再更新且與本軟件平臺不一致,所以不做參考;

    ????由于STM32F1 STM32F2 STM32F4的以太網驅動都是一致的。所以到ST官網下載stm32cubdf2。其中有LWIP針對FREERTOS的移植;而FREERTOS與UCOS大同小異;所以只要針對其修改應用層框架移植的實現即可;相關代碼位于:stm32cubef2\STM32Cube_FW_F2_V1.1.0\Projects\STM322xG_EVAL\Applications\LwIP\LwIP_UDPTCP_Echo_Server_Netconn_RTOS;

    ????LWIP的代碼使用1.4.1版本,可到LWIP官網上下載;也包含在stm32cubef2中;

    ????移植的理論基礎來源于lwip 1.4.1源碼包中doc文件夾中的文件;同時官方也有移植到各個平臺中的示例,文件為:contrib-1.4.1.zip,到官網上下載即可;

  • MAC+PHY移植:
  • ? ? ? ? ? ? ? ? ? ? ? ? 需要修改的文件為:

    ? ? ? ? ? ?app_ethernet.c/h

    ? ? ? ? ? ?ethernetif.c/h

    ? ? ? ? ? ?同時需要將stm32cubef2驅動庫中的stm32f2xx_hal_eth.c/h拷貝過來;

    ? ? ? ? ? ?以上文件只需要配置好,保證編譯沒問題,則MAC+PHY層移植完成;

    ? ? ? ?2. 應用層框架移植:

    ? ? ? ? ? ? ? ? ? ? ? 修改1個文件sys_arch.c,位于stm32cubef2\STM32Cube_FW_F2_V1.1.0\Middlewares\Third_Party\LwIP\system;

    ????所有的移植即完成;

    注意點

    ????STM32Cube_FW_F2_V1.1.0此版本中關于lwip的驅動MAC代碼是有bug的,具體表現在當以太網包數量加大時,會出現底層收數據很慢的情況;使用PING命令經常出現TIMEOUT;

    此bug在STM32cubeF4中得到解決;相關問題原因描述見參考資料;

    ?

    參考資料

  • 核心論文 <<Design and Implementation of the lwIP TCP/IP Stack>> By Adam Dunkels.2001
  • 移植資料

    http://www.stmcu.org/module/forum/thread-588339-1-1.html

  • ? ? ? ? ?<<lwIP?TCP/IP?stack?demonstration for?STM32F107xx?connectivity?line?microcontrollers >> By ST

    ? ? ?3. ?lwip官方網站https://savannah.nongnu.org/projects/lwip/

    轉載于:https://www.cnblogs.com/wilyas/p/5303019.html

    總結

    以上是生活随笔為你收集整理的LWIP总结的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。