liuqian 发表于 2023-7-27 07:38:16

有没有坛友移植过STM32H723+freertos-plus-tcp

硬件:NucleoH723ZG
软件:STM32CUBEIDE1.10.1&1.13.0,自带lwip2.1.2
先看了一大堆帖子,中文的英文的,知道ST的bug是成堆的,而且H723的内存结构略有不同,但是终于搞定了H723+freertos+lwip,任务可以跑起来,可以ping通,iperf运行起来,测试可以达到80-90M
前一段时间,STM32CUBEIDE升级到了1.13.0,而且前面整个过程很多坑,我就想重建一个工程把所有配置都记录下来,噩梦就开始了
新建一个project,nameA,先是根据之前的配置,一步步从最基本的freertos点灯,然后配置lwip,都还算顺利的,可以ping了,但是时间久了会断,重新拔插网线可以恢复。然后加入iperf就不行,tcp的部分内存分配错误导致打不开tcp,但是UDP部分可以用,只能网上又看了很多文章,微调dma和lwip的参数,总是不行
无奈把原来能跑的V1.10.1的工程调进来,nameB,重新生成代码,更玩玩,直接尿崩,进Error_Handler,freertos的调度部分有内存分配错误,实在是不想找底层的bug了,就把1.13.0卸载了,重新安装了1.10.1,载入工程nameB,重新生成,编译,下载,一气呵成,iperf正常了
网上吐槽ST的bug太多了,这种稳定性真没法用,有人说freertos-plus-tcp比较稳定,但是没有完整的移植的教程,不知道坛友有没有用过

liuqian 发表于 2023-7-27 11:17:01

有点冤枉ST了,仔细对比了源代码,发现可以运行的工程里面修改了驱动,ethernetif.h/.c
这个应该是大概一年前了,记得是在github上看到的,说ST的驱动有bug,现在怎么也找不到原来的那片文章/仓库了
准备再折腾回1.13.0版本看看
不过过了这么久驱动里的bug还没有修改,ST也真是

liuqian 发表于 2023-7-27 11:48:46

TNND还是不行
还是卡在
s = (lwiperf_state_tcp_t *)LWIPERF_ALLOC(lwiperf_state_tcp_t);
if (s == NULL) {
    return ERR_MEM;
}
s返回0
算了,就用回1.10.1吧

zzsczz 发表于 2023-7-27 21:10:36

可以把cubemx扔掉么?

arm cmsis 和mdk的工程向导应该足够了呀

liuqian 发表于 2023-7-27 21:13:45

zzsczz 发表于 2023-7-27 21:10
可以把cubemx扔掉么?

arm cmsis 和mdk的工程向导应该足够了呀
(引用自4楼)

不能用盗版软件,老板舍不得买mdk,只能用这种免费开源的

Himem 发表于 2023-7-27 21:30:45

本帖最后由 Himem 于 2023-7-27 21:36 编辑

用过H750 + IAR + freertos + lwip2.0.3
虽然这芯片用得别扭,倒没发现什么致命问题,测试连续跑过一周,不过 当时我应用场景对性能要求并不高

qwe2231695 发表于 2023-7-28 00:24:05

看我的贴子,一直很稳,H743,H723

三年模拟 发表于 2023-7-28 08:36:35

我一直认为单片机跑lwip需要比较深刻的功力,而且应用场景有限,现在国产芯片都是多核,不要一直在st上面吊死。

akey3000 发表于 2023-7-28 08:55:38

网上较多的帖子说tcp client的时候,lwip不稳定

liuqian 发表于 2023-7-30 12:03:14

qwe2231695 发表于 2023-7-28 00:24
看我的贴子,一直很稳,H743,H723
(引用自7楼)

参照了你的文档,用1.13.0版本的cube ide,程序可以运行,能ping通,但是加了iperf就不行,就是说tcp server不工作。iperf是从lwip v2.1.2的git里面拷出来的lwiperf。

hpdell 发表于 2023-9-19 15:12:29

现在貌似 st 的芯片,价格优势已经不复存在了
页: [1]
查看完整版本: 有没有坛友移植过STM32H723+freertos-plus-tcp