听说你很小 - - LWIP

2024-04-15 14:38
文章标签 lwip 听说 很小

本文主要是介绍听说你很小 - - LWIP,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

LWIP U KNOW summary ???
LwIP应用开发实战指南-基于STM32,中文版手册
src源 下载

lwIP是TCP/IP协议套件的一个小型独立实现,最初由Adam Dunkels开发,现在在这里继续。

lwIP TCP/IP实现的重点是减少资源的使用,同时仍然拥有完整的TCP。这使得lwIP适用于具有数十kb空闲RAM和大约40 kb代码ROM空间的嵌入式系统。

主要功能包括

  • 协议支持:IP, IPv6, ICMP, ND, MLD, UDP, TCP, IGMP, ARP, PPPoS, PPPoE

  • DHCP客户端,DNS客户端(包括mDNS主机名解析器),AutoIP/APIPA (Zeroconf), SNMP代理(v1, v2c, v3,私有MIB支持和MIB编译器)

  • API支持:专门用于增强性能的API,可选的berkeley类似socket的API

  • 扩展功能支持:在多个网络接口上的IP转发,TCP拥塞控制,RTT估计和快速恢复/快速重传

  • 插件应用:HTTP(S)服务器,SNTP客户端,SMTP(S)客户端,ping, NetBIOS nameserver, mDNS responder, MQTT客户端,TFTP服务器

以上来自于翻译

协议栈初识

三套API

  • RAW API
    应用程序直接调用TCP/IP协议栈中的回调函数,应用程序和协议栈代码集成在同一个任务中,这样相对于普通的BSD API来说,速度更快,内存消耗更少。LwIP的后两种API的实现也是基于RAW API。RAWAPI的缺点是编程较为复杂;
  • LWIP API
    这种实现方式是在系统中单独建立了一个TCP/IP任务,由这个任务调用RAW API来处理网络通信,其它的网络任务都是利用消息机制与这个任务通信来收发数据。这也是本文中使用的方法;
  • BSD API
    这种API非常像BSD标准UNIX中的socket API,和普通的socket API一样是基于open-read-write-close模型的,这种API是对正式的API又一层的封装,效率较低,资源消耗较多,但是使用BSD API的应用程序有较好的移植性。

Reference

基于zynq平台裸跑LWIP协议栈的详解示例

这篇关于听说你很小 - - LWIP的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/906095

相关文章

ZYNQ LWIP (RAW API) UDP函数学习

1 RAW API接口 RAW API是基于回调函数实现的API接口,它是很底层的API接口,这需要开发者对LwIP有较深的了解才能很好使用它,RAW API的核心就是对控制块的处理,因为对于报文数据的处理、注册回调函数等都是需要开发者自己去实现,都是比较麻烦的,但是有一个优点,那就是处理数据效率高。 2 RAW API的UDP函数说明 udp_new()–新建控制块 在使用UDP协议进行通

TQZC706开发板教程:LWIP自环测试

本例程基于ZC706开发板实现LWIP自环通讯测试。使用开发板的网口与电脑或路由器等设备连接,使开发板与电脑在同一局域网内,使用telnet工具连接开发板,进行LWIP自环测试。        LWIP自环测试工程在Hello World项目上进行修改,vivado项目不需要有修改直接打开vitis,如下图所示点击pla...-->Board...-->Mod...-->勾选lw

你听说过思维导图吗?

引子 如果你没听说过思维导图,那么你可能错过了很美妙的一个工具。不过没关系,现在了解一下也不算迟。 思维导图又叫心智导图是表达发散性思维的有效的图形思维工具 ,它简单却又极其有效,是一种革命性的思维工具。 名词解释大家都不爱看,所谓的思维导图其实就是类似于下面这样一张图。 是不是觉得好复杂,徒手画图?我可没说。我们现在接触到的文档大多数都是电子化的,所以你经常看到的思维

【ZYNQ MPSoC开发】lwIP TCP发送用于数据缓存的软件FIFO设计

设计背景        任务是在ZYNQ的PS上使用裸机运行lwIP协议栈使用TCP把PL端通过AXI DMA传来的将近100K采样率的ADC数据发送出去,但由于数据带宽很大,有853.3mbps,所以在每一次AXI DMA简单传输结束后,lwIP未必有足够的发送buffer立即把数据发送走,如果是发送完再进行下一次简单传输的思路,则会很大地限制了整个系统的带宽,一个简单的思路是每次传输完成后判

《嵌入式 - Lwip开发指南》第3章 移植LWIP(无系统)

开发环境: Keil:V5.30 开发板:STM32 Nucleo-F746ZG开发板 LWIP:V2.1.2 PHY芯片:LAN8742A 3.1 STM32CudeMX配置工程 由于STM32CudeMX内集成LWIP(TCP/IP协议栈),不需要我们进行复杂的移植,只需简单的配置。 1.选择时钟源 在前文已经讲过了,这里使用MCO,所以HSE选择BYPASS旁路,也就是ST-Li

《嵌入式 - Lwip开发指南》第2章 LWIP开发环境简介

开发环境: Keil:V5.30 开发板:STM32 Nucleo-F746ZG开发板 LWIP:V2.1.2 PHY芯片:LAN8742A 在LWIP 教程中 PHY 层使用的是LAN8742A芯片,相当于物理层, STM32F746自带的 MAC 层相当于数据链路层,而 LWIP 提供的就是网络层、传输层的功能,应用层是需要用户自己根据应用需求去实现的。 本文将介绍整个网络开发环境所需的环

TQRFSOC开发板47DR LWIP自环测试

本例程基于RFSOC 47DR开发板实现LWIP自环通讯测试。使用开发板的网口与电脑或路由器等设备连接,使开发板与电脑在同一局域网内,使用telnet工具连接开发板,进行LWIP自环测试。        LWIP自环测试工程在Hello World项目上进行修改,首先打开vivado,修改设计文件中的ZYNQ核的配置。LWIP除了用到网口还需要用到定时器,双击ZYNQ核-->添加

听说做过这30件事的情侣不容易分手

听说做过这30件事的情侣不容易分手。1.每一周至少有一次约会的时间。2.聊天时多加一些语气词,“嗯嗯”改为“好哒”,“没有”改为“没有呀”,“晚安”变为“晚安噢”。你会发现每天的生活都充满了甜蜜的粉红色气泡。3.维持亲密关系最重要的方式之一就是见面。很多时候两个人再生气、矛盾再大,只要见个面,或者抱抱亲亲,所有的愤怒都会消失。别那么急着说分手。4.一个男生展示地有多成熟,他心底的小男孩就会有多幼稚

到底要多少粒麦子 你一定听说过这个故事。

package org.bluebridge.topics;/** 到底要多少粒麦子你一定听说过这个故事。国王对发明国际象棋的大臣很佩服,问他要什么报酬,大臣说:请在第1个棋盘格放1粒麦子,在第2个棋盘格放2粒麦子,在第3个棋盘格放4粒麦子,在第4个棋盘格放8粒麦子,......后一格的数字是前一格的两倍,直到放完所有棋盘格(国际象棋共有64格)。国王以为他只是想要一袋麦子而已,哈哈大笑。当时的条

stm32f103zet6 DM9000 UCOSII LWIP 快速集成modus tcp

之前使用stm32f103rbt6芯片完成了集成 freemodbus modbus rtu参照:点击打开链接 现使用stm32f103zet6 DM9000 UCOSII LWIP 集成modus tcp,类似于集成modbus rtu 首先参照原子官方提供的战舰V3  UCOSII+LWIP试验 为基础模板 第二:添加modbus 、 port的C文件和H文件,参照 点击打开链接 第三