2015-05-16 06:27 AM
Dear Forum,
I bring forth a probably trivial question yet I'm uncertain how to approach it.Using ST STM32F427, RTOS, lwip and sending data over UDP, If I try to send data small than the MTU: e.g: netbuf_ref(buf, dataPointer, 1000);Everything works fine.If the data is bigger then MTU (e.g 4000): 1. I don't see any data being sent (using wireshark). 2. The lwip buffer will ran out (under low_level_output()) after several iterations (ETH_TXBUFNB = 8) In stackoverflow I found this ''solution'':Questions:
1. Can I send data bigger than MTU with Hardware checksum? How? Should I break my data into segments? How can I insert markers into my stream while avoiding unnecessary copy (Write header to tempBuff, copy dataBuff to tempBuff, in low_level_output copy tempBuff to Tx_Buff)2. Is there a zero-copy implementation for Cube? Despite reading/public/STe2ecommunities/mcu/Lists/STM32Java/Flat.aspx?RootFolder=https://my.st.com/public/STe2ecommunities/mcu/Lists/STM32Java/Low%20TCPIP%20transmit%20perormance%20with%20STM32CubeMX%20and%20STM32F429ZG&FolderCTID=0x01200200770978C69A1141439FE559EB459D758000F9A0E3A95BA69146A17C2E80209ADC21¤tviews=585
that the copy time is insignificant it is consumes time and unnecessary memory.3. Any tips for proper system configuration (e.g how much mem to allocate, MEM_SIZE, MEMP_NUM_PBUF) #cube #stm32f4 #lwip2015-05-20 11:55 AM
No lwip large packets tips?