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/66AK2H12: TCP/IP example running on an ARM A15

Part Number: 66AK2H12
Other Parts Discussed in Thread: MATHLIB, SYSBIOS

Tool/software: TI-RTOS

I am looking for an example, or a document explaining the steps involved, to enable TCP/IP comms over Ethernet on my EVM. I'm looking for something to run on SYS/BIOS (not bare metal or Linux). I have CCS7.2 (on WIn10) and I believe I have the proper PDKs and SDKs installed but I can not find an example to accomplish this.

A simple hello world or echo app would be fine. TCP or UDP.  Anything to get some clues.

Mike

  • Hi,

    I've notified the sw team. Feedback will be posted here.

    Best Regards,
    Yordan
  • Processor SDK RTOS provides a NIMU+NDK solution for network related functionality. this has been described here:

    processors.wiki.ti.com/.../Processor_SDK_RTOS_NDK

    In PDK generate the NIMU related example using
    processors.wiki.ti.com/.../Rebuilding_The_PDK

    (No need to rebuild the package. Setup the environment and jump to section 4)

    Please give this a try and let us know if you run into any issues.

    Regards,
    Rahul
  • I'd not seen the first document. Thanks for the link.
    I have tried to build based on the instructions in the second link w/o success.
    When I try to setup the environment I get:

    C:\ti\pdk_keystone2_3_01_04_07\packages>pdksetupenv.bat
    "ENVIRONMENT VARIABLE C6X_GEN_INSTALL_PATH: Code Generation Tool NOT CONFIGURED!!!!"
    Example [NOTE ""]:set C6X_GEN_INSTALL_PATH="c:/ti/ccsv5/C6000 Code Generation Tools 7.3.2"
    "ENVIRONMENT VARIABLE EDMA3LLD_BIOS6_INSTALLDIR: EDMA3 BIOS6 Installation Path NOT CONFIGURED!!!!"
    Example [NOTE ""]: set EDMA3LLD_BIOS6_INSTALLDIR="C:/ti/edma3_lld_02_11_03_02"
    ERROR CONFIGURING PDK BUILD ENVIRONMENT
    *******************************************************************************

    I have set EDMA3LLD_BIOS6_INSTALLDIR. "set" shows:

    EDMA3LLD_BIOS6_INSTALLDIR="C:\ti\edma3_lld_2_12_04_28"

    I have the path2dos.exe in the directory C:\ti\pdk_keystone2_3_01_04_07\packages (where I run pdksetupenv.bat). I've also tried the short name with the same result :

    set EDMA3LLD_BIOS6_INSTALLDIR="C:\ti\EDMA3_~1"

    I do not have C6000 Code generation tools. I wasn't aware I'd need them since I am developing for the A15. If I need to install can you please point me to the compatible installer.

    Interestingly I have a directory C:\ti\pdk_keystone2_3_01_04_07\packages\exampleProjects> that is dated the date I installed.

    NOW -- I also have a non keystone PDK directory with the same batch files.
    When I run the setup there is runs. The missing environment variables are set as:
    C6X_GEN_INSTALL_PATH : C:/ti/ti-cgt-c6000_8.1.3
    and
    EDMA3LLD_BIOS6_INSTALLDIR : C:/ti/EDMA3_~1

    How I do not know since I am running from the same cmd window. But after I run the setup from that directory , return to C:\ti\pdk_keystone2_3_01_04_07\packages> and rerun pdksetupenv.bat, it now 'works' in that I now get:

    C:\ti\pdk_keystone2_3_01_04_07\packages>pdksetupenv.bat
    "CG_XML_BIN_INSTALL_PATH: CG XML NOT CONFIGURED!!!!. REQUIRED FOR XDC BUILD"
    CGTOOL INSTALL Directory C:/ti/ti-cgt-c6000_8.1.3
    PDK Directory /ti/PDK_K2~1/packages
    EDMA3 BIOS6 Directory C:/ti/EDMA3_~1
    BIOS Directory C:/ti/bios_6_46_05_55
    IPC Directory C:/ti/ipc_3_46_00_02
    PDK BUILD ENVIRONMENT CONFIGURED
    *******************************************************************************

    Note that this output does not match what is in the document you linked (processors.wiki.ti.com/.../Rebuilding_The_PDK but the output from pdksetupenv.bat in C:\ti\pdk_k2hk_4_0_6\packages> does.

    Running pdkProjectCreate.bat in C:\ti\pdk_k2hk_4_0_6\packages> fails to create anything. It runs and says it detects test projects but fails on copying macro.ini (The system cannot find the path specified.). In the end, MyExampleProjects is empty.

    Running pdkProjectCreate.bat in C:\ti\pdk_keystone2_3_01_04_07\packages> fails with messages about Detected Test Project: xxxx but then copy fails. An example:

    Detected Test Project: transportIpcSrioMultiBoardProducerK2KExampleProject
    The system cannot find the path specified.
    Copying macro.ini
    The system cannot find the path specified.
    0 file(s) copied.

    Somewhere along the line in the last couple of days I did somehow generate one example; NIMU_emacExample_EVMK2H_armBiosExampleProject under C:\ti\pdk_k2hk_4_0_6\packages\MyExampleProjects> I can import this project but CCS will not build nor can I open source. I get messages similar to this when trying to open source:
    "Must specify a URI scheme:PDK_INSTALL_PATH/ti/drv/rm/device/k2h/global-resource-list.c". Build errors similar to:
    Description Resource Path Location Type
    gmake: *** No rule to make target 'C:/ti/ccsv7/eclipse/PDK_INSTALL_PATH/ti/csl/src/ip/cpsw/V0/csl_cpsw_5gf.c', needed by 'csl_cpsw_5gf.o'. NIMU_emacExample_EVMK2H_armBiosExampleProject C/C++ Problem

    So it seems I need to set PDK_INSTALL_PATH in CCS? If so where.
  • Found a hint in the first document you linked: "Use pdkProjectCreate.sh for Linux environment or pdkProjectCreate.bat for Windows.
    This can be found under the <PDK>/packages folder. The only modification to these scripts, if any, is to update the CCS_INSTALL_PATH variable to point to CCS location if its not in the c:\ti\ccsv6 directory" I'm using CCS7. I edited and reran C:\ti\pdk_keystone2_3_01_04_07\packages>pdkProjectCreate.bat and now I've got a bunch of examples in MyExampleProjects.

    This is what I have:

    [.metadata] [aif2CpriFastCMK2KTestProject]
    [aif2DualModeK2KTestProject] [aif2GenericK2KTestProject]
    [aif2LteCheckRfK2KTestProject] [aif2LteCpriK2KTestProject]
    [aif2LteMultiCoreK2KTestProject] [aif2LteObsaiK2KTestProject]
    [aif2LteSingleToneK2KTestProject] [aif2LteTddCheckRfK2KTestProject]
    [aif2WcdmaCheckRfK2KTestProject] [aif2WcdmaK2KTestProject]
    [aif2WcdmaSingleToneK2KTestProject] [bcpK2KC66BiosExampleProject]
    [bcpK2KC66BiosTestProject] [cppiK2KC66BiosExampleProject]
    [cppiK2KC66BiosTestProject] [fftcMCK2KC66BiosExampleProject]
    [fftcMCK2KC66BiosTestProject] [fftcMIK2KC66BiosTestProject]
    [fftcSimpleK2KC66BiosTestProject] [fmCoredump_K2KTestInstrumentationProject]
    [hyplnk_K2KC66BiosCicInterruptExampleProject] [hyplnk_K2KC66BiosExampleProject]
    [hyplnk_K2KC66DevLibBiosCicInterruptExampleProject] [hyplnk_K2KC66DevLibBiosExampleProject]
    [mmap_k2kResourceTestProject] [mmap_k2kTestProject]
    [nwalPktRouterArmMASTERK2KTestProject] [nwalPktRouterC66xMASTERK2KTestProject]
    [nwalUnitTestK2KTestProject] [nwalUnitTestSaK2KTestProject]
    [PA_emacExample_K2KC66BiosExampleProject] [PA_multicoreExample_K2KC66BiosExampleProject]
    [PA_UnitTest_K2KC66BiosPCapTestProject] [PA_UnitTest_K2KC66BiosTestProject]
    [PCIE_K2KC66BiosExampleProject] [pktlib_DspOnlyk2kTestProject]
    [qmAccK2KC66BiosTestProject] [qmDCfgK2KC66BiosTestProject]
    [qmDescK2KC66BiosTestProject] [qmInfraK2KC66BiosExampleProject]
    [qmInfraMCK2KC66BiosExampleProject] [qmInsRegionK2KC66BiosTestProject]
    [qmQAllocK2KC66BiosTestProject] [qmQosFwCModelK2KC66BiosTestProject]
    [qmQosSchedCModelK2KC66BiosTestProject] [qmQosSchedDropSchedK2KC66BiosTestProject]
    [qmQosSchedK2KC66BiosTestProject] [qmQosSchedWideK2KC66BiosTestProject]
    [qmQosTestK2KC66BiosTestProject] [qmSCfgK2KC66BiosTestProject]
    [qmSrioContextK2KC66BiosTestProject] [qmSrioRtrK2KC66BiosTestProject]
    [rmK2KArmv7LinuxDspClientTestProject] [rmK2KC66BiosTestProject]
    [rmK2KC66DspMtBiosTestProject] [rmMemK2KC66BiosTestProject]
    [rmSharedK2KC66BiosTestProject] [SA_BasicExample_K2KBiosExampleProject]
    [SA_BasicExample_w3gpp_K2KBiosExampleProject] [SA_MultiCoreExample_K2KBiosExampleProject]
    [SA_MultiCoreExample_w3gpp_K2KBiosExampleProject] [SA_UnitTest_K2KBiosTestProject]
    [SA_UnitTest_w3gpp_K2KBiosTestProject] [serdes_diag_ber_K2KC66ExampleProject]
    [serdes_diag_eye_K2KC66ExampleProject] [serdes_diag_prbs_K2KC66ExampleProject]
    [SRIO_LoopbackK2KC66BiosTestProject] [SRIO_LpbkDioIsrK2KC66BiosExampleProject]
    [SRIO_MulticoreLpbkK2KC66BiosExampleProject] [SRIO_TputBenchmarkingK2KC66TestProject]
    [tcp3dK2KC66BiosExampleProject] [tcp3dK2KC66BiosTestProject]
    [tfw_GenProd_UnitTest_k2kBiosProject] [tfw_UiaMinst_UnitTest_k2kBiosProject]
    [tfw_Uia_UnitTest_k2kBiosProject] [transportIpcQmssBenchmarkK2KExampleProject]
    [transportIpcQmssDspEpK2KTestProject] [transportIpcSrioBenchmarkK2KExampleProject]
    [transportIpcSrioMultiBoardConsumerK2KExampleProject] [transportIpcSrioMultiBoardProducerK2KExampleProject]
    [wdtimer_K2KTestInstrumentationProject]

    I don't see a NIMU example.
  • Another edit in C:\ti\pdk_k2hk_4_0_6\packages\ pdkProjectCreate.bat to set XDC_VERSION=3.50.02.20 and running :
    pdkProjectCreate.bat K2H all little all arm
    I think generated the examples. But when I try to build
    C:\ti\pdk_k2hk_4_0_6\packages\MyExampleProjects\NIMU_emacExample_EVMK2H_armBiosExampleProject
    in CCS7.2 I get the gmake errors about "No rule to make target". An example of one is:

    gmake: *** No rule to make target 'C:/ti/ccsv7/eclipse/PDK_INSTALL_PATH/ti/csl/src/ip/serdes_sb/V0/csl_wiz8_sb_refclk125MHz_10bit_5Gbps.c', needed by 'csl_wiz8_sb_refclk125MHz_10bit_5Gbps.o'. NIMU_emacExample_EVMK2H_armBiosExampleProject

    If I try to open a source file I get:

    Must specify a URI scheme:PDK_INSTALL_PATH/ti/csl/src/ip/serdes_sb/V0/csl_wiz8_sb_refclk125MHz_10bit_5Gbps.c

    so it seems I need to configure CCS with PDK_INSTALL_PATH somewhere?
  • Hi,

    Please use a clean installation of Processor SK RTOS 4.0 for K2H and CCS 7.1, then use the exact tool versions defined with pdkprojectcreate.bat. Command syntax: pdkProjectCreate.bat K2H all little nimu arm

    Please don't mix different PDK (pdk_keystone2_3_01_04_07.?) and CCS (7.2?)

    Regards, Eric
  • I think this is a big part of the problem. Various TI document point to varying software installations. Additionally, suggestions on these forum have had me installing various SDK, PDKs, MCSDK and on and on.

    This is what I have installed (not in this order):
    07/17/2017 09:48 AM 97,504,584 bios_6_50_01_12.exe
    06/27/2017 07:59 AM 16,538,472 ccs_setup_7.2.0.00013.exe
    07/05/2017 01:44 PM 1,546,641,274 mcsdk_3_01_04_07_setupwin32.exe
    07/05/2017 09:55 AM 961,492,319 ti-processor-sdk-rtos-k2hk-evm-04.00.00.04-Windows-x86-Install.exe
    07/05/2017 11:41 AM 1,813,512 ti_emupack_keystone2_setup_1.1.2.0.exe

    Somewhere during installing those I have the following directory structure under the default c:\ti directory:

    07/17/2017 09:50 AM <DIR> .
    07/17/2017 09:50 AM <DIR> ..
    07/05/2017 02:17 PM <DIR> bios_6_41_04_54
    07/05/2017 10:14 AM <DIR> bios_6_46_05_55
    07/17/2017 09:52 AM <DIR> bios_6_50_01_12
    04/14/2015 08:34 PM 150,891,493 bios_setupwin32_6_41_04_54.exe
    07/05/2017 11:43 AM <DIR> ccsv5
    07/05/2017 06:35 PM <DIR> ccsv7
    07/05/2017 02:18 PM <DIR> cg_xml
    06/02/2011 02:30 PM 30,167,504 cg_xml-v2_30_00-Setup.exe
    07/05/2017 06:35 PM 1,773 Code Composer Studio 7.2.0.lnk
    07/05/2017 02:10 PM <DIR> ctoolslib_1_1_1_0
    07/05/2017 10:06 AM <DIR> ctoolslib_2_2_0_0
    07/05/2017 02:17 PM <DIR> dsplib_c66x_3_4_0_0
    09/02/2014 12:42 PM 10,624,867 dsplib_c66x_3_4_0_0_Win32.exe
    07/05/2017 02:06 PM <DIR> edma3_lld_02_11_13_17
    07/05/2017 10:07 AM <DIR> edma3_lld_2_12_04_28
    07/05/2017 10:08 AM <DIR> framework_components_3_40_02_07
    07/05/2017 10:08 AM <DIR> gcc-arm-none-eabi-4_9-2015q3
    07/05/2017 02:17 PM <DIR> imglib_c66x_3_1_1_0
    06/04/2012 12:18 PM 7,056,830 imglib_c66x_3_1_1_0_Win32.exe
    07/05/2017 02:09 PM <DIR> ipc_3_36_02_13
    07/05/2017 10:09 AM <DIR> ipc_3_46_00_02
    07/05/2017 02:17 PM <DIR> mathlib_c66x_3_1_1_0
    06/12/2015 05:05 PM 26,895,157 mathlib_c66x_3_1_1_0_Win32.exe
    07/05/2017 02:18 PM <DIR> mcsdk_bios_3_01_04_07
    07/05/2017 02:14 PM <DIR> mpm_2_00_01_10
    07/05/2017 10:10 AM <DIR> multiprocmgr_3_0_3_0
    07/05/2017 02:05 PM <DIR> ndk_2_24_02_31
    07/05/2017 10:10 AM <DIR> ndk_2_25_01_11
    07/05/2017 02:14 PM <DIR> openmp_dsp_2_01_17_01
    07/05/2017 10:10 AM <DIR> openmp_dsp_k2x_2_06_01_00
    07/05/2017 10:10 AM <DIR> pdk_k2hk_4_0_6
    07/05/2017 02:01 PM <DIR> pdk_keystone2_3_01_04_07
    07/05/2017 10:13 AM <DIR> processor_sdk_rtos_k2hk_4_00_00_04
    07/05/2017 10:15 AM <DIR> ti-cgt-c6000_8.1.3
    07/06/2017 10:29 AM <DIR> tirex-product-tree
    07/05/2017 02:13 PM <DIR> transport_net_lib_1_1_0_4
    07/05/2017 02:10 PM <DIR> uia_2_00_03_43
    07/05/2017 10:14 AM <DIR> uia_2_00_06_52
    07/05/2017 10:14 AM <DIR> xdais_7_24_00_04
    07/05/2017 02:07 PM <DIR> xdctools_3_31_02_38_core
    07/05/2017 10:15 AM <DIR> xdctools_3_32_01_22_core
    06/27/2017 05:08 PM <DIR> xdctools_3_32_02_25_core
    06/27/2017 05:11 PM <DIR> xdctools_3_50_02_20_core
  • Hi,

    Your goal is to test NIMU driver in Processor SDK RTOS 4.0. release, so you need to install ti-processor-sdk-rtos-k2hk-evm-04.00.00.04-Windows-x86-Install.exe. The download page is: software-dl.ti.com/.../index_FDS.html. It shows CCS 7.1 (NOT 7.2) used for this development.

    mcsdk_3_01_04_07_setupwin32.exe is an obsolete release with its toolset, you can use that for NIMU test but it is not recommended.

    ti_emupack_keystone2_setup_1.1.2.0: EMU pack is usually for emulation support, given K2H is an old release, you don't need this anymore. The CCS 7.1 already has K2H supported already, and with EMUPACK 1.1.9, so you don't need this.

    bios_6_50_01_12.exe: the BIOS_VERSION for the release is BIOS_VERSION=6.46.05.55

    It is possible the thread get the replies from different persons: may be TI employees from different groups or community members, and due to the public forum in nature, some replies are confusing. Sorry for this!

    With RTOS 4.0 and CCS 7.1 installed, all the required toolset (including SYSBIOS 6.46.05.55) should be there for you to create, import and build the test project.

    Regards, Eric
  • My initial goal is to understand how to create a SYS/BIOS task that enables and use TCP on the ARM on the EVM. In the simplest way possible. Our final application will need to send/recv command and control as well as pump large amounts of process data to host computers. I'm staggered at the moment looking at what is generated for NIMU_emacExample_EVMK2H_armBiosExampleProject!

    Is this document up to date: www.ti.com/.../sprac57.pdf I can run NIMU_emacExample_EVMK2H_armBiosExampleProject with a static IP but it doesn't seem to do anything. The PDF says to enter the IP into a browser? The example doesn't seem to work when I modify the line to have it get the IP via DHCP.

    The webpage (www.ti.com/.../toolssoftware) for the EVM has a direct link to the CCS7.2 and that is what I installed. If I could wipe my computer of all the TI s/w I've installed I would immediately and try to start over. I don't see Uninstalls for most component. For example, the XDCtools. And the pdk_keystone2_3_01_04_07. For those, do I just delete? I worry I'll leave dropping all over my hd and in the Registry.

    mcsdk_3_01_04_07_setupwin32.exe - I should uninstall this?
  • Hi,

    XDC has no uninstaller, just delete. MCSDK 3.1.4.7 has an uninstaller to run.

    For the NIMU_emacExample_EVMK2H_armBiosExampleProject, it has a static IP you can try. You can ping it from a PC. It doesn't support open a web broswer to the IP address.

    Regards, Eric
  • Hi,

    Do you still have any issue with the building of NIMU_emacExample_EVMK2H_armBiosExampleProject? If yes, please send me the build log.

    Regards, Eric
  • Hi Eric. Yes I have that example built and working. Thanks for following up. My problem is now trying to add TCP networking to my existing application. So far I've not be able to do that. I started another thread asking for help: e2e.ti.com/.../613334 where (I think you) suggested merging in the example into my project but this example contains lots that I do not need nor want. In that new thread I reference a TI document talking about how to use the NDK to add networking to a project but I've not be able to get those instructions to work and have gotten no help.
  • Thanks for confirming! Then I close this thread and work on the new issue on the another one.

    Regards, Eric