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.

SYS/BIOS & NDK

Other Parts Discussed in Thread: AM3359, AM3358, AM3894

Creating a SYS/BIOS project w/NDK support (SWI example)  - quick summary of the project…

Target Processor AM3359 (AM335x Starter Kit) / SYS/BIOS 6.34.2.18 / NDK 2.22.3.20 / NSP 1.10.2.09

CCS 5.3 - new project...

  1. Created a new SYS/BIOS project using the SWI example
  2. Added in the NDK (& NSP)
  3. Enabled TCP, UDP, and NAT transport layer objects
  4. Enabled IP, ICMP Network layer objects
  5. Enabled EMAC Data Link layer objects
  6. Tried to build… here’s the result.

 

 

**** Build of configuration Debug for project swiExample_SK_AM3358_CortexA ****

 

"C:\\ti\\ccsv5\\utils\\bin\\gmake" -k all

'Building file: ../swi.cfg'

'Invoking: XDCtools'

"C:/ti/xdctools_3_24_06_63/xs" --xdcpath="C:/ti/bios_6_34_02_18/packages;C:/ti/ndk_2_22_03_20/packages;C:/ti/nsp_1_10_02_09/packages;C:/ti/ccsv5/ccs_base;C:/ti/xdctools_3_24_06_63/packages/ti/platforms/skAM3358/package;" xdc.tools.configuro -o configPkg -t ti.targets.arm.elf.A8Fnv -p ti.platforms.evmAM3359 -r debug -c "C:/ti/ccsv5/tools/compiler/arm_5.0.4" --compileOptions "-g --optimize_with_debug" "../swi.cfg"

making package.mak (because of package.bld) ...

generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...

configuring swi.xea8fnv from package/cfg/swi_pea8fnv.cfg ...

clea8fnv package/cfg/swi_pea8fnv.c ...

'Finished building: ../swi.cfg'

' '

'Building file: ../swi.c'

'Invoking: ARM Compiler'

"C:/ti/ccsv5/tools/compiler/arm_5.0.4/bin/armcl" -mv7A8 --code_state=32 --abi=eabi -me -g --include_path="C:/ti/ccsv5/tools/compiler/arm_5.0.4/include" --define=am3358 --diag_warning=225 --display_error_number --diag_wrap=off --preproc_with_compile --preproc_dependency="swi.pp" --cmd_file="./configPkg/compiler.opt"  "../swi.c"

'Finished building: ../swi.c'

' '

'Building target: swiExample_SK_AM3358_CortexA.out'

'Invoking: ARM Linker'

"C:/ti/ccsv5/tools/compiler/arm_5.0.4/bin/armcl" -mv7A8 --code_state=32 --abi=eabi -me -g --define=am3358 --diag_warning=225 --display_error_number --diag_wrap=off -z --stack_size=0x800 -m"swiExample_SK_AM3358_CortexA.map" --heap_size=0x800 -i"C:/ti/ccsv5/tools/compiler/arm_5.0.4/lib" -i"C:/ti/ccsv5/tools/compiler/arm_5.0.4/include" --reread_libs --warn_sections --display_error_number --diag_wrap=off --rom_model -o "swiExample_SK_AM3358_CortexA.out" -l"./configPkg/linker.cmd"  "./swi.obj" -l"libc.a"

<Linking>

 

undefined       first referenced                                                                     

  symbol             in file                                                                          

 ---------       ----------------                                                                      

 NIMUDeviceTable C:\ti\ndk_2_22_03_20\packages\ti\ndk\stack\lib\stk_nat_ppp_pppoe.aea8fnv<nimu.oea8fnv>

 

error #10234-D: unresolved symbols remain

error #10010: errors encountered during linking; "swiExample_SK_AM3358_CortexA.out" not built

 

>> Compilation failure

gmake: *** [swiExample_SK_AM3358_CortexA.out] Error 1

