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.

mcsdk internal hyperlink test fail

To whom might concern,
we got problem for internal hyperlink test program for C6678 EVM board.

  1. use C:\Program Files (x86)\Texas Instruments\pdk_C6678_1_0_0_11\packages\ti\drv\exampleProjects\hyplnk_exampleProject
  2. some c6678 EVM can pass the hyperlink test program but some c6678 EVM can not pass it.
  3. When C6678 EVM failed to hyperlink test program, CCS will lose connecting with C6678 DSP. 
  4. If we push reset bottom on C6678 EVM board and reconnect C6678 DSP by CCS, we can load and run the hyperlink.
  5. The failed C6678 EVM for hyperlink test program, can pass the hyperlink test program after step 3 and step 4.
We tried several C6678 EVMs and the issue seems not only for single EVM board. Could you please help us to check the internal hyperlink test program from mcsdk_2_00_00_11, please?
Thank you for your help.
Sungyi

  • Hi Sungyi,

    Is their any difference in versions between the EVMs you are trying? I can try out in my setup and will let you know my results. Since it is working in few cases, I am not sure it will be the example problem.

     

    Thanks,

    Arun.

  • There may be problem with the SERDES configuration.  In a future version of the example, the configurations will change from

      #define hyplnk_EXAMPLE_VUSR_RX_CONFIG 0x440485
      #define hyplnk_EXAMPLE_VUSR_TX_CONFIG 0x440485

    to

      #define hyplnk_EXAMPLE_VUSR_RX_CONFIG 0x0046c485
      #define hyplnk_EXAMPLE_VUSR_TX_CONFIG 0x000cc305

    Can you see if this has any effect on the result?

    If it still fails, try the following sequence

    Once: Set your boot mode dip switch to "no boot/EMIF16".

    Once per target launch:
    Load the GEL file "c:\Program Files\Texas Instruments\ccsv5\ccs_base_5.0.3.00025\emulation\boards\evmc6678l\gel\evmc6678l.gel"

    1.   Right clock on "Texas Instruments XDS100v1 USB Emulator_0/C66xx_0", choose "open gel files view".
    2.   Right click on the table that appears under "Gel Files (TMS320C66XX)" and choose "Load GEL..."


    Once per run:

    1. Disconnect core (if its not already disconnected)
    2. perform "system reset"
    3. Connect core
    4. The GEL should automatically run

    If the GEL file prints:
      No initialization performed since bootmode = (some number here)
      You can manually initialize with GlobalDefaultSetup
    then the boot mode isn't set to "no boot/EMIF16"

    Now load and run the hyperlink test program.

    By carefully following these steps, it ensures we are both doing the same sequence so we can reproduce the problem.

  • HI John,

            I have a board on which there are two C6678 DSPs. I want to transfer data from C6678_A to C6678_B

    through hyperlink interface. I found a project named

    hyplnk_exampleProject, which located at  C:\ ti \pdk_C6678_1_0_0_17 \packages \ti \drv \exampleProjects

    \hyplnk_exampleProject.

    1 .     I want to test hyperlink interface on a single C6678 EVM first,so I ran the project  following the

    steps you posted. But the console window showed the following messages:

    Version # : 0x01000103;   string HYPLNK LLD Revison : 01.00.01.03

    About to do system setup( PLL , PSC ,and DDR)

    Power domain is already enabled. You probaly re_ran without device reset(which is OK)

    Constructed SERDES configs: PLL = 0x00000228 ; RX = 0x0046c485 ; TX = 0x000cc305;

    System setup worked.

    About to set up hyperlink peripheral

    =============begin registers before initialization====================

    Revision register contents:

    Raw = 0x4e901900

    Status register contents:

    Raw = 0x00002004;

    Link status register contents:

    Raw = 0x00000000;

    Control register contents:

    Raw = 0x00000001;

    Control register contents:

    Raw = 0x00000000;

    =================end registers before initialization===================

    Waiting for other side to come up(    0);

     SERDES_STS(32 bits)contents: 0x03060d1b; lock = 1

    Waiting for other side to come up(    1);

    Waiting for other side to come up(    2);

    Waiting for other side to come up(    3);

    .......

    Waiting for other side to come up(    25);

    Waiting for other side to come up(    26);

    ......

        The redme.txt in the project folder says ,"This example can use hyperlink either in loopback mode on a

    single board,

    or peer to peer with a second device or board". But when i saw the message,"Waiting for other side to come up(

       n)", I knew the test has failed.

    I think i have missed something or i have made some mistake. Please help me.

    2.     When I try to transfer data from C6678_A to C6678_B through hyperlink on my own board, I am confused of

    the following issue.

    The project ,hyplnk_exampleProject ,should be run only in C6678_A or in two DSPs? If the latter is the

    answer,then two DSPs must run simultaneously,right?

    Are there any codes needing to be changed in the project?

    Best Regards,

    Nuoxi