
和我最近测试的结果大致相同,STM32F7 上TCP 速率3Mbps左右。而之前我测试UDP,可以到30Mbps 以上。9 v7 n+ h3 x. G; L T; D 1、测试目的5 F1 L& {+ c/ b, k4 A" p 在尽量保持硬件和软件一致的前提下,测试LWIP和DJYIP两个协议栈的TCP接收不同包的速度。 2、测试方法 用一块STM32F7的发送板,应用层无延迟调用TCP发送函数send(),不断发送不同大小的数据包,数据包大小范围64 ~ 1460byte,接收端每1秒统计接收到的数据包,交终端上显示接收的速度。(当然,运行LWIP和DJYIP的两块接收板,运行在相同的主频,协议栈的pbuf缓冲、TCP接收窗口大小、优先级等一致。) 6 Z7 U! H2 ^, f) v, i1 ` 3、软硬件平台 硬件平台 LWIP DJYIP! K; W5 P! y7 L& l- N7 P4 A 运行板件 ST官方板STM32756G-EVAL2 STM32F7核心板7 K$ L! `$ o% @) j# O* m% s 运行主频 200MHz 200MHz- K) R# q2 ~; k2 N7 k' q 连接方式 与发送板直连 与发送板直连* v3 y$ ~, a- b9 A/ F5 c 编译调试 MDK eclipse 软件平台( L# Z0 E6 R; Z# ?9 V LWIP DJYIP 网络驱动接收方式 中断 中断 pbuf大小 16kbytes 16kbytes$ f/ J1 v* a( ^0 O: M1 R: v; E TCP窗口 2 Y* S6 R4 v: c- p6 u 2048& D( H/ ^5 T& O! T R$ o8 _ 2048 其中,运行在STM32756G-EVAL2的LWIP的软件代码,是直接从ST官方下载的STM32Cube_FW_F7_V1.6.0版本固件库," N3 ~3 w' V$ `3 k* b2 _* d 编译运行在MDK5.12.9 ~& P5 \; U; `2 H4 s : {; B0 d2 j/ J; z% T2 d8 z 4、测试步骤 (1)源码编写及修改, @4 b1 v1 z+ y 主要是比较基础的socket编程,发送板作为TCP客户端,两块接收板作为TCP服务器,客户端板建立TCP连接后,一直: A3 e, A5 D% R' x% I 发送程序,服务器一直接收TCP数据,并统计接收速度。6 H1 u; S4 ^" A 对STM32Cube_FW_F7_V1.6.0源码中LWIP的配置,需要修改lwipopts.h,主要修改了如下两行代码: l9 U- U, P) V
5、测试结果' C- t+ T( y$ A; p" A9 B( i( v 测试结果如下表所示3 W2 G$ a0 G* Q' D6 R ?2 | 发送包(byte) LWIP(Mbytes/s) DJYIP(Mbytes/s): K0 c0 C* L$ g8 v 1400 3.02 3.18 1024 4.22 3.16 512 3.07 3 256 2.02 2.52 ]$ `5 K) a2 Y/ M& L- n 128 0.2±0.2 1.760 r3 ]; P7 S. c4 _4 k+ e! K* X 64 0.2±0.2 1.12 rand*1460 1M内变动 2.52) y3 g' K# E$ |/ S$ a- y 其中,rand是产生0~1的随机数。LWIP这组数据中,1024的速度大于1400,有可能是 因为1024是2的整数次幂的原因(可能猜测)。% D' J7 e' i; M } C % |0 \5 K7 z' {& L+ d |
【STM32F769I-DISC1】开发板刷入Micropython并完成点灯、读取内部温度测试
【STM32F769I-DISC1】测评01:创建STM32cube IDE 工程,点个灯
【STM32F769】创建deepseek本地服务,并实现http请求
汇编浮点库qfplib移植STM32F769I-DISCO开发板与硬件浮点运算性能测试对比
coremark移植到STM32F769I-DISCO开发板的两种方法
【GUI板免费申请活动】【圣诞GUI】使用F746-DISO基于TouchGFX的圣诞树
刘氓兔的杂谈【001】-片上USB 高速PHY
【合集】STM32F7教程、资料大集合
基于STM32F746G-Discover的扩展电路板
F769 Discovery实现播放U盘音乐的播放器