qwerttt 发表于 2023-12-15 23:01:50

LWIP移植,以太网芯片CH390

本帖最后由 qwerttt 于 2023-12-15 23:05 编辑

最近研究LWIP移植和应用,手头用的是淘宝买的GD32F103VC核心板,CH390模块

LWIP版本2.2.0,mdk5.23环境,使用了RTT nano,参考了CH390官方提供的LWIP裸机移植,野火的LWIP应用开发指南

做了个简单的mqtt连接OneNet平台的例子:每2分钟上报一次温度湿度,接收服务器下发的消息,每50秒ping一次服务器

使用了mqtt开源包和jsmn,调试的截图:

不过也有些不足的地方,lwip网卡驱动里面ethernetif.c的low_level_input函数,会出现pool池没有空间分配了,输出了"pbuf_alloc failed",但在裸机移植并没有出现分配失败的情况,不知道为什么了
后来发现好像没什么影响,就把输出信息注释

上传工程代码

liao-ljj 发表于 2023-12-16 09:47:45

不错不错....学习了。

akey3000 发表于 2023-12-16 09:57:15

lwip内存管理是个问题,连公网很容易挂了

qwe2231695 发表于 2023-12-16 11:59:05

同意: lwip内存管理是个问题,连公网很容易挂了。 或者再大局域网内,有很多ARP包和广播包。

建议关闭LWIP的内存分配

dukelec 发表于 2023-12-16 12:11:44

ipv6 整上。。。

akey3000 发表于 2023-12-16 13:28:05

qwe2231695 发表于 2023-12-16 11:59
同意: lwip内存管理是个问题,连公网很容易挂了。 或者再大局域网内,有很多ARP包和广播包。

建议关闭LWI ...
(引用自4楼)

百度lwip+死机,能在csdn上搜一堆文章出来。用好lwip不容易。据说esp32的跑的freertos+lwip,不知道做了什么优化。

zzsczz 发表于 2023-12-16 15:09:34

ch390接线图呢?

并口 还是spi?

qwerttt 发表于 2023-12-16 15:32:29

zzsczz 发表于 2023-12-16 15:09
ch390接线图呢?

并口 还是spi?
(引用自7楼)

SPI
没有接线图了,杜邦线连一起而已
CH390硬件还是比较简单,我都没有问淘宝卖家要模块的原理图
这个是官方的原理图,官网都有的

三年模拟 发表于 2023-12-16 15:54:38

其实就是单片机内存太小,导致lwip不稳定,这么小的内存单片机想用网络,实现复杂功能,本来就不是最优方案,头铁的无所谓

gnail092 发表于 2023-12-17 07:14:04

本帖最后由 gnail092 于 2023-12-17 07:15 编辑

akey3000 发表于 2023-12-16 09:57
lwip内存管理是个问题,连公网很容易挂了
(引用自3楼)

请教下,一般除了路由器WAN口连接公网,带以太网口的设备不都是在局域网内的吗,无线蜂窝才会直接连接公网吧。另外内存管理是不是指动态分配内存有问题,用内存池静态内存是不是就可以了
页: [1]
查看完整版本: LWIP移植,以太网芯片CH390