Hi.
I am using the EVM C6474 by Spectrum Digital, and I am new to the C64x+ Multicore architechture as well as SRIO.
I have been trying to use the SRIO example project in the latest C6474 CSL (i.e. "srio_evm_dio_example") to send simple 256k packets from one DSP to the other through Port 1 using the DirectIO method. However, the project seems to be hugely unstable. It only runs successfully every 2 out of 5 tries (and I have done the load/run procedure many, many times...) When it stalls, it usually stalls when both processors are attemting to initialize their ports (i.e. When both DSP's STDOUT windows display: "Debug: Waiting for SRIO Port 1 to be initialized.."). Moreover, when the project does run successfully, only the source processor stdout window displays an output as follows:
Debug: Waiting for SRIO Port 1 to be initialized
Debug: SRIO Port 1 has been initialized...
Debug: Starting Transfer 1 on SRIO Port 1
Error: Port 1 has Input/Output Error... clearing
Debug: SRIO Transfer 1 was completed...
Debug: Starting Transfer 2 on SRIO Port 1
Debug: SRIO Transfer 2 was completed...
Debug: Starting Transfer 3 on SRIO Port 1
Debug: SRIO Transfer 3 was completed...
Debug: Starting Transfer 4 on SRIO Port 1
Debug: SRIO Transfer 4 was completed...
Debug: Starting Transfer 5 on SRIO Port 1
Debug: SRIO Transfer 5 was completed...
Debug: Starting Transfer 6 on SRIO Port 1
Debug: SRIO Transfer 6 was completed...
Debug: Starting Transfer 7 on SRIO Port 1
Debug: SRIO Transfer 7 was completed...
Debug: Starting Transfer 8 on SRIO Port 1
Debug: SRIO Transfer 8 was completed...
Debug: Starting Transfer 9 on SRIO Port 1
Debug: SRIO Transfer 9 was completed...
Debug: Starting Transfer 10 on SRIO Port 1
Debug: SRIO Transfer 10 was completed...
Debug: Write CMD Test Passed
I am worried about the highlighted message above, which does not seem right to me, and I dont really know what it means, due to the high level nature of the CSL API's and reference guide. The target processor also, NEVER displays anything other than: "Debug: Waiting for SRIO Port 1 to be initialized", although the code for this DSP clearly indicates that there should be more output messages when successful, which to me is a further indication that there is instability in the app. I have made sure to follow the correct load and run procedures of loading and running the target first (i.e. DSP2, core 0), followed by the source (i.e. DSP1, core 0).
Lastly, the running of this app also causes BOTH DSP's to stall after each run (whether successful or not), and the ONLY way of getting to try again, is to perform a hard reset of the board (or a power cycle), which off course is not ideal.
The following thread seems to point out that there might be an L2 memory violation due to an insufficient memory map setup (in the .cmd file etc.), but I have tried following the advice in this discussion without any success:
http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/439/p/12465/48817.aspx#48817
Anyone else having this same issue? Anyone out there with advice?
I have attached the .cmd and .GEL files used in both source and target processor for clarity (in zip format). I am suspicious about the .gel file that came with the board, since it has memory map sections that does not correspond with hardware on the C6474 (for example, UTOPIA). Can someone verify whether these memory configs are correct?
Estian.