STM32F FREERTOS LWIP建立多个链接失败问题

调试了几天的STM32F,基本功能正常,TCP SERVER也正常,原先的端口数量是4个,正常使用,今天需要增加大到16个,结果发现要么端口打开失败,要么ping不通。反反复复检查opts.h各个参数,进行裕量调整,还是不行。

#define PBUF_POOL_SIZE                  64//->16

#define MEMP_NUM_PBUF                   64//->16

#define MEMP_NUM_PBUF                   64//->16

#define MEMP_NUM_TCP_PCB                64//->5

#define MEMP_NUM_TCP_PCB_LISTEN         16//->8

最后才发现是操作系统总内存不够,LWIP协议栈分配不到足够的内存导致的。

#define configTOTAL_HEAP_SIZE                    ((size_t)(32*1024))//((size_t)15360)

解决!

原文:https://blog.csdn.net/shjhuang/article/details/79714255 
 

STM32F103是一款32位的ARM Cortex-M3微控制器,它可以通过FreeRTOSLwIP实现实时操作系统和网络协议栈的功能。 FreeRTOS是一个开源的实时操作系统内核,适用于多种处理器架构。它提供了丰富的任务管理、时间管理和资源管理功能,使多任务并发执行成为可能。在STM32F103中使用FreeRTOS可以方便地实现任务的创建、切换和管理,有效提高系统的实时性和软件的可维护性。 LwIP(Lightweight IP)是一个轻量级的开源TCP/IP协议栈,适用于嵌入式系统。它具有小巧、高效的特点,适合资源有限的嵌入式设备。在STM32F103中使用LwIP可以实现网络通信功能,如TCP/IP、UDP/IP等。LwIP提供了丰富的API和协议支持,能够方便地进行网络配置、连接管理和数据传输。 在使用STM32F103时,结合FreeRTOSLwIP可以实现一个实时网络应用系统。通过FreeRTOS可以创建多个任务,分别处理不同的任务逻辑,如数据采集、控制算法等。通过LwIP可以实现网络连接和数据传输,能够实现远程控制、数据监测和通信等功能。同时,FreeRTOSLwIP之间可以进行任务和中断的处理优先级配置,以满足不同任务的实时性要求和数据传输的稳定性要求。 总之,STM32F103配合FreeRTOSLwIP可以实现一个实时网络应用系统,具备丰富的任务管理和网络通信功能,适用于嵌入式系统中的实时控制和数据传输场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值