
lwip
LWIP
lljss2020
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
lwip_setsockopt设置地址复用出错(lwip默认不打开,lwip_bindu也会提示端口被占用)
【代码】lwip_setsockopt设置地址复用出错(lwip默认不打开)原创 2025-05-29 14:12:31 · 228 阅读 · 0 评论 -
warning: #223-D: function “xEventGroupCreateStatic“ declared implicitly
但该函数没有被显式声明。这意味着在包含的头文件中没有该函数的声明,导致编译器隐式声明了它,可能会引发潜在的问题。用户代码中使用了静态创建方式,因此需要包含正确的头文件。FreeRTOS的事件组有两种创建方式:动态创建(使用。原创 2025-05-28 14:22:09 · 134 阅读 · 0 评论 -
LWIP 中,lwip_shutdown 和 lwip_close 区别
【代码】LWIP 中,lwip_shutdown 和 lwip_close 区别。原创 2025-05-27 11:15:50 · 272 阅读 · 0 评论 -
sockfd = lwip_socket,newfd = lwip_accept 有什么区别
sockfd 和 newfd 是套接字编程中两个不同用途的文件描述符,它们在 LWIP 中的区别如下:原创 2025-05-27 10:48:40 · 214 阅读 · 0 评论 -
lwip_accept、lwip_recv都使用select ,但避免lwip_accept 在极端情况下仍可能阻塞
可能会因为没有实际的连接而阻塞,尤其是在阻塞模式下。的作用是检测套接字是否有可读事件,即是否有新的连接请求到达。已经通知有事件,但实际事件可能已经无效,导致。返回时,通常意味着有连接到来,但如果在。之前,对端突然关闭了连接,这时候。原创 2025-05-26 14:29:43 · 258 阅读 · 0 评论 -
lwip_socket详解
【代码】lwip_socket详解。原创 2025-05-26 13:50:35 · 146 阅读 · 0 评论 -
alloc_socket详解
【代码】alloc_socket详解。原创 2025-05-26 13:47:21 · 186 阅读 · 0 评论 -
lwip_setsockopt解释
它在用户代码中的作用是 配置套接字的行为特性,具体到这段代码中,其核心目的是设置 SO_REUSEADDR 选项,允许地址和端口的立即重用。原创 2025-05-26 13:46:16 · 276 阅读 · 0 评论 -
lwip_bind、lwip_listen 是阻塞函数吗
通常,bind和listen在大多数实现中都是非阻塞的,因为它们只是设置套接字的属性,不需要等待外部事件。阻塞通常发生在接受连接(accept)、接收数据(recv)或发送数据(send)等需要等待网络活动的操作上。原创 2025-05-26 13:44:19 · 537 阅读 · 0 评论 -
LWIP_COMPAT_SOCKETS详解
【代码】LWIP_COMPAT_SOCKETS详解。原创 2025-05-23 11:13:42 · 251 阅读 · 0 评论 -
在LwIP中,netif_set_link_up和netif_set_up分别用于设置网络接口(netif)的不同状态标志
原创 2025-05-20 17:11:31 · 157 阅读 · 0 评论 -
嵌入式系统中,检测链路层(物理层)状态变化时,选择中断驱动还是定时轮询
在嵌入式系统中,检测链路层(物理层)状态变化时,选择中断驱动还是定时轮询(如200ms线程检测)需根据实时性需求、硬件支持、系统资源和稳定性要求综合权衡。原创 2025-05-19 14:30:47 · 313 阅读 · 0 评论 -
在嵌入式系统中, 一般链路层断开多久,断开TCP为好
推荐值范围:立即断开:适用于实时控制、低功耗场景。1~5秒:通用平衡点(如智能家居)。5~30秒:高容错无线场景(如车载设备)。核心原则:通过link_callback快速响应物理层事件,避免依赖TCP超时机制(默认太慢),结合应用需求主动管理连接生命周期。原创 2025-05-19 11:06:31 · 840 阅读 · 0 评论 -
lwip记录
因为以太网的物理性 质并不能保证数据传输的是可靠的。PBUF_POOL 类型的 pbuf 与 PBUF_RAM 类型的 pbuf 都是差不多的,其 pbuf 结构体与 数据缓冲区也是存在于连续的内存块中,但它的空间是通过内存池分配的,这种类型的 pbuf 可以在极短的时间内分配得到,因为这是内存池分配策略的优势,在网卡接收数据的 时候,LwIP 一般就使用这种类型的 pbuf 来存储接收到的数据,申请 PBUF_POOL 类型时, 协议栈会在内存池中分配适当的内存池个数以满足需要的数据区域大小。原创 2025-04-16 17:07:43 · 868 阅读 · 0 评论 -
lwip 3. 网线拔掉后 lwip_recvfrom不能返回
当网线被拔掉后,LWIP的lwip_recvfrom函数无法返回,这通常意味着网络连接已经断开,而LWIP没有自动检测到这种断开并进行相应的处理。//具体函数。原创 2024-08-09 10:16:35 · 766 阅读 · 0 评论 -
lwip 2. lwip_netif_status_callback在哪里调用了
lwip_stack_init()调用了netif_add(),netif_add()调用了netif_set_addr(),netif_set_addr(netif, ipaddr, netmask, gw)调用了netif_do_set_ipaddr()原创 2024-08-09 10:07:31 · 519 阅读 · 0 评论 -
lwip 1. 协议栈内存分配
池:池内存管理机制将内存分配成多个大小不一的内存池,每个内存池中又被分为N个相同大小的内存块。程序可根据需要使用的内存大小直接到不同的内存池中取用即可。池内存管理机制分配内存更快,效率更高。pbuf就是一个描述协议栈中数据包的数据结构,LWIP 中在 pbuf.c和 pubf.h实现了协议栈数据包管理的所有函数与数据结构。堆:堆内存管理机制会根据需要分配的内存大小在空闲的内存块中找到最佳拟合(best fit)的内存区域。//在pbuf.h中定义。原创 2024-08-09 10:02:56 · 307 阅读 · 0 评论 -
gd32f30x_enet.c的网卡初始化时上电时网线未插入会卡住很长时间
gd32f30x_enet.c的网卡初始化时上电时网线未插入会卡住很长时间,导致ETH初始化部分未能成功完成并且在执行enet_init() 时由于网线没接上,会在while((RESET == phy_value) && (timeout < PHY_READ_TO))卡住很长时间,之后即使再插入网线,程序中没有再次进行初始化的逻辑补充,从而导致网络异常。原创 2024-08-09 09:54:49 · 675 阅读 · 0 评论 -
GD32F307+lwip+freeRTOS+DP83848 JPerf接收测速
2)init_task中添加测速线程iperf_server_init()1)注释掉tcp_client_init();教材优化后可以到94M。教材优化后可以到71M。原创 2024-05-16 16:06:35 · 622 阅读 · 0 评论