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.

RTOS/EK-TM4C1294XL: Multi thread requests handling

Part Number: EK-TM4C1294XL

Tool/software: TI-RTOS

Hi Frinds,

Can you help me with an example in TM4C1294XL which can transfer data upto 16000 bytes via ethernet with parallel threads for requests from multiple PCs.

Needed bit urgently ....

Thanks & Regards

Mohan R

  • Mohan,

    Sounds like you are looking for an example which sends data from PC to the Tiva C LaunchPad over Ethernet. The tcpEcho example is a good one to start with. This example is available in the TI-RTOS Tiva C 2.16.01.14 SDK.

    Import the example into your workspace, and open the tcpEcho_readme.txt file. This gives you instructions on running the example.

    After you have built the example, load and run it on your LaunchPad. Note the IP address in the CCS Console view.

    On the PC, open a Windows Command Prompt and change your working directory to the TI-RTOS SDK install directory. Look in the following folder:

        tirtos_tivac_2_16_01_14\packages\examples\tools

    Here you will find the tcpSendReceive.exe program. Use this program to send data to the LaunchPad.

    It sounds like you want to send 16,000 bytes of data per second from the PC to the LaunchPad. This computes to about 0.12 Mbps. This should be handled easily by the LaunchPad.

    Run the tcpSendReceive.exe program as follows:

        tcpSendReceive 146.252.162.144 1000 1

    This will produce output similar to the following:

        C:> tcpSendReceive.exe 146.252.162.144 1000 1
        Starting test with a 1000 uSec delay between transmits
        [id 1] count = 1000, time = 16
        [id 1] count = 2000, time = 31
        [id 1] count = 3000, time = 47

    Note the output time reported on each line. From the data above, you can see that it takes about 16 seconds to send (and receive) 8 MB of data.

        1024 byte packet size * 1000 = 1 MB (each direction)
        1 MB send + 1 MB receive = 2 MB total data transfer
        47 - 31 = 16 seconds

        (2 MB * 8 bits) / 16 seconds = 1.0 Mbps

    Now you can open a second Windows Command Prompt. Using this second shell, you can launch another instance of the tcpSendReceive.exe program. This would simulate multiple PCs sending data to the same LaunchPad. Be sure to use a different id argument for each instance of tcpSendReceive.exe.

        tcpSendReceive 146.252.162.144 1000 2

    Here is my output from the second instance.

        C:> tcpSendReceive.exe 146.252.162.144 1000 2
        Starting test with a 1000 uSec delay between transmits
        [id 2] count = 1000, time = 16
        [id 2] count = 2000, time = 31
        [id 2] count = 3000, time = 47

    Now you are sending about double the data. You can use this setup to measure the performance of the LaunchPad. Keep in mind that the tcpEcho example is sending the data in both directions. It sounds like your application will be receiving more data than sending, so you should be able to handle several PC simultaneously.

    ~Ramsey