• 0
Cynthia

Nexys Video Microblaze echo server example not work under xilkernel

Question

Hi Mr./Ms.,

I have successfully make Nexys Video Microblaze server example works following:  https://reference.digilentinc.com/learn/programmable-logic/tutorials/nexys-video-getting-started-with-microblaze-servers/start

However, the echo server only works under standalone OS but not xilkernel OS. It gives me the error "unable to alloc pbuf in recv_handler" called from "setup_rx_bds" function, even I haven't telnet the server yet.  I have tried:

1. increase heap size

2. increase pbuf_pool_buffer size, pbuf_pool_size 

3. increase mem_size, mem_n_pbuf

4. enable jumbo frame

5. increase TX and RX buffer size in axi_ethernet component in vivado

The enlarged men size can delay the appearance of this error, but error message still come out and I cannot echo successfully. 

I guess it is not a pure problem from memory size since standalone works, maybe because the xilkernel is too busy so that cannot catch up with the speed of coming packets. So far the speed of LINKSPEED is also 100MHz as well as sys frequency. I wonder any way can slow down the coming packets ?

PS: board is Nexys video, vivado is 16.2, xilkernel is 6.3, lwip is 1.4.1

Thank you very much!

Share this post


Link to post
Share on other sites

4 answers to this question

Recommended Posts

  • 0

@jpeyron

Thank you for your reply!

I do use LWIP RAW API example from xilinx, and I don't want to use socket.

The whole project is exceed 1MB, so I upload only source code, the hardware binary is generated from example  https://reference.digilentinc.com/learn/programmable-logic/tutorials/nexys-video-getting-started-with-microblaze-servers/start

The output I get is:

output.JPG

 

In fact, even without enable echo server, the xemac_add function is enough to generate "unable to alloc pbuf in recv_handler" error, for which xadapter_timer is suspicious in my point of view, but still debugging... 

Thank you so much!

src.zip

Edited by Cynthia

Share this post


Link to post
Share on other sites
  • 0

@jpeyron

Problem solved !  It is not the problem from xilkernel or timer or memory leakage, it is the problem of gateway setting, so that the port receives so many packets.

Thank you very much!

Share this post


Link to post
Share on other sites
  • 0

Hello Cynthia,

Im having a similar issue, im also new to this, can you elaborate on the gateway settings? Was this on the host or client side? I am using the Arty board with microblaze and the echo example in XSDK

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now