Thanks for these config files. Just a few remarks, and one might be essential for your project:
#define ipconfigNUM_NETWORK_BUFFER_DESCRIPTORS 60
/* For later: you declare 60 buffers for network packets.
If you looking for RAM space, you might want to decrease this to e.g. 20 */
#define ipconfigUSE_TCP_WIN ( 0 )
/* This means that TCP will not use sliding windows.
That is a good choice (less code, less RAM), unless you want fast
TCP transmission. */
#define ipconfigPACKET_FILLER_SIZE 2
/* ipconfigPACKET_FILLER_SIZE has a value of 2 by default.
Can be taken away here. */
#define ipconfigBUFFER_PADDING 8
/* Defining ipconfigBUFFER_PADDING might cause an alignment problem,
which might cause an exception.
Can be taken away here. */
Network packets are stored in an array of unsigned bytes. The first byte must be aligned at a (4-byte) word plus 2 bytes. That has to do with the alignment of 4-byte IP addresses.
The Ethernet Header has 14 bytes, which is 3 words plus 2 bytes. So the IP- and other headers will get well aligned.
See also here.
In fact I have not seen a project that needed to change the value of the two macro.s
So if you take away ipconfigBUFFER_PADDING
, things might go better, I hope.