03-29-2016 02:45 AM
I am using ZYNQ7010 on linux to transmit high-speed ADC data.
I create server threads in the linux application. Thread A to response for the frequently hardware irq.
Thread B to send the ADC data to the eth port.
When I bind the thread A to CPU0 and the thread B bind to CPU1, seems like I missed some irqs, but the eth port tramsmit rate can be 400Mbps. When I bind the thread A to CPU1 and the thread B bind to CPU0, I can get every irq info, but the eth port transmit rate can only 100Mbps.It looks like the core CPU1 is more powerful than the CPU0.Is there any explainaions?
How can I get a transmite rate at 400Mbps with no irq missed ?
Thanks very much!
04-07-2016 05:08 AM
my project is similar with you ,but i cant reach you level. so， i am not able to answer your question. i am sorry.but in your project，i learn that you use Ethernet to sent data and open thread in ZYNQ.Do you use socket to sent data？
04-08-2016 05:53 PM
Yes ,my appilication is based on linux. If yours are baremetal,it should be different.
04-10-2016 06:32 PM
in your socket program，do you use interrupt to sent data？ it seem that there are no interrupt in socket,only the phread xemacif_input_thread refer to interrupt.