使用RL库,从DP83848移植到LAN8720A的问题。
使用STM的429芯片,现在想使用keil自带的RL-TCPNet,它默认支持的是DP83848芯片,而我的板子上是LAN8720A,以前从DP83848转成DM9161就很简单,只需要改几个寄存器的定义和地址,但是这次改了就不行,现在以太网灯闪烁正常,可是收发数据不行。(板子是好的,我用lwip就通讯都正常。)
请指教,多谢多谢!
//LAN8720 PHY
//#define PHY_SR ((uint16_t)31)//LAN8720μÄHY×′쬼Ä′æÆ÷μØÖ·
//#define PHY_SPEED_STATUS ((uint16_t)0x0004) //LAN8720 PHYËù¶èÖμÑúÂë
//#define PHY_DUPLEX_STATUS ((uint16_t)0x00010) //LAN8720 PHYᬽó×′ì¬ÖμÑúÂë
// The DP83848 PHY status register
#define PHY_SR ((uint16_t)0x10) /* PHY status register Offset */
#define PHY_SPEED_STATUS ((uint16_t)0x0002) /* PHY Speed mask */
#define PHY_DUPLEX_STATUS ((uint16_t)0x0004) /* PHY Duplex mask */
不好意思楼主,刚发现这里还有一个问题。:handshake
这样的话,建议直接使用我们TCPnet教程中给的驱动,驱动里面在关键的几个地方做了打印,你看看你那里是否正常。 请问现在楼主搞通了吗 sanit 发表于 2019-1-15 19:20
请问现在楼主搞通了吗
你遇到了什么问题,开个帖子,找我交流就行:handshake eric2013 发表于 2018-5-29 19:19
不好意思楼主,刚发现这里还有一个问题。
这样的话,建议直接使用我们TCPnet教程中给的驱动, ...
Eric,您好!
我也遇到类似问题,板子是LAN8720A,程序跑几个小时后,卡在发送这里:
/* 等待上一帧数据发送完成 */
while (Tx_Desc.CtrlStat & DMA_TX_OWN);
应该是哪里没有配置好,您有没有做LAN8720A的兼容 也许在明天 发表于 2019-7-24 22:32
Eric,您好!
我也遇到类似问题,板子是LAN8720A,程序跑几个小时后,卡在发送这里:
/* 等待上 ...
LAN8720A我还真没。 也许在明天 发表于 2019-7-24 22:32
Eric,您好!
我也遇到类似问题,板子是LAN8720A,程序跑几个小时后,卡在发送这里:
/* 等待上 ...
是不是程序运行开始,PHY芯片没有复位呢? Nesayx 发表于 2019-7-25 10:56
是不是程序运行开始,PHY芯片没有复位呢?
用的是外部引脚复位,现在我也改为使用设置寄存器来复位;但有个问题,都跑了好几个小时,才出现;而且跟电脑还有关系,接不通的PC机测试,最后卡的时间还不一样,高配置的电脑,运行10天都正常 eric2013 发表于 2019-7-25 00:30
LAN8720A我还真没。
看来后续还是使用您开发板上推荐的芯片比较靠谱,这个主要是别人的板子,所以没办法要求;不过认真查看了LAN8720A的寄存器,其实都差不了多少 本帖最后由 Nesayx 于 2019-7-25 11:45 编辑
也许在明天 发表于 2019-7-25 11:13
看来后续还是使用您开发板上推荐的芯片比较靠谱,这个主要是别人的板子,所以没办法要求;不过认真查看了 ...
可以先测试下不建立任何socket ,然后PING几天试试,看看是不是有错误的TCP包导致的,我之前也遇到过CLOSE SOCKET一直不成功的现象如果PING一直通,那应该是socket某些地方没有处理好,如果PING有问题,就得再继续排查了
Nesayx 发表于 2019-7-25 11:42
可以先测试下不建立任何socket ,然后PING几天试试,看看是不是有错误的TCP包导致的,我之前也遇到过CLOSE ...
好的,多谢指点:handshake 也许在明天 发表于 2019-7-25 14:39
好的,多谢指点
我用的F429+LAN8720 ping了两天左右没有丢包的现象,延时最高47ms,中间经过一台交换机,无跨网段,我估计是你的其他的东西出错了,最好在出错的机子上一边测一边wireshark抓包,丢包后看看对应的最后一条是怎么回事 Nesayx 发表于 2019-7-27 10:07
我用的F429+LAN8720 ping了两天左右没有丢包的现象,延时最高47ms,中间经过一台交换机,无跨网段,我估 ...
lan8720a那部分的驱动,能发下参考不:) 我用的CMSIS Driver的,你那个应该是以前的RL-net 我用的是V7应该不一样,你想看可以到X:\Keil_v5\Packs\ARM\CMSIS-Driver\2.4.0\ETH下找PHY文件,都一样的
页:
[1]