2023-02-23 11:02 PM
I have a UDP socket for sending and receiving messages. Everything works fine for packets up to a certain size. I see via 'Wireshark' that I can successfully receive packets that get fragmented into at most 4 fragments.
These are the parameters that I think may affect the reception:
ETH_RX_BUFFER_SIZE: 1524
MEM_ALIGNMENT: 4
MEM_SIZE: 32768
LWIP_RAM_HEAP_POINTER: 0X30044000
MEMP_NUM_REASSDATA: 28
MEMP_NUM_FRAG_PBUF: 28
MEMP_NUM_SYS_TIMEOUT: 10
PBUF_POOL_SIZE: 128
PBUF_POOL_BUFSIZE: 1514
IP_REASS_MAXAGE: 60
IP_REASS_MAX_PBUFS: 28
TCP_MSS: 1460
2023-02-24 03:01 AM
TCP_MSS should not matter for UDP.
Check your MCU SRAM layout and compare to your linker script.
H7 has some limits concerning ETH DMA access to SRAM areas, and your LWIP heap with 32kB might cross some border.
2023-02-24 05:18 AM
What do you mean with “check your MCU SRAM�??
This is my linker script:
RAM: ORIGIN = 0x24000000, LENGTH = 512K
FLASH: ORIGIN = 0x08000000, LENGTH = 1024K
DTCMRAM: ORIGIN = 0x20000000, LENGTH = 128K
RAM_D2: ORIGIN: 0x30000000, LENGTH = 512K
RAM_D3: ORIGIN: 0x38000000, LENGTH = 64K
ITCMRAM: ORIGIN: 0x00000000, LENGHT = 64K