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.

C6455 DSK migrating from dsp/bios ndk 2.0 to sys/bios ndk 2.21

Other Parts Discussed in Thread: OMAPL138, SYSBIOS

Hello!

On this page http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/ndk/index.html is written that "The NSP 1.00.00.09 evmOMAPL138 release is a stand alone product, meant to work on the NDK 2.20.00.19. Previous versions of the NSP, which support other devices, may be found in the NDK 2.00 and 2.01.00 products (see descriptions in the below table for details)."

I can not understand what files and where to copy from the NDK 2.0? And then how to use the NDK in the BIOS?

Thanks and sorry if I explain bad English.

  • Hi Alex Chernikov,

    Which version of CCS are you using?

    This is talking about the Ethernet drivers and basically just telling you that the drivers no longer ship with the NDK itself.

    So if you download NDK 2.21, you will only have the network stack libraries; there won't be any Ethernet drivers or examples included.  In order to get those, you need to download the NDK 2.0.0 release.

    Once you download NDK 2.0.0, you can find the drivers under:

        ndk_2_0_0\packages\ti\ndk\lib\hal\dsk6455

    If you reply with the CCS version you're using, I can recommend the best method of getting the NDK examples for you.

    Steve

  • Steven Connell, thanks for the answer.

    I'm using CCS 5.1. 

    As I understand it, i need with help xdctools, create new SYS / BIOS module in NSP. But I do not understand how to do this? What and where to write?

  • Alex Chernikov,

    First off ...

    Since it seems like you may be fairly new to SYS/BIOS, let me point you to some documentation that might be useful to you.  First, have you seen the SYS/BIOS Getting Started Guide?  If you haven't read it yet, I would highly recommend doing that.  It can be found in your SYS/BIOS installation, for example it's here on my machine:

    C:\ti\bios_6_33_05_46\docs\Bios_Getting_Started_Guide.pdf

    For more information on XDCtools, you should check out the RTSC-pedia website: http://rtsc.eclipse.org/docs-tip/Main_Page

    Specifically, from that page you might want to look at the XDCtools User's Guide: http://rtsc.eclipse.org/docs-tip/XDCtools_User%27s_Guide

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

    Ok, now that I know which CCS you are using, I can point you in the right direction.  The easiest starting point for you will be to download the NSP 1.10.00.03.

    The following instructions are assuming that you will be using SYS/BIOS  ... can you please confirm that you are using SYS/BIOS?  If not, then you will need to take some slightly different steps ...

    This version of the NSP contains CCSv5.1 examples and drivers for the evmOMAPL138 hardware and are meant for SYS/BIOS.  So, once you import the examples, you will need to update them to match your hardware platform, the dsk6455.  Please refer to the NSP release notes "Examples" section for more info on the examples and how to import them into CCSv5.  You'll want to choose one of the two available DSP side example zip files (COFF or ELF variants), depending on which compiler you want to use.

    Once you have imported the examples, you'll need to modify them to work for the dsk6455.

    1) Start by editing the build properties for them.  I recommend starting with the most simple example, helloWorld.  From the build properties window (right click on example -> Show Build Settings...), you should change the hardware settings to be for the dsk6455.

    2) Here:

    3) And also here:

    4) Next, in the linker options, add the dsk6455 Ethernet driver library.  Here's what it looked like for me, you'll probably need to update the path to match your installation folder:

    5) Now, edit the *.cfg file *in a text editor* and delete the following line:

        xdc.useModule('ti.drv.omapl138.Emac');

    6) also in the *.cfg file, change the following line:

        Bios.startupFxns = ['&EVM_Init'];

    to be:

        Bios.startupFxns = ['&c6455_init'];


    7) Delete the evmOMAPL138 specific files "emacHooks.c" and "evminit.c" from the project.

    8) Copy in the dsk6455 one from NDK 2.0 helloWorld example "dsk6455init.c" into the project

    I think this should be everything you need to do to get the helloworld example ported over.  Build and run.

  • Thank you for your detailed answer, but did not work

    I did everything as you wrote. First I got an error that is not enough dsk6455/dsk6455.h. I have added to the project. h and. c files. And now i have next error:

    undefined first referenced

    symbol in file
    >> Compilation failure
    --------- ----------------
    _BCACHE_invL1pAll

     C:/ti/ndk_2_0_0/packages/ti/ndk/lib/hal/dsk6455/hal_eth_c6455.lib<ethdriver.o64P>
    _C64_disableIER C:/ti/ndk_2_0_0/packages/ti/ndk/lib/hal/dsk6455/hal_eth_c6455.lib<ethdriver.o64P>
    _C64_enableIER C:/ti/ndk_2_0_0/packages/ti/ndk/lib/hal/dsk6455/hal_eth_c6455.lib<ethdriver.o64P>
    _SEM_post C:/ti/ndk_2_0_0/packages/ti/ndk/lib/hal/dsk6455/hal_eth_c6455.lib<ethdriver.o64P>

    error #10234-D: unresolved symbols remain

  • Alex,

    My apologies, I forgot that the Ethernet driver is built for DSP/BIOS 5.x.  It has to be modified for SYS/BIOS 6.x... you'll need to rebuild it.

    Please try the attached driver file updated for SYS/BIOS 6.x.  You may be able to just copy the file into your existing project and rebuild, but if that doesn't work you'll need to rebuild the driver itself.

    Steve

    0385.ethdriver.c

  • Steven Connell, 

    I guessed that the problem with this. 

    I have changed in the source driver to call old api, of the new api from sys/bios. Driver was build without errors. But I could test it only on Monday, when I go to work. I will write here the results later.

  • Hello!
    I tried your method, but when compiling get the message: "../ 0385.ethdriver.c", line 266: Error # 137: Structure "_pdinfo" has field "PBMQ_rx"
    1 detected an error in the preparation of "../0385.ethdriver.c".

    Can you attach a working draft? Very you please help ..
  • Also, tell me, where can I get <std.h> and <sys.h>? These are files which module: xds or sysbios?
  • Hi Nickolay,
    We generally discourage posting a new question to an old closed thread because the person who answered before may no longer be available, and also it will allow whomever is currently assigned to monitor the forum to respond to you more quickly. For these reasons, I suggest you start a new thread with your question and reference this thread.

    Thank you