Sorry, you need to enable JavaScript to visit this website.

ZedBoard Multi-Client Application

Unsolved
3 posts / 0 new
clayb2016's picture
clayb2016
Junior(0)
ZedBoard Multi-Client Application

Greetings,

I have a ZedBoard on which I want to host a message handling TCP client. The client needs to be able to establish communication with two different remote processors (different MAC/IP addresses) and translate the messages between them.

Using Xilinx SDK 2016.2, I’ve been investigating running LwIP in Raw mode on top of FreeRTOS but have been running into a lot of roadblocks—I understand LwIP is not thread-friendly but I saw that someone got it running for two instances and thought I would try at least. So far, I have a TCP client working for 1 connection. Unfortunately, it only works for 1 message, then the remote host appears to close the connection (pcb->state == CLOSE_WAIT).

After more thought, since this is a long way from my ultimate goal, I may need to step back and see what the best solution is. Does anyone have enough knowledge about these software packages to suggest a path forward? Will my approach work? Is there better path I should pursue (Linux, purchase a TCP/IP stack, etc)?

Any info would be very helpful and much appreciated.

Thanks,
Clay

hockeyman1972's picture
hockeyman1972
Junior(11)
Many options

Hi Clay,

I think what you are attempting with lwIP should be possible if you create separate tasks under FreeRTOS and let the OS manage the threads.  However, in my experience, lwIP is not always the easiest software to deal with, and you might have more luck and be able to get more support from a wider audience using the built-in stack under Linux.  This assumes that you don't need the real-time aspect of FreeRTOS, of course.  If real-time is a requirement, then an OS Company like Express Logic has a very good TCP/IP stack you can add on to there system, and there are also stand alone commecial TCP/IP stack providers compatible with the Zynq archiitecture.   It's just a matter of matching your requirements, the timelines of your project and the engineering time it will take versus how many dollars you can spend on products where you can get commercial support.

Ron

clayb2016's picture
clayb2016
Junior(0)
Ron,

Ron,
Thank you for your quick reply and thoughts--as usual, my requirements are not completely defined WRT timing and throughput :)
I will look into both the Linux and Express Logic options. My main goal is to quickly get the Ethernet ports set up so I can start working on the message handing and initial testing with the remote system developers. 
Thanks again,
Clay