cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H735 ADC DMA Ethernet memory issue

EzraKrause
Associate

Hi

I have implemented ADC1 on a DMA and verified its operation. I then implemented the ethernet stack and verified that it can be pinged. The issue I'm having is that the ADC DMA stops working once the ethernet stack is implemented.

 

I believe the error might be within the memory assignment within the MPU and the DMA memory allocation. I've gone through quite a few forum posts but still have no success.

 

Any assistance on how to configure these would be greatly appreciated.

 

Regards

Ezra

 

1 ACCEPTED SOLUTION

Accepted Solutions
EzraKrause
Associate

Thanks for the info guys. I'm responding a bit late, but I was able to get it working by allocating memory to both the ADC and TCP related buffers in the linker file. The MPU still need some work, but I'll fix this in the future.

View solution in original post

4 REPLIES 4
Imen.D
ST Employee

Hello @EzraKrause and welcome to the Community :)

Did you try to follow the configurations according to these articles:

Please take a look on Ethernet example and check the following posts detailed problems and solutions:

 

Thanks 

Imen

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen
SofLit
ST Employee

Hello,

First, double check the boundaries of your memory used by the ETH stack and the ADC-DMA

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.
EzraKrause
Associate

Thanks for the info guys. I'm responding a bit late, but I was able to get it working by allocating memory to both the ADC and TCP related buffers in the linker file. The MPU still need some work, but I'll fix this in the future.

Hello!

I'm experiencing this exact same issue with a STM32 H723ZG board. I successfully implemented the ADC collecting data just fine. As soon as I integrated the ETH and LWIP components (which worked), suddenly the buffer used by the ADC was no longer getting populated (despite the "complete" callback being invoked).

Our ETH buffers were in SRAM1, which was far away from our DMA buffer for the ADC (which was declared in our application variable space).

What was your solution to this issue?  Can you provide some example code and/or Flash.id examples that you used to address your problem?