2020-09-08 09:03 PM
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.
2020-09-08 09:23 PM
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.
2020-09-08 09:53 PM
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
2020-09-08 10:12 PM
I am sending UDP packets.
2020-09-08 10:14 PM
Can Dma Automatically divide 14000 bytes in 1400 data bytes of UDP packets and send it over ethernet?