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 Init sequence from Bootloader

I am planning on doing a 2 Stage bootload sequence on a C6678 installed on a custom board and have some questions about the SRIO Driver and initialization sequence as it related to the different boot stages.

The first boot stage will be a EMIF16 bootloader (Non Sys/BIOS project) which will be responsible for (PLL, DDR, and SRIO Initialization) after which our primary program will be pushed over SRIO in a similar manner to the srio boot example included with the MCSDK. The SRIO Initialization code in our main DSP Program is based off the example in  pdk_C6678_1_1_2_6\packages\ti\drv\srio\example\SRIOMulticoreLoopback


Now for the questions -

After initializing the second time SRIO only works in one direction, ie our Host can read/write DSP Address space via SRIO, but any attempt to read/write to the host from the DSP failed and always returns 0. Because we have a Port OK, and SRIO works one way this seems like a problem with the SRIO Driver initialization in Sys/Bios.

The way I have this setup we are actually initializing SRIO twice, once from the EMIF program then (Like GEL File, no CSL or Bios) then again in our Sys/Bios project (Like PDK example). What is the proper method/approach to initializing SRIO from a EMIF Bootloader followed by the SRIO Driver from a Sys/Bios project so we can use Srio_socksSend_DIO?

  • Hi,

    Please refer the MCSDK SRIO Boot example code and implement the SRIO Initialization code for primary program load over SRIO boot.
    MCSDK Path: \ti\mcsdk_2_01_xx_xx\tools\boot_loader\examples\srio\srioboot_example

    Also refer the Bootloader user guide document for SRIO Bootloader Operation and Initialization Process.

    Thanks,