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?