cancel
Showing results for 
Search instead for 
Did you mean: 

Hi, I'm using STM32H745I-DISCO board and I'm not able to receive packets bigger than a certain size.

WGril.1
Associate II

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

2 REPLIES 2
LCE
Principal

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.

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