Reputation: 21
I use LWIP on a STM32H7 custom board. I send command from a PC using Hercules I use TCP, my stm32 is a server
Board receives commands and parses them out. After I sent 16 commands, on the 16th command, pbuf_chain is called. On the first 15 commands tcp_server_handle is called.
I use the example in enter link description here I have MEMP_NUM_PBUF set to 16 and MEMP_NUMTCP_SEG set to 16. Tried to increase these parameters, didn’t help.
First time Isend a command of 7 bytes, Hercules gets response of 12 bytes (from stm32 board, no issue here)
Then send command CmdA of 102 bytes, Hercules gets response of 12 bytes, no issue here.
Then send another command CmdB of 102 bytes, Hercules gets response of 12 bytes, no issue here.
Send command 7 bytes, Hercules Hercules gets response of 12 bytes
Then send command CmdA of 102 bytes, Hercules gets response of 12 bytes
…
Then send command CmdA of 102 bytes, Hercules gets response of 12 bytes, no issue here.
send command CmdB of 102 bytes, STM32 does not respond but command is put in a chain (pbuf_chain is called in tp_server_recv)
I attached LWIP key settings….
Why the 16th command is queued in the chain and not processed. thanks
Upvotes: 0
Views: 127