Skip to main content
Graduate II
April 2, 2025
Question

USING Ethernet Nucleo-h743zI2

  • April 2, 2025
  • 3 replies
  • 1050 views

HI everyone (:

Im pretty new and im looking for a way to use ethernet on my Nucleo-h743zI2 board.

I Want to be able to send/recieve  "raw" packets from my board and to the pc through ethernet .

Im using the last version of Stm32cube ide

- 1.18.0.  And the last version of mx - 6.14.0

And the STM32CubeH7 - 1.12.1

I saw this long post: 

https://community.st.com/t5/stm32-mcus/how-to-create-a-project-for-stm32h7-with-ethernet-and-lwip-stack/ta-p/49308

 

And this example: 

https://github.com/stm32-hotspot/STM32H7-LwIP-Examples/tree/main/STM32H743_Nucleo_ETH

 

Is it still valid for the current ide and mx versions? 

And maybe there is more simple example or refernces that I can look into? 

- Whats the best way to try and run an example that is valid for my versions? 

 

Thanks alot, 

Ariel

 

 

    This topic has been closed for replies.

    3 replies

    Super User
    April 2, 2025

    Yes basically this is the situation.

    For sending raw packets: unfortunately ST does not provide examples (AFAIK) but you just can start from a simplest LwIP UDP example and drop the LwIP, leave just the ETH and PHY related code.

    Of course you can request a custom example, made just for your goal, here.

     

    Ariel1Author
    Graduate II
    April 2, 2025

    You think the example will still work with the new versions?

    Or there will be many issues? (e.g memory mapping).

     

    Do you have good resources to read about the background knowledge to be able to have a good understanding of the example?

     

    Thanks alot for your quick response. 

    Super User
    April 2, 2025

    The updated examples, aligned with current version of the STM32H7 "HAL" and the ETH driver, are available here: https://github.com/stm32-hotspot/STM32H7-LwIP-Examples

    You can skip the long reads (as you're going to drop the problematic LwIP layer anyway) and start from one of these examples. The only hitch is that (for historic reasons) the RTOS-less or 'bare metal' examples used the ETH API variant with polling, and RTOS based examples use interrupt variant (_IT). The former variant seems deprecated now. But we just can use the interrupt variant without RTOS as well.

    Same about ThreadX/NetX based examples. If you plan to use a RTOS anyway, choose your RTOS and examples developed for it. A small focused ETH test can be done without any RTOS.

    About resources: start from quick review of the STM32 reference manual (RM)  on the ETH. The ETH module itself (the IP) is from Synopsys/Designware. Its relatives are very common in other SoC designs, including STM32MP family. The Linux driver for this IP is even known as "stmmac". ("dw" filenames are for Designware)

    @Adam BERLINGER  ?

    Ariel1Author
    Graduate II
    April 6, 2025

    Hi thanks!

    Im trying to generate the code from the same mx version that used in the example:
    MxCube.Version=6.5.0

    And getting the following warning:

    Ariel1_0-1743976686725.png

     

    Ariel1_1-1743976763682.png

    Ariel1_2-1743976774461.png

     

    Can i just ignore it?

    Ariel1_4-1743976928836.png

     

    Ariel1_3-1743976809273.png


    Thanks alot!

    Super User
    April 7, 2025

    Hi,

    Sorry if the explanations were not clear enough. When you use a ready example - just build the example _as is_ and run it.   Cube is not yet known to generate a project with ETH that work without manual editing :(

    It is more complicated that it should be :(

     

    Ariel1Author
    Graduate II
    April 7, 2025

    Thanks alot Pavel, 

    Do you mean i need to ignore the MxCube Orange/Red warnings and just try to build it as it is?

     

    I  tried with the new versions of HAL and IDE and no luck): 

    I will try with the specific versions again): 

    Is it possible to download 2 different ide versions? 

     

    Its so complicated to run a simple example):