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.

SRIO Issues on EVM6678

I can't seem to get any of the example projects to run successfully on the EVM6678 evaluation kit. I've stripped down the loopback test included with the MCSDK beta 2 to just the blocking test and running it on a single core. This results in the producer task finishing, but the consumer task hanging. I've tried some of the other test projects and some code of my own all with similar results. Are there known problems with these test projects? Also, are there any simpler test programs for SRIO on the 6678?

Much thanks

 

 

  • Chris,

    Which example are you running?  Is it the SRIO_LoopbackTestProject example in PDK?

    Also, i'm assuming you're using pdk_C6678_1_0_0_9_beta2?

    Justin

  • Yes, that's correct

    - Chris

  • I'll bring up the example here and see if I can help you work through the issues.

    Some initial questions and suggestions:

    Did you change anything in the device_srio_loopback.c?  If you don't have an AMC breakout board or chassis you'll have to run SRIO in loopback mode.  The device_srio_loopback.c is already preconfigured for loopback so you should be fine, I'm just double checking.

    Also, are you using the latest GEL file provided with the latest CCS release?  You should run the GEL's global_init on at least one core you've connected to prior to loading the test image.

    You can refer to the following thread for the latest GEL.

    http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/p/111439/400467.aspx#400467

    Sometimes I've seen issues with system interrupts if you don't do a CPU reset in CCS prior to loading your image to clear the IER register.  This would have a direct effect on SRIO since it ties up interrupts on the receiving side to QMSS queues.

    Try this startup procedure:

    1.  Start up the board and connect to the cores (4 for the SRIO example)

    2.  Perform a CPU reset for each core

    3.  Load the latest GEL on core 0.  To load the GEL, right click on core0 and select 'Open GEL Files View".  A new tab will open, right click in the right window within the tab and select 'Load GEL...'.  navigate and select the GEL.

    4.  Run the GEL's global init function.  Highlight core0.  Under the scripts menu...  Scripts->EVMC6678L Init Functions->Global_default_setup

    5.  Load the SRIO example on all four cores

    6.  Run the example.

     

    Justin

  • I was just able to build and run both examples succesfully:

     

    C:\Program Files\Texas Instruments\pdk_C6678_1_0_0_9_beta2\packages\ti\drv\exampleProjects\SRIO_MulticoreLoopbackexampleProject

    C:\Program Files\Texas Instruments\pdk_C6678_1_0_0_9_beta2\packages\ti\drv\exampleProjects\SRIO_LoopbackTestProject

     

    It wasn't as apparent that the LoopbackTestProject also needed to be run on all four cores (cores 0 -3), but once you do that there shouldn't be any problem.  And as Justin mentioned, don't forget to point to the gel:

    C:\Program Files\Texas Instruments\ccsv5\ccs_base_5.0.3.00022\emulation\boards\evmc6678l\gel\evmc6678l.gel

     

    Regards,

    Travis

  • Chris,

    Make sure you run the GEL on all four cores.  In my previous response I said to only run it on core 0.  You'll need to run it on the other three cores as well in order to setup their cache.

    Justin

  • Thank you for the help. Everything is working great now.

    - Chris