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.

Starterware Ethernet Over USB

My questions are centered around what RTOS kernel & middleware to choose given our connectivity requirements.

   1. Must support Ethernet (TCP, UDP,FTP, DHCP, Static IP, ARP, HTTP, Ping, Telnet protocols to name a few).
   2. Must support Ethernet over USB.
 
We have AM335x GP EVM,This is the scenario.

USB0:Configured as Device,must connected to the HOST PC.
USB1:Configured as a host,will capable to connect the devices like Wifi & 3G modules.

1.Is that the lwIP TCP/IP stack and Starterware USB library would be able to satisfy the above two requirements?

2.Is the Starterware USB Library used with SYS/BIOS?

3.IS the Starterware USB LIbrary supports etherent over USB?
 
4.Is lwIP TCP/IP stack supported by SYS/BIOS RTOS? Has this stack been ported to SYS/BIOS or should we do that on our own?

5. If SYS/BIOS is not the right choice for our requirements, can you recommend an alternative solution?

6.Are there any example projects that show how Starterware library APIs can be called from SYS/BIOS kernel ?

The Host PC should accessing the web over USB0,Please guide me any approach should follow.

Thanks & Regards
Rama Krishna
 

  • Hello Rama Krishna,

    Both lwIP stack ( a third party solution ) and current StarterWare USB library are ports from the StellarisWare software kit ported for the present platform - AM335x.  Both the stacks are not thread safe technically ( lot of globals etc) and are not strictly optimized for operations like what you want.   

    Having said that let me try to answer your questions.

    1. Ethernet applications Support in lwIP -  Transport layer (UDP and TCP ) and internetworking layer protocols as mentioned by you are supported, though not very clear regarding source code availability for applications like ping (ICMP) or telnet. Please refer to the support mentioned in lwIP website for version 1.4.0 

    2. Ethernet over USB - Not directly supported- You would have to write an application modifying the existing USB bulk/MSC examples. USB uses certain pipes for transporting data between hosts and a device. Hence In order to establish a connection between the host PC and the device (AM335x board) , you would need to initially report yourself as a network adapter (your final use case) and then setup the pipes as required. By referring to the existing USB dev bulk or MSC example you would get a fair idea of how to bring up pipes for transporting data.

     USB1: host support for Wifi and 3G : you would need to write your own driver to enumerate such a device.

    1.Is that the lwIP TCP/IP stack and Starterware USB library would be able to satisfy the above two requirements?

    Ans: If performance /QOS requirements are low then this task could be achieved , though with significant effort from your end.

    2.Is the Starterware USB Library used with SYS/BIOS?

    Ans: No , as far as i know , nobody has ported USB library with SYS/BIOS. Considering that the stack is not Thread safe it would require careful programming.

    3.IS the Starterware USB LIbrary supports etherent over USB?

    Ans : please read above. 
    4.Is lwIP TCP/IP stack supported by SYS/BIOS RTOS? Has this stack been ported to SYS/BIOS or should we do that on our own?

    Ans: As far as i know , nobody has ported the lwIP stack to SYS/BIOS. Porting would involve routing the IRQs through the OS rather than directly by the abstraction layer code.

    5. If SYS/BIOS is not the right choice for our requirements, can you recommend an alternative solution?

    Ans: Though I am not qualified to comment on this question, my take is, to use a Linux version as all the interfaces required for your need would be up from the mainline kernel. USB would require some patches for the DMA , but as I said all the other needs are met. How critical is the real time requirement? 


    6.Are there any example projects that show how Starterware library APIs can be called from SYS/BIOS kernel ?

    Ans : I will try to get you some documentation regarding the same . 

     

    Regards

    Vineeth

  • Hello,

    Correction on Point 4,

    4.Is lwIP TCP/IP stack supported by SYS/BIOS RTOS? Has this stack been ported to SYS/BIOS or should we do that on our own?

    Yes, it is ported on SYS/BIOS. You can find the example application in Industral SDK. Please find more info here

    Regards,
    Vinesh

  • Thanks Vineeth & vinesh,

                               Your answers are nice and help me a lot.I am waiting for the Documentation.

    Thanks & Regards

    Rama Krishna