2025-02-12 04:42 PM
Hello,
I started a new project using the H743, ethernet, LAN8742 and NetXDuo (on one of our custom boards). Its a very simple project that initializes the hardware, initializes AzRtos, ThreadX, and NetXDuo, and starts TCP, UDP, and ICMP. This project is just a base (Starting point) for much bigger projects. When connected to the network, i can ping the board, it can either use a static IP or the DHCP client.
The strange part is that the software works when the clock configuration is set to 400MHz. If I try to set it to 480MHz, NetXDuo doesn't receive any packets from the network. At 480MHz, the phy is working properly and it detects (prints a line) stating the status of the ethernet cable (plugged in / unplugged). The phy is sending a 50mhz clock to the H743, so I don't understand why the MCU works at 400 but not 480. Anyway, I've been pulling my hair out trying to figure out why it doesn't work. Everything in the Clock Configuration looks ok and CubeIDE does not complain about any of the values entered. Does anyone have any clue or suggestions as to why it doesn't work at 480MHz?
Thanks
Matthew
Solved! Go to Solution.
2025-02-13 08:48 AM
1- I don't understand ST dies... if it has a different memory size, how could it have the same die?
2- I found stock on STM32H745I-DISCO, but that board uses LAN8740. I'm not sure what we are trying to accomplish here... my board uses the H743 with LAN8742.
If I get this board, what is my objective - or what are we supposed to test?
2025-02-13 08:53 AM - edited 2025-02-13 09:11 AM
1- Yes they are the same die. The disabled features are physically present on the die but disabled in the factory.
2- To test your example on one of the ST boards to discard any hardware issue coming from your custom board.
Sorry for proposing H750 disco I thought it was using LAN8742!
2025-02-14 07:37 PM
Hi @mƎALLEm
I ordered multiple boards, but i'm not sure when they will arrive since they are backordered from ST.
Attached is the project code that works at 400MHz, but fails at 480MHz on the STM32H743XIH6. The code was generated automatically by the STM32CubeIDE, there is no user code in the project. Basically, it loads Azrtos / NetXduo and then sits in an infinite loop doing nothing. If you connect the LAN to a pc, you should be able to ping 192.168.1.10. This works at 400mhz, fails at 480mhz. I can only try it on one of your development boards when it comes in.
The version of the chip is 0x2003 (V).
The STM32CubeIDE automatically sets the chip type to “v” and sets the appropriate “Power Regulator Voltage Scale” after changing the system clock in the IDE clock configuration.
Can ST re-test the results from errata ES0392 2.2.20? We also have noticed erratic memory behavior/errors at the higher speeds. We tested this on 16 prototype boards, all giving the same results.
Let me know if you have similar results.
thanks
Matthew
2025-02-15 09:34 PM
Hello,
Ok, we found the problem. At 400 Mhz the ethernet runs without issue, at 480MHz it doesn't work at all. When we increased the pin drive on all the ethernet pins, it started to work at 480mhz. Not sure why this happens since the RMII interface runs from the same 50MHz phy clock.
Thanks for the multiple responses and help
Matthew