I was wondering if I can change Rx Data Buffer Pointer in RxBD before setting the E bit to 1.
This would allow me to save the buffer I received for later processing avoiding to process it immediately or copy it. I would change Rx Data Buffer Pointer with a new pointer pointing to empty or already used buffer so that the FEC can fill it with new data when it will be its turn.
Roughly when I receive data I cannot process immediately I will malloc a new buffer and I assign its address to Rx Data Buffer Pointer in RxDB.
Of course I won't use a malloc but a memory pool to avoid fragmentation, but the idea is the same.