Hi all, I'm working with Ethernet on an STM32F745IETx and with a project configured using STM32CubeMX. We're using an RMII interface to a chip that supports three Ethernet ports. I've tested pass through between the other two ports and found that it passes traffic. I've stepped through the initialization code for the ETH IP and it seems to be working in that it can detect link up. (With DHCP configured in LwIP it does not try to send the DHCP message unless the link is up.)
I stepped through the code that sends the DHCP message and at first glance it appears to be doing what it needs to be doing. I never see any outbound messages form the ST processor.
One thing I'm looking at is the ETH_TX_EN bit (PB11, pin 80 on our package.) It is high at reset and goes low as soon as the system is initialized. I never see it go high after that. I have stepped through the code that initializes the ETH registers and I see where it sets MACCR->TE which is described as "transmitter enable." but the output does not change. What have I overlooked that would cause this? Does the TE bit in the MACCR map directly to the output pin or does some other condition cause that to go high?
I have also reviewed the settings in STM32CubeMX and find the advanced settings baffling. For example "PHY Reset" has a value of 0x8000 and the description suggests it must be between "0x0 and 0xffff" which tells me nothing. Is there a description somewhere that relates these settings to device registers or something a little more meaningful?
Pointers to an application note would be most welcome!