UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Adventurer
Adventurer
157 Views
Registered: ‎01-20-2019

How to optimization IWIP TFTP protocol transmission speed on zynq 7000 platform

I am testing the IWIP Raw mode TFTP protocol application to transmit the file from Host PC to the ZC706 board and visa Versa

Below is a file transmission result log:

Total size of the msg_txt file = 10MB.

user@deep:~$ tftp 192.168.1.10
tftp> put msg_txt
Error code 3: disk full
Sent 238080 bytes in 0.3 seconds
tftp>

 

I have two questions over here:

1) Data transmission speed seems to be very slow - ~0.70 Mb/s, How I can optimize it?

2) Not able to transmit large files, because of out of disk space on the FPGA board, who to increase the size of storage memory so It can also store the entire 10 MB file. (For the reference adding the screen-shot of my ld_script file)

 

ld_script.png
0 Kudos
3 Replies
Moderator
Moderator
121 Views
Registered: ‎08-25-2009

Re: How to optimization IWIP TFTP protocol transmission speed on zynq 7000 platform

Hi @deepg799 

Lwip parameters matter to tune performance, please refer to sections “Configuring Memory Options”, “Configuring Packet Buffer (Pbuf) Memory Options” and “TEMAC Adapter Options” in lwip library documentation to see more information on each parameter :

https://www.xilinx.com/support/documentation/user_guides/ug1137-zynq-ultrascale-mpsoc-swdev.pdf

If you look at 2019.1 LWIP example from SDK, we have provided the following parameter settings. 

PARAMETER mem_size = 524288

PARAMETER memp_n_pbuf = 1024

PARAMETER n_tx_descriptors = 512

PARAMETER pbuf_pool_size = 16384

The short overview is that, these control how much memory, how many pbufs and descriptors are allocated and used. If the system is strapped and unable to process the packets, the BDs and pbufs will be used up quickly and not freed as fast as required. So, performance will suffer. But we should also balance how much memory can be used. So, these parameters are tuned to some optimal values for 1Gbps on the evaluation boards.

This can be used as a reference to tune the parameters for your own requirements.

 

"Don't forget to reply, kudo and accept as solution."
Adventurer
Adventurer
89 Views
Registered: ‎01-20-2019

Re: How to optimization IWIP TFTP protocol transmission speed on zynq 7000 platform

@nanz Thanks for the same, Currently I am using SDK 2015.2 version and I hope these changes I can also make in SDK 2015.2 on Zynq 7000 platform

0 Kudos
Adventurer
Adventurer
42 Views
Registered: ‎01-20-2019

Re: How to optimization IWIP TFTP protocol transmission speed on zynq 7000 platform

@nanz I can increase the size of the MFS file system by providing the required size for the memory file system into the below function,

mfs_init_fs(<fd>, <required_number_of_bytes>, <Type of file system>);

But to optimize the data transmission & receiving performance, I could not able to find out the above-mentioned parameters.

Can you guide me on, how I can change these parameters in SDK 2015.2 TFTP RAW API Mode application.

 

My end application needs a Minimum throughput of 100MB/s. But now I am getting 0.83 MB/S which is very very low.

 

For your reference, I attached my TFTP application source code.

0 Kudos