硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1189|回复: 16
收起左侧

[以太网] LAN8720初始化不过

[复制链接]

75

主题

685

回帖

910

积分

金牌会员

积分
910
发表于 2023-3-27 17:07:43 | 显示全部楼层 |阅读模式
STM32H743VGT6+LAN8720,硬件软件复位后,正常读取ID,初始化后读取特殊寄存器判断连接状态,一直是LinkDown,有大佬遇到过吗?
回复

使用道具 举报

0

主题

215

回帖

215

积分

高级会员

积分
215
发表于 2023-3-27 21:34:05 | 显示全部楼层
MII还是RMII, 看对应的信号的时钟正常不正常呢。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106826
QQ
发表于 2023-3-28 00:46:54 | 显示全部楼层
除了楼上坛友的问题,还要一个重要问题,你的复位是IO单独控制的还是和MCU的公用,不管那种玩法,复位后等待1秒再操作试试是否正常。

另外就是RMII所涉及到GPIO速度等级设置为low操作试试。


回复

使用道具 举报

3

主题

1223

回帖

1232

积分

至尊会员

积分
1232
发表于 2023-3-28 08:36:59 | 显示全部楼层
相关GPIO管脚,速度等级初始化为Low,是ST的Bug吗 ?
回复

使用道具 举报

75

主题

685

回帖

910

积分

金牌会员

积分
910
 楼主| 发表于 2023-3-28 09:04:55 | 显示全部楼层
regbbs 发表于 2023-3-27 21:34
MII还是RMII, 看对应的信号的时钟正常不正常呢。

RMII,时钟正常的。读寄存器也是OK的
回复

使用道具 举报

75

主题

685

回帖

910

积分

金牌会员

积分
910
 楼主| 发表于 2023-3-28 09:05:28 | 显示全部楼层
eric2013 发表于 2023-3-28 00:46
除了楼上坛友的问题,还要一个重要问题,你的复位是IO单独控制的还是和MCU的公用,不管那种玩法,复位后等 ...

复位单独控制。我等待1S试试
回复

使用道具 举报

75

主题

685

回帖

910

积分

金牌会员

积分
910
 楼主| 发表于 2023-3-28 16:16:59 | 显示全部楼层
eric2013 发表于 2023-3-28 00:46
除了楼上坛友的问题,还要一个重要问题,你的复位是IO单独控制的还是和MCU的公用,不管那种玩法,复位后等 ...

复位后等待1S问题解决了,但是有个新问题、协议栈用的NetxDuo。连接的时候不能使用IROM2(ADDR:0x8100000 SIZE:0x80000),否则协议栈无法正常工作,ping都过不了,这是芯片BUG吗?另外能ping通之后,偶尔对丢一两包ping过程的数据包,是不是协议栈我没有移植好。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106826
QQ
发表于 2023-3-29 00:44:54 | 显示全部楼层
morning_enr6U 发表于 2023-3-28 08:36
相关GPIO管脚,速度等级初始化为Low,是ST的Bug吗 ?

降低布线效果不是特别好时的干扰。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106826
QQ
发表于 2023-3-29 00:47:24 | 显示全部楼层
庄永 发表于 2023-3-28 16:16
复位后等待1S问题解决了,但是有个新问题、协议栈用的NetxDuo。连接的时候不能使用IROM2(ADDR:0x8100000  ...

使用IROM2(ADDR:0x8100000 SIZE:0x80000)怎么理解,是程序超过了1MB后进入这个地址,还是将这个地址区做app了。

丢包和ping不通也有可能是MPU/Cache配置问题。
回复

使用道具 举报

75

主题

685

回帖

910

积分

金牌会员

积分
910
 楼主| 发表于 2023-3-29 00:58:31 | 显示全部楼层
eric2013 发表于 2023-3-29 00:47
使用IROM2(ADDR:0x8100000 SIZE:0x80000)怎么理解,是程序超过了1MB后进入这个地址,还是将这个地址区做a ...

工程默认勾选了片上FLASH,一共块,第一块地址0x08000000,第二块地址0x08100000。需要取消勾选第二块才会ping的通。默认如图
1680022559326.png
回复

使用道具 举报

75

主题

685

回帖

910

积分

金牌会员

积分
910
 楼主| 发表于 2023-3-29 01:10:07 | 显示全部楼层
本帖最后由 庄永 于 2023-3-29 01:16 编辑
eric2013 发表于 2023-3-29 00:47
使用IROM2(ADDR:0x8100000 SIZE:0x80000)怎么理解,是程序超过了1MB后进入这个地址,还是将这个地址区做a ...

我这边将收发缓存和收发描述符定义在D2域SRAM3,这部分的SRAM设置为如下图。这样设置应该没问题把,我看大佬的好像也是这么设置的。
67bd1920a7d5e20d8423287ee94bb94.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106826
QQ
发表于 2023-3-29 11:09:24 | 显示全部楼层

QQ截图20230329110857.png
回复

使用道具 举报

75

主题

685

回帖

910

积分

金牌会员

积分
910
 楼主| 发表于 2023-3-29 22:20:31 | 显示全部楼层

硬汉大佬。VGT6的FLASH只有1M,分成了各512K的两块,起始地址没有找到资料查询。但是CubeMX创建的工程分了两块,每块512K,起始地址分别是0x8000000和0x8100000。直接改成2M。会不会出问题。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106826
QQ
发表于 2023-3-30 10:34:41 | 显示全部楼层
庄永 发表于 2023-3-29 22:20
硬汉大佬。VGT6的FLASH只有1M,分成了各512K的两块,起始地址没有找到资料查询。但是CubeMX创建的工程分 ...

是你这样的,H743是双bank的。
回复

使用道具 举报

75

主题

685

回帖

910

积分

金牌会员

积分
910
 楼主| 发表于 2023-3-30 11:43:40 | 显示全部楼层
eric2013 发表于 2023-3-30 10:34
是你这样的,H743是双bank的。

按道理即使这样也不应该影响功能呀,把第二块也勾选使用的时候莫名其妙的网络这块就通不了了。代码量目前也不大,编译出来才200K不到
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2023-11-20 09:14:11 | 显示全部楼层
大神你调试通了吧?可以分享一下吗?多谢多谢
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106826
QQ
发表于 2023-11-22 08:16:15 | 显示全部楼层
258258beijing 发表于 2023-11-20 09:14
大神你调试通了吧?可以分享一下吗?多谢多谢

驱动有的。

分享修正版RL-TCPnet V7.X和LwIP的LAN8720驱动,符合CMSIS-Driver驱动规范,适用于所有STM32系列(V1.1修正版)
https://www.armbbs.cn/forum.php?mod=viewthread&tid=103359
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-6 05:58 , Processed in 0.347245 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表