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.

6678 Ethernet emacExample emulation error

Other Parts Discussed in Thread: TMS320C6670

Hi,

I’m trying to use Ethernet on DSP6678.

It was suggested I start with the example from
C:\Program Files\Texas Instruments\pdk_C6678_1_0_0_17\packages\ti\drv\pa\example\emacExample

It appears to compile, link, and load OK, but I get this emulation error:

[C66xx_0] **************************************************
[C66xx_0] ******* Ethernet Single Core Example Start *******
[C66xx_0] **************************************************
[C66xx_0] Error Initializing Free Descriptors, Error: -137
[C66xx_0] QMSS init failed

Following the C source code, the error appears to be from: source file qmss_drv.c, function Qmss_queueOpen(), condition (qmssLObjIsValid == 0), statement return QMSS_NOT_INITIALIZED.

The revisions I am running are TMDXEVM6678L Rev 1.0, CCSV5.10.09000, and bios_mcsdk_02_00_05_17_setupwin32.exe.

How does one make emacExample work?

Greg Reuter

  • Did you ran the gel file for initialization of the peripheral. THis looks liek it is failing in QMSS not in emulation.

     

    Thanks,

    Arun.

  • Hi Arun,

    I was not using any GEL files.  After your response, I found two GEL files, and tried them, but still got the Error.

    These are the GEL files I tried:

    C:\Program Files\Texas Instruments\mcsdk_2_00_05_17\tools\program_evm\gel\evmc6678l.gel
    C:\ti\ccsv5\ccs_base\emulation\boards\evmc6678l\gel\evmc6678l.gel

    Here is what happened:

    I left click Run, Load, Load Program, select the out file, then click OK.
    I right click in the Debug view and select    Open GEL Files View.
    I right click in the GEL files view and select    Load GEL.
    I select the GEL file and click Open.
    I see multiple setup messages scroll by in the Console view.
    I click resume.
    I see the error in the Console view Error Initializing Free Descriptors, Error: -137

    Greg Reuter

  • Once you have connected the core 0 load the gel file and you will see a tab on the top called GEL. It will be populated with some entries. You need to click global_default_setup and then load and run the example.

     

    Thanks,

    Arun.

  • My CCS tabs look different.

    I found it under      Scripts, EVMC6678L Init Functions, Global_Default_Setup.

    I still get the same error.

  • Hi Arun,

    I found something to make the error go away.
    I used a C6670 instead of C6678 version of qmss_device.c.
    (I also ran the GEL file)


    Now the console says:
     [C66xx_0] ******* Ethernet Single Core Example Start *******
     [C66xx_0] **************************************************
     [C66xx_0] QMSS successfully initialized


    The 6670 version of qmss_device.c has additional lines:

        /** Base queue number and Maximum supported AIF queues */
        {QMSS_AIF_QUEUE_BASE, QMSS_MAX_AIF_QUEUE},
        /** Base queue number and Maximum supported FFTC A queues */
        {QMSS_FFTC_A_QUEUE_BASE, QMSS_MAX_FFTC_A_QUEUE},
        /** Base queue number and Maximum supported FFTC B queues */
        {QMSS_FFTC_B_QUEUE_BASE, QMSS_MAX_FFTC_B_QUEUE},
        /** Base queue number and Maximum supported FFTC C queues */
        {QMSS_FFTC_C_QUEUE_BASE, QMSS_MAX_FFTC_C_QUEUE},
        /** Base queue number and Maximum supported BCP queues */
        {QMSS_BCP_QUEUE_BASE, QMSS_MAX_BCP_QUEUE},

    Greg Reuter

  • That is strange. The lines you mentioned are not there in the shannon doesn't have those accelerators. Can you try again with the original qmss_device.c?

     

    Thanks,

    Arun

  • Hi Arun,

    I switched it back and I get error -137 again.

    Maybe I should be using .h files that come with the .c files, not those supplied with emacExample.

    There is a qmss_types.h stored in emacExample and a different one stored in qmss (where qmss_device.c is).
    There is a cppi_types.h stored in emacExmple and a different one stored in cppi (where cppi_device.c is). 

    I will try some experiments.

    Greg Reuter

  • Hi Arun,

    I think I found a problem.

    In properties-build-XDCtools-Package Repositories, I saw "${TI_PDK_C6670_INSTALL_DIR}/packages" followed by "${TI_PDK_C6678_INSTALL_DIR}/packages".  I deleted the 6670 entry and now QMSS and CPPI initialize.

    [C66xx_0] **************************************************
    [C66xx_0] ******* Ethernet Single Core Example Start *******
    [C66xx_0] **************************************************
    [C66xx_0] QMSS successfully initialized
    [C66xx_0] CPPI successfully initialized
    [C66xx_0] Error opening a PA Command Response queue
    [C66xx_0] PASS init failed

    Does that make sense?

    Greg Reuter

  • Hi Arun,

    It is running now.  I deleted the emacExample project and started new.  After clicking  File-New-Project, I unchecked MCSDK_PDK_TMS320C6670.

    Thanks for your help and patience.

    Greg Reuter

  • Hi Greg,

    Now it makes sense. thanks for updating. please let us know if you have any new issues.

    Thanks,

    Arun.