Skip to main content
Visitor II
May 30, 2024
Solved

Ethernet stops working on H7 dual core

  • May 30, 2024
  • 2 replies
  • 2288 views

Hi there!

I 've got a project where i use the STM32H757 dual core (Riverdi 7")

the M7 core

  •  runs freeRTOS with Ethenet (ping and echo OK)

the M4 core

  • runs freeRTOS with ADC  using DMA and some EXTI (working as expected)

When starting the M7 core first and then the M4 core for debugging (AN5361 - STLink GDB Server) the Ethernet connection is interrupted (no successfull ping), when the M4 debug session starts.

 

M4 DMA is set behind the user_heap_stack in the .ld file

 

.dma_buffer :
{
. = ALIGN(8);
*(.dma_buffer)
} >RAM

 

 Cheers!

    This topic has been closed for replies.
    Best answer by STea

    Hello @PGrif.2 ,

    I don't seem to get the way you are setting your regions and sizes in MPU config, and it seem to be you issue. you need to make sure of the size of your regions and have in mind the Memory aliasing happening between CM4 and CM7 to get this right.

    to make sure you are getting the MPU config right check this helpful youtube tutorial.

    regarding the issue with LWIP configuration it will be fixed in the next release.

    2 replies

    ST Employee
    May 31, 2024

    Hello @PGrif.2 ,

    Is this behavior only visible in Debug Mode only? can please also specify the tools version you are using as well as the Ethernet Driver version if you started the project using CubeMX it will help to see the way you configured FreeRtos and the assignment of the LWIP stack as well. Also if you can send a project to help us reproduce this behavior it would be great .

    Regards

    PGrif.2Author
    Visitor II
    June 4, 2024

    Hi @STea !

    The behaviour is also visible in normal start up without a debug probe using just Power over Ethernet.

    HW was purchased in April/May 2024

    • RIVERDI 70STM32H7_REV1.2 
    • FW_H7 V1.11.1

    the tool chain contains of 

    • TouchGFX Designer 4.23.2
    • CubeMX 6.11.1 (at least 3 issues with this program)
    • CubeIDE 1.15.1 Build: 21094_20240412_1041

     

    there are reported (but not solved) issues with the generation of the MX_XXXX_Init() section by CubeMX 6.11.1 

    Re: H7 Riverdi screen adding DMA to M4 core leads ... - STMicroelectronics Community

     

    I will not use the latest FW_H7 V1.11.2 since there are reported issues with the LWIP section

    Re: CubeMX 6.11.1 removes LWIP part of H7 .ioc fil... - STMicroelectronics Community

    Can't enable LWIP on STM32H745 Cortex-M7 only - STMicroelectronics Community

     

    I used Adam Berlingers post How to create project for STM32H7 with Ethernet an... - STMicroelectronics Community (Thank you Adam!) but changed the MPU and ETH values as shown below, since the orginal posted values lead to the same issues as described here.

    M7 settings for Ehternet

    PGrif2_2-1717481529671.png

    M4 settings for ADC to DMA

    PGrif2_5-1717482559987.png

     

    ETH connection

    PGrif2_0-1717481427749.png

    for more details see the attads .ioc and load files.

    Thanks for your help

    Cheers!

    PGrif.2Author
    Visitor II
    June 4, 2024

    CubeMX 6.11.1 fun fact

    The project is taken form the provided TouchGFX Riverdi example and can be build and simulated successfully in TouchGFX Designer,  but when opening the .ioc file in CubeMX 6.11.1 it shows no selected TouchGFX ...

    PGrif2_4-1717482067344.png

    PGrif2_3-1717482035279.png

    ... even when it is in the .ioc file, as shown below on left side. When reselecting and saving in CubeMX it will disapear  from .ioc file as shown below on the right side.

    PGrif2_7-1717483090861.png

    • CubeMX was reinstalled but shows the same behaviour still ...
    • TOUCHGFX 4.23.2 is present on the system
    • all firmware used by CubeMX and CubeIDE is stored at D:\STM32Firmware

     

     

     

    ST Employee
    June 13, 2024

    Hello @PGrif.2 ,

    any updates on this issue?