STMCU小助手
发布时间:2021-12-17 12:05
|
和我最近测试的结果大致相同,STM32F7 上TCP 速率3Mbps左右。而之前我测试UDP,可以到30Mbps 以上。 1、测试目的 在尽量保持硬件和软件一致的前提下,测试LWIP和DJYIP两个协议栈的TCP接收不同包的速度。" V% s! S. y9 A8 E" G" E 2、测试方法 用一块STM32F7的发送板,应用层无延迟调用TCP发送函数send(),不断发送不同大小的数据包,数据包大小范围64 ~ 1460byte,接收端每1秒统计接收到的数据包,交终端上显示接收的速度。(当然,运行LWIP和DJYIP的两块接收板,运行在相同的主频,协议栈的pbuf缓冲、TCP接收窗口大小、优先级等一致。) 3、软硬件平台6 e. n( H8 w& R1 ~$ T* F5 n 硬件平台; m7 {4 P+ p$ ?8 G LWIP DJYIP8 r# `. ~5 V7 B/ z 运行板件 ST官方板STM32756G-EVAL2 STM32F7核心板8 B0 u: r1 ~. S4 k p7 x: U 运行主频 200MHz 200MHz 连接方式 与发送板直连 与发送板直连 编译调试 MDK eclipse 软件平台 LWIP DJYIP& M' S# H$ B$ t- u, P( _+ A4 ? 网络驱动接收方式 中断 中断 pbuf大小 16kbytes 16kbytes TCP窗口 2048 2048 其中,运行在STM32756G-EVAL2的LWIP的软件代码,是直接从ST官方下载的STM32Cube_FW_F7_V1.6.0版本固件库,5 S, p( [1 e& W( ?: A0 U+ I7 z. f& o 编译运行在MDK5.12.* Q# J, H0 `% u : ]( s5 F5 [4 h3 U/ y% l 4、测试步骤# Y- |/ `( {& ?: h& D (1)源码编写及修改 主要是比较基础的socket编程,发送板作为TCP客户端,两块接收板作为TCP服务器,客户端板建立TCP连接后,一直( e0 Q! P/ h, j# \5 P1 \ r 发送程序,服务器一直接收TCP数据,并统计接收速度。& |1 T- h! a7 s5 h; R8 `) @ 对STM32Cube_FW_F7_V1.6.0源码中LWIP的配置,需要修改lwipopts.h,主要修改了如下两行代码
5、测试结果 测试结果如下表所示 e+ Q, N0 g7 v 发送包(byte) LWIP(Mbytes/s) DJYIP(Mbytes/s)* O; G, h% I) P- P; F- g 1400 3.02 3.18/ ^1 U- S# _0 [" r, @. L 1024 4.22 3.161 T2 ?3 r- O( S4 v 512 3.07 34 {9 B* Q M9 E: y$ H/ x 256 2.02 2.57 E7 W: R9 Y/ Q4 A! U# J; G3 J 128 0.2±0.2 1.76 64 0.2±0.2 1.12 rand*1460 1M内变动 2.52 其中,rand是产生0~1的随机数。LWIP这组数据中,1024的速度大于1400,有可能是8 ^' _8 g" x) {# Z6 A% u 因为1024是2的整数次幂的原因(可能猜测)。 K0 Y2 W3 ?; y9 g ! K$ o. l3 W8 J! n; f |
STM32F746G-DISCO移植lvgl9.0性能基准测试
STM32F745 USART1 Bootloader启动失败排查与解决的流程分析
STM32芯片命名规则
STM32 引脚到底有多少?为什么一个引脚能当好几个用?
入门嵌入式,为什么STM32是“优选起步”?
嵌入式-单片机-STM32 EXTI中断
STM32单片机进行除零运算,为何程序不崩溃?
STM32 LL为什么比HAL高效?
STM32时钟详解
2025国庆中秋活动体验报告2——TouchGFX的UI设计
微信公众号
手机版