Hi,
We have a C6455 EVM to check the SRIO program. We use the example program 'master_slave' and modify it to 1x mode. It works well on the EVM. But when I run the same program on our C6455 board, it fails. I find out that:
1, It fails during the SRIO nitialization, that is the SRIO link can't handshake. It loops the following code. Also, if I run the SLAVE DSP before the MASTER DSP , the SLAVE will fail to pass the loop code and the MASTER DSP can pass. If I run the MASTER DSP before the SALVE DSP, the MASTER will fail to pass the loop code and the SLAVE DSP can pass. Who runs first, who die!
do {
status = CSL_srioHwSetup (hSrio, &setup);
if (status != CSL_SOK) {
printf("SRIO: ... Hardware setup, failed\n");
return;
}
delay(100000);
CSL_srioGetHwStatus (hSrio, CSL_SRIO_QUERY_SP_ERR_STAT, &response);
} while(response.data & 0x1);
2,The SRIO CLK on the EVM is 25MHz vs. our board 156.25MHz;
3,The EVM is point to point connected via 4x SRIO vs.our board via 1x SRIO, there 4 DSPs on our board interconnected via SRIO.
4,I can't find other difference.
But WHY the SAME code can't run on our board?
I hope to get your message!
Thanks.
Ma Yongfeng .