You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Further reading seems to suggest that this is only the case when using BufferAllocation_2.c. A page titled TCP/IP Stack Network Buffers Allocation Schemes explains that allocation scheme 1 uses static allocations and scheme 2 uses dynamic allocations.
I'm also left wondering precisely why heaps 1, 2 and 3 do not satisfy the requirements of BufferAllocation_2.c. I suppose this allocation scheme benefits from free-space coalescence, but that's a guess. It is possible that the above statement was written before there was the option of using static memory allocation, and is now out of date. This could suggest that the TCP/IP stack also does not strictly require free-space coalescence.
Could I ask that the documentation around this is revised?
@omarandlorraine Indeed. Dynamic allocation is currently required for FreeRTOS+TCP. Until this is addressed in the library, one alternative to a traditional heap allocator would be to use a memory-pool based allocator which can ensure that heap fragmentation does not occur.
BufferAllocation_1 indeed allows one to statically allocate packet buffers but this is not the only type of memory needed by the FreeRTOS+TCP stack.
Describe the issue
The page titled Adding the TCP/IP Source Files to an RTOS Project contains this statement
Further reading seems to suggest that this is only the case when using
BufferAllocation_2.c
. A page titled TCP/IP Stack Network Buffers Allocation Schemes explains that allocation scheme 1 uses static allocations and scheme 2 uses dynamic allocations.I'm also left wondering precisely why heaps 1, 2 and 3 do not satisfy the requirements of BufferAllocation_2.c. I suppose this allocation scheme benefits from free-space coalescence, but that's a guess. It is possible that the above statement was written before there was the option of using static memory allocation, and is now out of date. This could suggest that the TCP/IP stack also does not strictly require free-space coalescence.
Could I ask that the documentation around this is revised?
Reference
Adding the TCP/IP Source Files to an RTOS Project
TCP/IP Stack Network Buffers Allocation Schemes
Screenshot
If applicable, please attach screenshot.
Browser
The text was updated successfully, but these errors were encountered: