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.

Giga ETH Application within C6678

Other Parts Discussed in Thread: MIDAS, OMAP3530

Hello

I am working with the EVM of 6678LE chip and needs some advice here .

The application needs to send data  from the C66X  (we using the EVM6678LE EVM )
 
Via the Giga link ETH with TCP/IP protocol to EXternal  HOST PC .

 
I saw two code examples in the TI SW folders : 
 
 
One , which I activated it send "HelloWorld"  to UART for monitoring , and actually just establish
 
ETH coonection from the C6678 to external HOST PC ETH link or server .This example  using
 
functions like Network_Open , Network_Close, NetworkIPAddr , etc .
 
TI doc's says about it :  The helloWorld example is a skeleton application intended to provide the application programmer with a
basic stack setup, to which you can add your code.
 
 
The other example called the : Nimu_ETH_6678L
 
This  is actually setup the network by activating functions like emacStarT , emacStop
 
and it using the PA , CPPI and QMSS units .
 
  
Questions :
 -----------------------
 
1 ) Is it right to say that  the  Nimu project example is more close to what  I need ?
 
2)  If the answer is yes , then  from the other hand I need to use the functions which exists in "HelloWorld"  example like establishing ETH connection .
 
   The question is : Should I need to know the other side HOST ETH data ? Like IP address or MAC address of the HOST PC address in order to establish

   the basic connection ?

 
3) Maybe I need to combine the two examples to one project for my application  ?
 
4) Should I need to use the : NETCTRL Functions in my application ?

5) What is the best way to fill my payload data inside the ETH buffers ?

6) At TCP/IP I guess the packet length is 8192 Bytes .Is it min ? or max ?

7) I found under : //  pdk_c6678_../packages/ti/drv/pa/Example/emacExample 

    some  files but no Project files exist there .Should I creae them by myself ?

 
 
I will appreciate yours answers


 
Thanks

 Gideon          
 

  • Gideon,

    I am not familiar with the software examples that you are referring to, so I cannot tell you which project would be best for starting your project; however, I can answer some of your questions.

    6) At TCP/IP I guess the packet length is 8192 Bytes .Is it min ? or max ?

    I am not sure if there is a maximum supported by the software, but the maximum packet length supported by the Ethernet hardware is 9500 bytes (9504 including VLAN).

    7) I found under : //  pdk_c6678_../packages/ti/drv/pa/Example/emacExample some  files but no Project files exist there. Should I create them by myself ?

    You can find the project files that you are looking for under: \packages\ti\drv\exampleProjects\PA_emacExample_exampleProject

  • Hi Gideon,

    For what you're trying to achieve, I think you'll find it useful to study the source code for the MIDAS OCT/Ultrasound demo; we do a lot of what you're trying to achieve in those demos. The OCT version uses a 6678L EVM that communicates via GigE with a Windows Host PC, so that will be particularly relevant in your case (the Ultrasound version communicates with an OMAP3530).

    When you download the source code you'll want to specifically look at the folder 'miDAS\rdsp'. RDSP is essentially a sort of application interface written on top of MCSDK's NDK that allows the setup of a RDSP client (PC) and RDSP server (6678) and relevant functions. You can directly leverage RDSP in your application. To see how RDSP buffers and functions are setup, look at the code in 'miDAS/oct/demo1/' and you can model your application accordingly. Note that the 'midend' in this folder refers to the 6678 part, and the 'backend' refers to the PC part. 

    Here are links to the MIDAS demos relevant to you. It includes the documentation and details on how to obtain the source code.

    OCT v1.0: http://processors.wiki.ti.com/index.php/MIDAS_OCT_v1.0_Demo
    (Ultrasound v4.0: http://processors.wiki.ti.com/index.php/MIDAS_Ultrasound_v4.0_Demo)

  • I beleive that the OCT demo will be to heavy to start with. i would suggest use the Hello World and Client to get started and then you might migrate to the demo if it fits your purpose.
    My inpyts are below.
    1 ) Is it right to say that  the  Nimu project example is more close to what  I need ?

    <Arun> Hello World example will be a best fit. We also have a client example that uses the hello world example and builds on top of it. The HelooWorld uses the NUMU and TCP/IP stack

    2) If the answer is yes , then from the other hand I need to use the functions which exists in "HelloWorld" example like establishing ETH connection .

    The question is : Should I need to know the other side HOST ETH data ? Like IP address or MAC address of the HOST PC address in order to establish

    the basic connection ?
    <Arun> Answered above.


    3) Maybe I need to combine the two examples to one project for my application ?
    <Arun> Answered above.

    4) Should I need to use the : NETCTRL Functions in my application ?
    <Arun> Yes, you can take the client and HelloWorld examples to see how these APIs are implemnted.

    5) What is the best way to fill my payload data inside the ETH buffers ?
    <Arun> You can use raw scokets to send the packets. SendRawEth() function in client.c file can be used as reference. You can also use PA and the PA example is a good reference. Here you will be using the multicore navigator to queue the packets to different tranmit queues based on your needs.

    6) At TCP/IP I guess the packet length is 8192 Bytes .Is it min ? or max ?
    <Arun> This should be in conformance to the protocol. If I am right then this should be the max packet size to avoid fragmentation. Any data beyond this size will be fragmented.

    7) I found under : // pdk_c6678_../packages/ti/drv/pa/Example/emacExample

    some files but no Project files exist there .Should I creae them by myself ?
    <Arun> The examples are in the MCSDK folder see, C:\mcsdk2_05\mcsdk_2_00_05_17\examples\ndk for the project files.
    
    
    thanks,
    arun