I have a C6474 evm board with two seperate CPU that are connected together through SRIO Port 1. I have found a pretty nice example of doing Direct I/O using the CSL API that I understand pretty much everything in it now (at a high level of course). One thing that I don't quite understand is this section of code...
for(index=0; index<0x10000; index++) {
/* Configure the LSU1 and start transmission */
lsu_no = SELECTED_LSU;
CSL_srioLsuSetup (hSrio, &lsu_conf, lsu_no);
/* Wait for the completion of transfer */
response.index = lsu_no;
do {
CSL_srioGetHwStatus (hSrio, CSL_SRIO_QUERY_LSU_BSY_STAT, &response);
}while(response.data == 1);
}
Notice the for loop goes 0x10000 times. I figured this meant that it was sending the message 0x10000 times. So when I removed the for loop (or reduced it to 1) the transfer is never received on the Target side. Anybody have any insight on why the transfer wouldn't make it across the link without sending it a couple times. I've noticed that I can reduce the for loop to 5 times and then it will make it but anything less it doesn't.
Thanks,
Josh