你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32H723+Lwip+ETH+CUBE 完整配置

[复制链接]
STMCU小助手 发布时间:2022-12-16 12:00
开发环境:
适用CUBE版本:STM32CubeIDE 1.9.0 及以上
stm32芯片型号:H723ZET6

一、配置部分
(一)常规配置,RCC和SYS
RCC启用外部高速时钟

682d9955e9cf43a0a65d9b4e456132fc.png

(二)串口

串口的配置和代码实现本文不加以说明

f8c167d859944e54baa895907399183f.png


(三)ETH配置
MAC随意,不必和图中一样

5ea8cef005dd40baafdbecdfed7c3da1.png


(四)LWIP(重点来了)
首先是LWIP的常规配置,设置IP,其他默认。

8d1d230137ec469b994b80d163e9e888.png


排坑一:H723系列不同于H7系列,官方库默认配置是0x30044000,我相信有不少朋友试过:代码编译正常,烧录正常,但是代码一执行就进入Handler。这是因为H723的内存不同于其他H7系列。H723的RAM_D2的地址范围是0x30000000~0x30008000,而其他的H7空间比这个大得多。

ef39f745958b4784bdb3100a262af769.png

然后注意LWIP_NETIF_LINK_CALLBACK(检测网线插拔的)要使能就行,其他配置默认

f53768e37e804931ac641cac44c4cc48.png

排坑二:你实际用的PHY不一定是LAN8742,但官方配置就是默认且必须选择LAN8742,恶心死我了,所以到时要去修改它源码的PHY地址,后面会说到在哪里改。

75303c76a1a8446085c396d2315ff064.png

然后这里也默认就行

4117b0796281493f8dc8704fd96a01c0.png

(五)PHY的复位引脚配置
我看很多教程都没详细写这一步,经常不知道这个复位是哪来的,实际上是必要的,除非硬件上设置了自动复位。设置一个引脚为输出模式,常态高电平。(具体哪个是复位引脚要看你们自己的硬件设计)

269af4c945d54d74b1e7b7e76abf5790.png

并且常态设置为高电平

4534a37853b746ac891621786877ba75.png

(六)MPU配置
排坑三:H7系列的芯片想用LWIP必须配置MPU,而H723的配置与其他H7系列又有些不同,但哪里不同不需要管了,按我下面配置就完事

410bbedee33847fea39d13c5e0d74f78.png

就这两个

94279f8d188a4053aa74ba32c539f1ad.png

(七)时钟树配置
这个没啥好说的,常规操作。

f28a9fe3db8e4049a82fe04119718839.png

(八)生成代码
这里可以改大点

0a5246b5c9cb4bf3a225dd9548e65686.png

然后勾选划分模块

5f51d9a5ab004353a8ebee1b01840af8.png

保存后就可以生成代码了。后面来到代码部分:


二、代码部分
(一)main函数的修改
使能D2SRAM1时钟:

5c020495c3e646a6bea6538a894f09a7.png

后面再加上这几行,清空DVache和PHY复位

33b17d8e956e4b48bf8db8b1c305b39e.png

当然还有MX_LWIP_Process(),加在循环里面

fcc193bfe8e544b196813935cebbb6fe.png


(二) 修改phy地址
因为我用的phy地址是0x1,所以需要修改才能用,在这里修改:

fbb3f33ead9f477a8e413962a5b6127a.png


找到函数LAN8742_Init(lan8742_Object_t *pObj)
在这个位置,强行修改phy的地址为0x1,很不好的是如果重新配置了ioc生成代码,又要重新在这里添加修改

dc68a6399c2f4bea8a802e6ec2d9fc47.png


(三)修改ld文件
很多人都不知道要改这里,少了这里不管怎么样配置都无法正常使用以太网,巨恶心,就是这个文件:

5c78f4fa39cb438da4c8763446d9bd97.png


拉到最下面的这个位置,添加以下代码(目的是将lwip的内存放进RAM_D2里面):

afe96e76510343a4b3ecfe18adae5f17.png

到这里,所有的配置就完成了,可以编译烧录,尝试ping网络:

8ea813603ac14c45aa277d503fe3c800.png

搞定。
————————————————
版权声明:青云客_Hugh


收藏 评论0 发布时间:2022-12-16 12:00

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版