Hi,
I'm trying to reduce the RAM consumption of ETH_LWIP.
Could anyone suggest some reasonable reductions, from the settings below ?
I inherited the settings from the Infineon DAVE example project for Modbus TCP.
Modbus TCP, and the occasional ping, is what we are using ETH_LWIP for.
So I have always been rather hesitant to change any of the settings below,
for fear I might break the Modbus TCP operation.
Attachment 3245
Attachment 3246
I particularly wonder, which setting or settings, might reduce the giant 24835 byte item,
at the top of the list below. This list is from the Ozone debugger. I filtered for memp items,
which as I understand, are to do with ETH_LWIP. Then sorted with largest first.
Attachment 3247
The odd thing about the 24835 byte item, is that if you expand it, it is just a 512 byte array.
So I wonder, some kind of allocation bug, with ETH_LWIP ?
Or the Ozone debugger getting confused, or having a 512 element displayable limit, perhaps ?
Other memp items, if I expand them, have content that matches their size.
Here's a few more items, this time filtering for ETH_LWIP:
Attachment 3250
In the second screengrab of this post, the Simultaneously active TCP connections setting,
I imagine could be reduced from 5, maybe even to 1, as the FreeModbus library that
Infineon use for their Modbus TCP example project, allows only one Modbus TCP client,
to be connected at a time.
Although perhaps, reducing that setting to 1, wouldn't save much RAM.
Really, I don't know which settings, have which effect on RAM, or which I could safely reduce.
Modbus TCP packets are at most, 341 bytes, in case that info helps.
That's from Layer 1 Ethernet packet preamble start, to FCS end.
Best regards,
David King
I'm trying to reduce the RAM consumption of ETH_LWIP.
Could anyone suggest some reasonable reductions, from the settings below ?
I inherited the settings from the Infineon DAVE example project for Modbus TCP.
Modbus TCP, and the occasional ping, is what we are using ETH_LWIP for.
So I have always been rather hesitant to change any of the settings below,
for fear I might break the Modbus TCP operation.
Attachment 3245
Attachment 3246
I particularly wonder, which setting or settings, might reduce the giant 24835 byte item,
at the top of the list below. This list is from the Ozone debugger. I filtered for memp items,
which as I understand, are to do with ETH_LWIP. Then sorted with largest first.
Attachment 3247
The odd thing about the 24835 byte item, is that if you expand it, it is just a 512 byte array.
So I wonder, some kind of allocation bug, with ETH_LWIP ?
Or the Ozone debugger getting confused, or having a 512 element displayable limit, perhaps ?
Other memp items, if I expand them, have content that matches their size.
Here's a few more items, this time filtering for ETH_LWIP:
Attachment 3250
In the second screengrab of this post, the Simultaneously active TCP connections setting,
I imagine could be reduced from 5, maybe even to 1, as the FreeModbus library that
Infineon use for their Modbus TCP example project, allows only one Modbus TCP client,
to be connected at a time.
Although perhaps, reducing that setting to 1, wouldn't save much RAM.
Really, I don't know which settings, have which effect on RAM, or which I could safely reduce.
Modbus TCP packets are at most, 341 bytes, in case that info helps.
That's from Layer 1 Ethernet packet preamble start, to FCS end.
Best regards,
David King