2024-07-15 08:57 PM - edited 2024-07-15 09:56 PM
My work
I have been experimenting with ethernet with tcp server, and i got some good referance to start the basic level of communication from the follwoing pages.
What i have done
What i want to do
Planning to push it to maximum number of server that i can do communication simultaneously (upto 50).
Issue i faced
When increasing the number of instance intitilized, during communication controller will either run into hardfault or on the client side transmission will fail, from this i have learnt it is because of wrong memory configuration.
Currently my configuration is able to run on a maximum number of 9 clients at a time.
Assist i need
Still it is unclear to me what are the paramter that will have an impact on number of instances, especially on the memory configuration side
Update
Iam able to run the 50 server simultaneously, for optimizing memmory i want to understand the exact memory configuration required.
My Findings and configurations
Correct me if iam wrong, each instance requires there own tx and rx descriptors for simultaneous communication minimum 96 bytes for each.
Pbuf is for handling all the incoming and outgoing data which highly depends on the number of bytes incoming
Rx pool i dont have a clear differenciation on this with Pbuf,
The configurations are based on the referance from the above link, and i have modified some parameters which thought necessary for increasing the number of instancs.
MPU configuration
Linker configuration
RAM_D2 (xrw) : ORIGIN = 0x30000000, LENGTH = 288K
.lwip_sec (NOLOAD) :
{
. = ABSOLUTE(0x30000000);
*(.RxDecripSection)
. = ABSOLUTE(0x30001400);
*(.TxDecripSection)
. = ABSOLUTE(0x30002800);
*(.Rx_PoolSection)
} >RAM_D2
I want to have have a clear understanding of the memory configuration parameters, if you have any answer/referarances I would appreciate your assistance.