cancel
Showing results for 
Search instead for 
Did you mean: 

Ethernet stops working on H7 dual core

PGrif.2
Associate III

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!

1 ACCEPTED SOLUTION

Accepted Solutions

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.

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

View solution in original post

5 REPLIES 5
STea
ST Employee

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

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

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!

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

 

 

 

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.

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
STea
ST Employee

Hello @PGrif.2 ,

any updates on this issue?

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.