833|3

7003

帖子

11

TA的资源

版主

楼主
 

【STM32H7S78-DK】测评+ToucGFX之Lwip移植 [复制链接]

本帖最后由 lugl4313820 于 2024-10-1 12:28 编辑

【前言】

lwip是MCU连接网络的基础构件,配置并移植lwip,使得开发板连上网络,是网络开发的最基础步骤,本篇在前面的基础工程上配置lwip,并能成功获取lwip,在界面上展示获取到的IP地址。

【基础工程】

此次基础工程在上面的测评文章的基础上创建。

【STM32H7S78-DK】测评+ToucGFX之FATFS文件系统移植 - stm32/stm8 - 电子工程世界-论坛 (eeworld.com.cn)

【原理图分析】

先分析一下开发板的网络的原理图:

 

原理图上我们可以得知,网络采用LAN8742来连接网络,采用RMII协议来与MCU连接。同时LAN8742外接了25MHz的晶振来提供时钟信号,并通过PD7连接到MCU中。

【图形化配置】

1、打开工程的配置,打开ETH,选择模式为RMII,使能中断引脚,同时使用中断。

 

2、确认ETH的时钟为LAN8742的时钟输入。(注意这里有他的时钟输入本来为25M,但是修改不了)

 

3、在参数配置中,使能中断,优先级为5。

4、确认一下GPIO,并把所有的GPIO修改为VeryHight的通信速度。同时修改PB1为ETH_RMIITXD1,修改好的GPIO如下图所示:

 

 

5、确认一下开发板的JP6的跳线位置,使用RMII时需要把J6跳到PC1上。在用户手册上有介绍:

  6、基本参数保持默认即可。这些参数到时在设置网络地址时需要用到。

 

【LWIP配置】

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

  2、在通用配置中,由于我的路由器有DHCP,所以这里设置为ENABLE,如果没有DHCP服务器,则需要使用固定IP,并在下面设置好IP、网关等配置。

 

2、修改heap大小为4*1024,如果这里设置太小,程序会跑飞。

 

3、配置tcp回调参数如下:

 

4、配置freertos任务栈大小为2*1024字节。

 

其余的参数保持默认即可。

生成工程,并使用MDK打开工程:

【代码添加】

1、在freertos.c中添加#include "cmsis_os2.h"

 

在freertos.c下在StartDefaultTask任务中初始化lwip。

【编译与验证】

编译好后下载到开发板,从路由器中查看所接入的IP为192.168.3.237,使用PING可顺利的PING通

 

【GUI展示IP】

1、在图形界面添加获取IP的text与button

  2、定义自定义函数:

 

3、编写实现函数:

void Screen1View::funShowIP()
{
	Unicode::snprintf(textIpddressBuffer,20,("IP:%d.%d.%d.%d"),((gnetif.ip_addr.addr)&0x000000ff),
								(((gnetif.ip_addr.addr)&0x0000ff00)>>8),
								(((gnetif.ip_addr.addr)&0x00ff0000)>>16),
								((gnetif.ip_addr.addr)&0xff000000)>>24);
	textIpddress.invalidate();
}

4、下载到开发板后,按下button可以获取到IP

 

【总结】

移植lwip的步骤比较简单,主要就是需要手工修改一下堆栈的大小,核对跳线与原理图等。

此帖出自stm32/stm8论坛

最新回复

UUC
果真兴趣才是最大的动力源,才能保持持续的学习力   详情 回复 发表于 2024-10-1 22:55
点赞 关注
 

回复
举报

980

帖子

0

TA的资源

纯净的硅(高级)

沙发
 

学习了,话说国庆假期都不休息的嘛

此帖出自stm32/stm8论坛

点评

每天学习,写作业就是渡假,根本停不下来!  详情 回复 发表于 2024-10-1 21:14
 
 

回复

7003

帖子

11

TA的资源

版主

板凳
 
UUC 发表于 2024-10-1 17:52 学习了,话说国庆假期都不休息的嘛

每天学习,写作业就是渡假,根本停不下来!

此帖出自stm32/stm8论坛

点评

UUC
果真兴趣才是最大的动力源,才能保持持续的学习力  详情 回复 发表于 2024-10-1 22:55
 
 

回复

980

帖子

0

TA的资源

纯净的硅(高级)

4
 
lugl4313820 发表于 2024-10-1 21:14 每天学习,写作业就是渡假,根本停不下来!

果真兴趣才是最大的动力源,才能保持持续的学习力

此帖出自stm32/stm8论坛
 
个人签名

没有特别的幸运,就要特别的努力

 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表