cancel
Showing results for 
Search instead for 
Did you mean: 

Ethernet with Nucleo-144 STM32F746GZ did not work with STM32CubeIDE 1.10.1 and STM32F7 library 1.70.1. The CubeMX is 6.6.1.2.

Riscy
Senior

The Nucleo-144 F746GZ board worked fine with legacy Ethernet FW from System Workspace (as well as demo FW from System Workspace). I have added PG12 for Phy Reset however I am unable to get ethernet up via a twisted ethernet connection to the laptop. I was able to ping via legacy FW but not the Cube FW which I'm working on. I have Wireshark which APR broadcast did not occur with IP:192.168.41.7 / SN: 255.255.255.0 / DA:192.168.41.2. I have tried for many days and could not get it working.

I currently using STM32CubeIDE 1.10.1 and STM32F7 library 1.70.1. The CubeMX is 6.6.1.2. I'm familiar with Ethernet HAL Driver upgrade.

Attached.

Please help.

16 REPLIES 16

Yes, I just have the H74x Nucleo board. I'm giving a crack at it later on. They are useful boards to experiment with many things. However, I am more interested in F7.

So you made a custom ETH driver from HAL?

No guarantee it's working...

There's still some bug somewhere.

TCP is streaming for long time (up to hours) from SAIs to PC at 25.6 Mbit/s, Http is working, but every now and then something's stuck.

So please tell me if you find a problem.

And I share it because it's stolen from everywhere around the web anyway. ;)

Thank I take a look

Pavel A.
Evangelist III
Riscy
Senior

STM32Cube_IDE Version: 1.11.0

STM32 CubeMX: Version 6.7.0-RC2 

After downloading the updated version and having another go with the STM32F746 Eval board and ethernet finally worked correctly. I have implemented UDP Server and successfully echo short and long messages. Good work!!.

I was attempting to implement the DHCP protocol via CubeMX, but it did not work. I'm open to suggestions. Is there additional code to be implemented?

What the best way to do performance testing under UDP and TCP?

Hi @Community member​ ,

I'm glad to hear that your initial problem was resolved after downloading updated tools versions.

For DHCP implementation there's some modifications on generated code that should be taken into consideration :

  • Placement of the RX_POOL buffers via #pragma location
  • Relocate the LwIP RAM heap pointer on the lwipopts.h file

Also ensure that LwIP parameters are well sized.

You could refer to the readme available here for LwIP configuration.

If you don't have to work with LwIP and FreeRTOS, there's various TCP/IP applications with NetXDuo and ThreadX available (links below) and maintained through regular maintenance releases :

TCP application, UDP application , iPerf application are developed under STM32F767ZIxx and can be easily tailored to any other supported device and development board.

I hope my answer helps.

Regards

Mahdy