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/TMS320C6678: simple Ethernet client/server example

Part Number: TMS320C6678


Tool/software: TI-RTOS

Hello,

I'm trying to build and run a working Ethernet example as a starting point for my application. I've been focusing on the NIMU_emacClientExample_EVMC6678C66BiosExampleProject.

I can compile and run this example, but it generates a runtime error:

[C66xx_0] QMSS successfully initialized

CPPI successfully initialized

PA successfully initialized

TCP/IP Stack Example Client

Configuring DHCP client

00000.000 DHCPOpen: NIMUIOCTL (NIMU_GET_DEVICE_MAC) Failed with error code: -22

Service Status: DHCPC : Failed : : 000

Service Status: Telnet : Enabled : : 000

Service Status: HTTP : Enabled : : 000

 

I've figured out how to rebuild the Processor SDK and NDK Core, and have debugged down inside the Add_MACAddress() function, which calls NIMU_qmssQPush(), then polls a PA Response Queue by calling Qmss_getQueueEntryCount() 100 times before giving up and timing out. Am I not building the example correctly? Should I be using a better example as a starting point? Any suggestions are much appreciated. Here's my configuration:

  • Code Composer Studio 6.1.2.00015
  • ndk_2_25_01_11
  • pdk_c667x_2_0_7
  • processor_sdk_rtos_c667x_4_01_00_06
  • C6678 SOC on a TMDSEVM6678 evaluation board

Thank you,

Robert

 

  • Hi,

    I've notified the ethernet experts. Their feedback will be posted directly here.

    Best Regards,
    Yordan
  • Hi,

    I have PDK_C667x_2_0_5 installed, and I tried to build and run without issue.

    QMSS successfully initialized
    CPPI successfully initialized
    PA successfully initialized

    TCP/IP Stack Example Client
    Configuring DHCP client
    Service Status: DHCPC : Enabled : : 000
    Service Status: Telnet : Enabled : : 000
    Service Status: HTTP : Enabled : : 000
    Service Status: DHCPC : Enabled : Running : 000
    Network Added: If-1:158.218.109.169
    Service Status: DHCPC : Enabled : Running : 017

    I can ping it. I will install PDK 2.0.7 and try.

    Regards, Eric
  • I'd be happy to try it again here using the version that worked for you. Can you point me to the download page for PDK_C667x_2_0_5?
  • Good morning. Are there any updates on this issue? After the long weekend, I figured I'd better express continued interest otherwise folks at TI might figure I solved the problem and disappeared.

    I'll change my component versions if necessary to get the example working, but I haven't located the webpage where I can download a different PDK version.

    I'm also wondering if I installed the examples and setup the CCS project correctly. I had to modify the pdkProjectCreate.bat slightly to install the examples by removing this string: "-ccs.cgtVersion %CGT_VERSION%"

    I'm happy to provide a detailed account of my entire install process, unpacking the examples, importing the CCS project, building, etc. if there are no better recommendations. Thanks
  • Hi,

    I tried to install the PDK 2.0.7 and tested, no issue found. Procedures:

    1. download and install C667x 4.1 GA release

    2. run pdkProjectCreate.bat C6678 all little nimu all dsp to create the project.

    3. Import NIMU_emacClientExample_EVMC6678C66BiosExampleProject into CCS and build

    4. Load the .out file into C6678 EVM core 0 (no-boot mode) and run

    5. ping the DHCP obtained by DSP

    Attached the .out file for you cross check.

    Regards, Erichttps://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/791/NIMU_5F00_emacClientExample_5F00_EVMC6678C66BiosExampleProject.out

     

  • Thanks for the reply.

    I reconfigured the switches on my evaluation board (SW3, SW4, SW5 and SW6) to the "no boot" mode as described in step 4.
    Now, when I try to load the NIMU_emacClientExample file, I'm seeing errors from Code Composer Studio and the debugger doesn't connect:

    C66xx_0: File Loader: Verification failed: Values at address 0x80300000 do not match Please verify target memory and memory map.
    C66xx_0: GEL: File: C:\ti\pdk_c667x_2_0_7\packages\MyExampleProjects\NIMU_emacClientExample_EVMC6678C66BiosExampleProject\Debug\NIMU_emacClientExample_EVMC6678C66BiosExampleProject.out: a data verification error occurred, file load failed.

    If I revert the switches back to the original configuration ("IBL NOR boot on image 0", the default settings), I can connect and load the .out file, but I'm getting the same DHCPC error I described in my original post.

    Could it be that I'm overlooking something in my CCS project configuration? When I imported the NIMU_emacClientExample, I only made a couple of changes to the project properties: I selected the TMS320C6678 device, and I set the Connection field to "Blackhawk XDS560v2-USB Mezzanine Emulator".
  • Please use GEL file to initialize the DDR before loading the program.

    Regards, Eric
  • Hi Eric,

    I have to be inside a Debug session before I can load a GEL file, right?

    I can't load the GEL file when I've selected the NIMU_emacClientExample in CCS, because the Debug session is not connecting (I noted the errors in my Dec 4th post).

    However, I was able to load the GEL file using a different NIMU example project. But when I then switch back to the NIMU_emacClientExample, it still won't connect. I'm still seeing the same errors as posted Dec 4th.

    The GEL file I was using was found at this location: C:\ti\pdk_c667x_2_0_7\packages\ti\platform\evmc6678l\gel\evmc6678l.gel
  • Hi Eric,

    I modified my linker command file to execute the program from MSMC instead of DDR3 and I was able to finally load and run without load errors.

    However, the program executes and I still get the DHCPC failure reported in my original post. Here it is again:

    [C66xx_0] QMSS successfully initialized
    CPPI successfully initialized
    PA successfully initialized

    TCP/IP Stack Example Client
    Configuring DHCP client
    00000.000 DHCPOpen: NIMUIOCTL (NIMU_GET_DEVICE_MAC) Failed with error code: -22

    Service Status: DHCPC : Failed : : 000
    Service Status: Telnet : Enabled : : 000
    Service Status: HTTP : Enabled : : 000


    QUESTIONS:
    (1): How do I identify the source of the DHCPC failure?

    (2): The debugger will not allow a GEL file to be loaded unless the example program is loaded. If I want to execute the example program from DDR3 memory as originally designed, how can DDR3 memory be initialized before loading the example program?

    Thanks very much,
    --Robert
  • Hi,

    (1): How do I identify the source of the DHCPC failure?

    You need to search the printf, how this was printed in NDK and NIMU driver to find out error code.

    (2): The debugger will not allow a GEL file to be loaded unless the example program is loaded. If I want to execute the example program from DDR3 memory as originally designed, how can DDR3 memory be initialized before loading the example program?

    We always load and run the GEL file to initialize the DDR first, then load the application program. You can check below screenshoot how to add GEL file in CCS configuration:

    Regards, Eric

  • I can now ping the eval board while running the example project. Thanks very much for the information.
    --Robert