gmake: Target `all' not remade because of errors.

 

**** Build Finished ****

 

The best I could find on the E2E site or elsewhere was the board support package is supposed to have the transport layer stuff for the NIMUDeviceTable…  Alas, I’m not sure where to find that. Is there a working example of NDK based project somewhere for download?

 

Thanks,

Mike

 

  • Mike,

    The NIMUDeviceTable should be defined in an Ethernet driver.  Are you linking an EMAC driver in your application?

    Scott

  • Hi Scott,

     

    It doesn't appear so...

     

    When using the configuration GUI, I selected "Add the EMAC module to my configuration", the device selection combo box only has 4 choices: None, EVMxxx, TMDxxx, and DK_xxx - I'm trying to build for an AM335x Starter Kit (SK_AM3358_CortexA).  Where will I find it's EMAC driver squirreled away?

     

    Thanks for the insights!

    Mike

     

  • Hi Mike,

    I'm trying to verify availability of a driver for your configuration.  This is across timezones, I’ll reply back as soon as I hear anything…

    Scott

  • Thanks.  Looking forward to hearing back.

  • Hi Scott,

     

    Any word on a driver with the NIMU device table definitions for the AM335x Starter Kit yet?

     

    Thank you,

    Mike

     

  • Hi Mike,

    I did hear back there is a preliminary version about to be released, but it is bundled with an SDK that is still waiting on some other components to be completed. 

    I’m trying to see if we can get you a pre-release of the driver, but haven’t been able to confirm if this is possible yet.  

    How urgently do you need this?

    Thanks,
    Scott

  • Hi Scott,

    As soon as possible!  We're squished against a deadline later this month (lost a lot of development time over the past month between learning curve of CCS, SYS/BIOS, Starter Kit, etc.) and this seems to be the final piece of the puzzle.  I should be able to work with pre-release and will be happy to supply feedback to whomever is working on the SDK.

    I really appreciate your help reaching out to other developers on our behalf!

    Thanks,

    Mike

  • Mike,

    A quick update: the driver team is now looking into how to get you a pre-release of the driver.  There are some dependent components that need to be extracted too.  They should be contacting you directly, soon…

    Scott

  • Outstanding!  Looking forward to hearing from them.  Thanks for your help Scott!

    Mike

  • Hi Scott,

     

    I haven't heard anything from the driver team yet, any chance you can ping them for me?

     

    Thanks,

    Mike

     

  • Hi Mike,

    Sorry for the delay.  Yes, I just sent another ping.

    Scott

  • Mike,

    It appears that the development engineer has reached out to you on a 1:1 channel, so I am going to mark this thread as Answered.

  • I am also in need of the same pre-release driver. How can I get a copy?

  • Hello,

    i have the same problem (AM335x Starter Kit / SYS/BIOS 6_35_01_29/ NDK 2_22_03_20).

    Is it possible to post some link to pre-release driver? Or is there any other way how to obtain this driver?

    Thanx for your answer,

    David

  • The driver is now available in the latest release of the Industrial SDK V1.1.0.1.

  • Hi,

    Were can I find this Industrial SDK?

  • Hi Frank,

    Sorry my fault, , I have this trouble with AM3894 for own platform based on evmDM8168. I want to use EMAC, TCP/IP.

    Build result:

    **** Build of configuration Debug for project mlc_controller_TCP ****

    "C:\\ti\\ccsv5\\utils\\bin\\gmake" -k all
    'Building file: ../mlc_controller_TCP.cfg'
    'Invoking: XDCtools'
    "C:/ti/xdctools_3_25_03_72/xs" --xdcpath="C:/ti/ndk_2_22_03_20/packages;C:/ti/nsp_1_10_02_09/packages;C:/ti/bios_6_35_04_50/packages;C:/ti/uia_1_03_01_08/packages;C:/ti/xdais_7_21_01_07/packages;C:/ti/xdais_7_21_01_07/examples;C:/ti/ccsv5/ccs_base;" xdc.tools.configuro -o configPkg -t ti.targets.arm.elf.A8Fnv -p ti.platforms.evmDM8168 -r release -c "C:/ti/ccsv5/tools/compiler/arm_5.1.1" "../mlc_controller_TCP.cfg"
    making package.mak (because of package.bld) ...
    generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...
    configuring mlc_controller_TCP.xea8fnv from package/cfg/mlc_controller_TCP_pea8fnv.cfg ...
    clea8fnv package/cfg/mlc_controller_TCP_pea8fnv.c ...
    'Finished building: ../mlc_controller_TCP.cfg'
    ' '
    'Building file: ../main.c'
    'Invoking: ARM Compiler'
    "C:/ti/ccsv5/tools/compiler/arm_5.1.1/bin/armcl" -mv7A8 --code_state=32 --abi=eabi -me --include_path="C:/ti/ccsv5/tools/compiler/arm_5.1.1/include" -g --define=am3894 --diag_warning=225 --display_error_number --diag_wrap=off --preproc_with_compile --preproc_dependency="main.pp" --cmd_file="./configPkg/compiler.opt" "../main.c"
    'Finished building: ../main.c'
    ' '
    'Building target: mlc_controller_TCP.out'
    'Invoking: ARM Linker'
    "C:/ti/ccsv5/tools/compiler/arm_5.1.1/bin/armcl" -mv7A8 --code_state=32 --abi=eabi -me -g --define=am3894 --diag_warning=225 --display_error_number --diag_wrap=off -z -m"mlc_controller_TCP.map" --heap_size=0x800 --stack_size=0x800 -i"C:/ti/ccsv5/tools/compiler/arm_5.1.1/lib" -i"C:/ti/ccsv5/tools/compiler/arm_5.1.1/include" --reread_libs --warn_sections --display_error_number --diag_wrap=off --xml_link_info="mlc_controller_TCP_linkInfo.xml" --rom_model -o "mlc_controller_TCP.out" -l"./configPkg/linker.cmd" "./main.obj" -l"libc.a"
    <Linking>

    undefined first referenced
    symbol in file
    --------- ----------------
    NIMUDeviceTable C:\ti\ndk_2_22_03_20\packages\ti\ndk\stack\lib\stk.aea8fnv<nimu.oea8fnv>

    error #10234-D: unresolved symbols remain
    error #10010: errors encountered during linking; "mlc_controller_TCP.out" not built

    >> Compilation failure
    gmake: *** [mlc_controller_TCP.out] Error 1
    gmake: Target `all' not remade because of errors.

    **** Build Finished ****

    There are EMAC drivers for this processor?

    Thanx for your answer,

    Mateusz