cancel
Showing results for 
Search instead for 
Did you mean: 

How can I transfer large amount of data on Ethernet using dma on STM32H743?

Akash_k
Associate III

I am working on STM32H7 mcu. I have 14000 bytes of data and I am sending it over Ethernet in packets of size 1400 each. I want to transfer these 14000 bytes in only 45 µsec which I am unable to because i had to wait for each packet sent. How can I dump complete 14000 bytes on Ethernet dma so that I can free the CPU for other tasks.

4 REPLIES 4

Raw Ethernet or TCP/UDP packets?

Pretty sure the mechanics don't work the way you imagine, likely to need to stitch things together at the packet boundaries (advance pointers, shrink remaining count), or create some scatter-gather list.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

The DMA in ETH *is* scatter/gather, but unless raw Ethernet, data would need to be moved manually anyway, to leave space for the headers.

It's better to think about it in advance, and create data already in those chunks.

JW

I am sending UDP packets.

Can Dma Automatically divide 14000 bytes in 1400 data bytes of UDP packets and send it over ethernet?