STM32H743以太网RMII调试问题及解决方法汇总

本文详细记录了STM32H743在以太网RMII模式下遇到的四个关键问题:发送数据不出、对方接收不到、DMA接收中断失效和DMA中断频繁。通过对IP179芯片的了解和寄存器的调试,总结了解决方案,包括初始化顺序、Target IRAM2设置、中断处理等要点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

标题STM32H743以太网RMII调试问题及解决方法汇总

了解IP179芯片

我使用IP179的此应用形式,是8 port+1 RMII,其中RMII和MCU是通过MAC通信的,PHY1不能使用。
在这里插入图片描述
应用形式对应的接线关系如下。
在这里插入图片描述
调试过程中发现743可以发送出数据,但对方收不到,且监听广播包也没有743发送的包,技术支持说硬件的TEST1\0管脚不要接地,悬空即可。修改硬件后可以监听到743的广播包,原因未知。
在这里插入图片描述

问题1:通过发送描述符DESC0查询DMA发送缓存地址的数据,数据正常,但发送不出去。

解决:debug底层HAL_ETH_Transmit()函数发现等待DMA发送timeout了,查STM32H743 DMA 的DMADSR debug状态寄存器,发现DMA发送停止工作,接收描述符挂起。调试HAL_ETH_Start_IT()发现返回BUSY错误,导致DMA并未使能收发。这是由于IP179未初始化就进了HAL_ETH_Start_IT()函数,需要先将IP179初始化再通过HAL_ETH_Start_IT()函数启动以太网数据传输。
注意:IP179初始化函数被调用的位置最好和开发板例程相同,否则也会出现问题1,这是因为初始化顺序被打乱,会影响各寄存器配置。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值