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/TMDSLCDK6748: NDK build error

Part Number: TMDSLCDK6748
Other Parts Discussed in Thread: OMAPL138, TMS320C6748, OMAP-L138

Tool/software: TI-RTOS

I'm using a TMDSLCDK6748  evaluation board and tried to create a program using the NDK features i.e. TCP/IP stack.

I'm using NDK 3.40.1.01 and SYS/BIOS 6.73.0.12.  I did added the NDK and SYS/BIOS under Project/Properties/CCS General/Products

I added to app.cfg-file the following:

var Tcp = xdc.useModule('ti.ndk.config.Tcp');
var Ip = xdc.useModule('ti.ndk.config.Ip');
var Global = xdc.useModule('ti.ndk.config.Global');

under Project/Properties/CCS Build/C6000 Linker/ File Search Path,  I added the following:

C:/ti/ndk_3_40_01_01/packages/ti/ndk/hal/eth_stub/lib/hal_eth_stub.ae674
C:/ti/ndk_3_40_01_01/packages/ti/ndk/stack/lib/stk.ae674

When I build the project, I got the following error:

unresolved symbol NIMUDeviceTable, first referenced in C:\ti\ndk_3_40_01_01\packages\ti\ndk\stack\lib\stk.ae674<nimu.oe674> VM_300M C/C++ Problem

I also tried to add this lib C:\ti\pdk_omapl138_1_0_6\packages\ti\transport\ndk\nimu\lib\omapl138\c674\release\ti.transport.ndk.nimu.ae674 but create a bunch of other errors.

I did read through the NDK user guide and search on TI E2E  but could not find any solution for my problem. Any help would be appricated. Thanks

  • Hi,

    Since this is a BIOS project, you should have:
    var Nimu = xdc.loadPackage('ti.transport.ndk.nimu');

    in your .cfg file. Could you verify this?

    Best Regards,
    Yordan
  • Hi Yordan,

    I added var Nimu = xdc.loadPackage('ti.transport.ndk.nimu'); to the app.cfg
    I also added to the #include search path the following C:/ti/pdk_omapl138_1_0_6/packages/ti/transport/ndk/nimu/package

    When build project I got this error:
    subdir_rules.mk:12: recipe for target 'build-1911590751-inproc' failed
    js: "C:/Tpham_WorkSpace/depot/MSS/VM-300M/Technical/Software/Code/devel_tp/DSP/app.cfg", line 25: xdc.services.global.XDCException: xdc.PACKAGE_NOT_FOUND: can't locate the package 'ti.transport.ndk.nimu' along the path: 'C:/ti/bios_6_73_00_12/packages;C:/ti/ndk_3_40_01_01/packages;C:/ti/xdctools_3_50_08_24_core/packages;..;'. Ensure that the package path is set correctly.

    I could not find the Nimu package under NDK or NSP directory . The only one I find is under C:/ti/pdk_omapl138_1_0_6/packages/ti/transport/ndk/nimu/package . Where is the nimu package located ?

    Another thing I did is adding this var Emac = xdc.useModule('ti.ndk.config.Emac'); to the app.cfg
    I could not find Ethernet driver under the NDK . So I download the NSP version 1_10_03_15 and linked to it using
    C:/Users/tpham/Downloads/nsp_1_10_03_15/packages/ti/drv/omapl138/lib/release/ti.drv.omapl138.ae674.
    When I build I do not see the unresolved symbol NIMUDeviceTable anymore but I got the following error:

    unresolved symbol EMAC_getConfig , first referenced in C:/Users/tpham/Downloads/nsp_1_10_03_15/packages/ti/drv/omapl138/lib/release/ti.drv.omapl138.ae674<nimu_eth.oe674> VM_300M C/C++ Problem
    unresolved symbol EMAC_initialize, first referenced in C:/Users/tpham/Downloads/nsp_1_10_03_15/packages/ti/drv/omapl138/lib/release/ti.drv.omapl138.ae674<ethdriver.oe674> VM_300M C/C++ ProbDescription Resource Path Location Type

    From what I understand that Emac module is used to link to Ethernet Driver. Where is Ethernet Driver for my TMDSLCDK6748 board located? I could find under NDK. Thus I have to download NSP version 1_10_03_15
    Do I need both Emac module and Nimu package?

    Is there a document, example or training video of what steps I have to do to configure/Initialize the Ether chip before I can create a TI-BIOS task/thread that do the socket(or NC_socket) open, bind, listen, accept

    Thanks a lot for your help.

    -Tom
  • Hi Tom,

    The ethernet sources for OMAP-L138/TMS320C6748 devices are located in ~/ti/pdk_omapl138_1_0_7/packages/ti/transport/ndk/nimu. The ethernet driver is located in /ti/pdk_omapl138_1_0_7/packages/ti/transport/ndk/nimu/src/v6

    As for example/guide for the NDK, you can find the documentation here:
    software-dl.ti.com/.../index_Foundational_Components.html

    Also see the NDKA Api reference & driver design guide in: ~/ti/ndk_3_40_01_01/docs/ndk and the NDK User Guide: www.ti.com/.../spru523k.pdf

    Best Regards,
    Yordan
  • Yordan,

    Thanks for information. I was able to resolve my problem after turn off the code generation option in the cfg file.