这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » STM32H7S78-DK移植LWIP

共13条 1/2 1 2 跳转至

STM32H7S78-DK移植LWIP

助工
2024-08-11 10:17:15   被打赏 50 分(兑奖)     打赏

1、确认基础工程可以实现printf用来打印日志。

2、确认ETH的时钟配置正确,查看时间树:

 image.png

3、打开ETH,选择模式为RMII,使能中断引脚,同时使用中断。

 image.png


4、确认ETHGPIO引脚,并修改最高输入速度为Very High

 image.png

他在原理图为:

 image.png

注】在开发板使用手册中有介绍,使用RMII时需要把J6跳到PC1上。

image.png 

同时原理图上PB10,在手册上说明是使用了PD4

5、ETH的基本参数如下图所示:

 image.png

他的RXTX的描述符开始地址为0x240200000x24020080,长度为4+4,接收缓冲区地址为0x24020100,有前辈做了一个图,生动的体现了如何来配置这几个地址的。

 image.png

lwip配置】

1、先打开LWIP的配置,使能LWIP,先设置收发硬件为LAN8742

 image.png

2、使能DHCP,配置UDPTCP最大连接数。

 image.png

3、配置内存堆大小为4*1024,地址为0x24040000

 image.png

4、TCP回调配置参数。

 image.png

5、配置TCPIP任务栈大小,这里设置为2*2048字节

 image.png

 

其余配置为黙认就行了。

到此LWIP配置就完成了,详细的配置可以查看开发板的lwip例程。

MPU配置】

mpu配置中添加0x2400000的配置如下:

image.png 

接下来生成MDK工程,栈堆大小设置为0x1000

 image.png

生成工程后,在freertos.c下在StartDefaultTask任务中初始化lwip

 image.png

.sct文件中添加描述符地址。

image.png

验证】

接上网线,在路由器上看到新接入有IP,并使用ping工具,顺利ping通就完成了lwip的移植了。

image.png

【总结】

在STM32H7的LWIP的移植,我差不多用了3天才理清,遇到了不少的坑,一路填坑,今天终于理清了思路。在移植过程中有如下几点经验:

1、先学习一下官方提供的例程,确认硬件无问题。我在下载他的官方示例后,没有成功实现,经过查找问题,发现原理图跟他实际的管脚配置不一样,在论坛上发帖后,技术支持告诉我需要跳线。后来才确认了硬件无问题,也成功的跑通了lwip。

2、对照官方例程的配置进行学习配置,这个开发板的例程只提供了MDK的例子,没有stm32cubeMX的配置文件,因此,我对比了NUCLEO-H7S3L8开发板的例程,根据原理图,重新分配ETH的管脚。LWIP根据他的配置来实现。

3、同时也对照了我原来在stm32H735DK上的配置进行了对比。

4、STM32H7需要掌握MPU的配置,同时也需要.sct文件基础知识,要不然例程还是难看懂的。

 





关键词: STM32H7S     STM32CubeMAX     MPU    

专家
2024-08-11 12:43:11     打赏
2楼

感谢分享


专家
2024-08-11 19:06:36     打赏
3楼

感谢分享


院士
2024-08-12 14:40:37     打赏
4楼

楼主的总结 真不错。好文,赞一下


专家
2024-08-14 18:07:52     打赏
5楼

感谢分享


工程师
2024-08-15 10:11:03     打赏
6楼

666666


院士
2024-08-16 17:30:00     打赏
7楼

谢谢分享。


高工
2024-08-21 22:25:57     打赏
8楼

谢谢


菜鸟
2024-08-30 11:40:43     打赏
9楼

厉害,LWIP算比较难的项目了



专家
2024-09-02 09:57:22     打赏
10楼

感谢分享!


共13条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]