Some time ago I had some significant and greatly appreciated assistance from @htibosch to get the +TCP stack up and running on SAME70 MCU. The stack worked exactly as desired (with the exception of DCache support, which I never got around to addressing). However, following various use case analyses and longer term testing, I’ve determined that the use of a TCP-based approach is overkill for my particular application and contains far too much overhead.
For a bit more context, I’m looking to interface an MCU with a co-processor (a Cortex-based core) on the same PCB. Both the MCU and the co-processor have a PHY, each connected directly to each other via traces (i.e. no connectors, magnetics, etc.). As this is a ‘direct’ connection, I’d ideally like to use it as some sort of DMA-based buffer mechanism, whereby a raw ethernet frame (i.e. below the IP layer) is sent by one and received by the other.
My initial question is this: do I need the +TCP suite for this? I’m looking for the lowest possible overhead to allow for the highest possible throughput. The actual structure of my custom protocol (i.e. the use of metadata to be sent with the payload) will be constructed once I know how to shift the raw data out of the MCU without relying on the IP (and TCP) stack. My intention would be to obviously use a DMA approach to minimise MCU processing as much as possible.