This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LWIP receive interrupt process questions in RTOS on AM335x processor

Other Parts Discussed in Thread: SYSBIOS

Hello TI,

I am tring to use LWIP with 3rd party RTOS. SO I found out the startware lwip example is a very good startpoint. 

But I found out a problem in the example code that the package receive process is all done in the receive interrupt function. So if a lot of packages come in a very short interval, The receive process will cost a lot of time. So that other interrupt may be skipped. Is this real?

Can I just mask the CPDMA interrupt when receive package then let another process to process.When the process thread finish processing then unmask the CPDMA interrupt. Is it way OK?

Or any other better suggestion is welcome?

Thank you very much!

  • Hello,

    You can refer the SYSBios example(enetlwip_sysbios) available in Industrial SDK. The example has offloaded some processing to a tcpip_thread. 

    I believe there is more room for ISR offloading in the example.

    Regards,
    Vinesh

  • Hello Vinesh,

    Thankyou,after I checked the lip example with sysbios, I found out all of the package fetch process is still done inside. The interrupt function Which actually call function cpswif_rx_inthandler. Must I do the same as this way? Will it cost a lot of time?

    Other parts I am already implement like this although the system is not sysbios

     
     
    
    
  • Actually the processing of the Buffer descriptors can also be offloaded to a task. I think we had done some experiment long back, and had some initial setup running. But this never got through. You can try offloading the processing of buffer descriptors to a new task.

    Regards,
    Vinesh

  • Thank you , I have already build up a sysbios project with lwip to run under DUAL MAC mode. But met with a problem that only one port is usable, could you help me out? I open a new thread, http://e2e.ti.com/members/1870188/default.aspx